Skip to content

docs: add App specification#67

Open
dido18 wants to merge 28 commits intomainfrom
app-specification
Open

docs: add App specification#67
dido18 wants to merge 28 commits intomainfrom
app-specification

Conversation

@dido18
Copy link
Copy Markdown
Contributor

@dido18 dido18 commented Nov 12, 2025

Motivation

closes #364
The app-specification.md is the single source of truth of the app.

Change description

Additional Notes

Reviewer checklist

  • PR addresses a single concern.
  • PR title and description are properly filled.
  • Changes will be merged in main.
  • Changes are covered by tests.
  • Logging is meaningful in case of troubleshooting.

@per1234 per1234 added documentation Improvements or additions to documentation enhancement New feature or request labels Nov 12, 2025
@mirkoCrobu mirkoCrobu marked this pull request as ready for review January 30, 2026 10:05
@mirkoCrobu mirkoCrobu requested a review from stevisco February 6, 2026 16:28
Copy link
Copy Markdown
Contributor

@lucarin91 lucarin91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you run task fmt

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 18, 2026

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Contributor Author

@dido18 dido18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove the numbers from the headline.

As a general structure, I would adhere to other specifications:

@dido18 dido18 removed their assignment Mar 30, 2026
Comment on lines +137 to +138
The `app.yaml` supports the use of **Secrets** within the Brick `variables` map to handle sensitive information, such as database passwords.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how to define a secret variable ? we could give example

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

variables:
  - name: API_KEY
    description: API Key 
    secret: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this struct just for the brick-list?
and in the app.yaml is:
arduino-app-cli/internal/orchestrator/app/testdata/complex-app.yaml at main · arduino/arduino-app-cli

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do you think?
looking at the code it seems works like this:
Some Bricks define certain variables as secrets. This is declared in the Brick's own definition, not in the app.yaml.
In the app.yaml, the user sets the value of a secret variable exactly like any other variable, using the standard variables map.
Automatic Redaction: When an App is exported, the values of variables marked as secret in the Brick definition (within app.yaml) are automatically redacted (set to empty). This ensures that the App bundle can be safely shared without leaking credentials or private keys.

Comment on lines +152 to +154
variables:
secret: "secret.db_password"
ports: "8080"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not true, secret is a boolen field

Suggested change
variables:
secret: "secret.db_password"
ports: "8080"
variables:
secret: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from tests:
[arduino-app-cli/internal/orchestrator/app/testdata/complex-app.yaml at main · arduino/arduino-app-cli](https://github.com/arduino/arduino-app-cli/blob/main/internal/orchestrator/app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants