aspire secret command
aspire secret - Manage AppHost user secrets.
Synopsis
Section titled “Synopsis”aspire secret [command] [options]Description
Section titled “Description”The aspire secret command manages user secrets for an Aspire AppHost project. User secrets provide a safe way to store sensitive configuration values—such as passwords, API keys, and connection strings—outside of your project files during local development.
Aspire uses user secrets to persist values that resources need across restarts, such as auto-generated passwords for database containers. When you add a persistent resource that requires a password, Aspire automatically initializes user secrets for the AppHost and saves the generated password. On subsequent runs, the saved password is reused so that the resource retains its state.
The Aspire CLI uses the following logic, in order, to determine which AppHost project to process:
-
The
--apphostoption.This option specifies the path to the Aspire AppHost project file to process.
-
The rooted
aspire.config.jsonfile.If the rooted config exists in the current directory, it’s used. If not, the CLI walks up the directory structure looking for it. If Aspire finds the rooted config, it uses the recorded AppHost information to determine which project to process. Legacy
.aspire/settings.jsonfiles are still read during migration. -
Searches the current directory and subdirectories.
Starting in the current directory, the CLI gathers all AppHost projects from that directory and below. If a single project is discovered, it’s automatically selected. If multiple projects are discovered, they’re printed to the terminal for the user to manually select one of the projects.
Once a project is selected, either automatically or manually, Aspire records that selection in the rooted configuration so later commands can reuse it.
Options
Section titled “Options”The following options are available:
-
--apphost <apphost>The path to the Aspire AppHost project file.
-
-?, -h, --helpPrints help and usage documentation for the available commands and options.
-
-l, --log-level <Critical|Debug|Error|Information|None|Trace|Warning>Set the minimum log level for console output. Use this option to increase diagnostics while troubleshooting or reduce output in scripted runs.
-
--non-interactiveRun the command in non-interactive mode, disabling all interactive prompts and spinners.
-
--nologoSuppress the startup banner and telemetry notice.
-
--bannerDisplay the animated Aspire CLI welcome banner.
-
--wait-for-debuggerWait for a debugger to attach before running a command.
Commands
Section titled “Commands”The following commands are available:
| Command | Function |
|---|---|
aspire secret set <key> <value> | Set a secret value. |
aspire secret get <key> | Get a secret value. |
aspire secret list | List all secrets. |
aspire secret delete <key> | Delete a secret. |
aspire secret path | Show the secrets file path. |
Examples
Section titled “Examples”-
Set a secret value for the current AppHost:
Aspire CLI aspire secret set Parameters:postgres-password MySecretPassword123 -
List all secrets for a specific AppHost:
Aspire CLI aspire secret list --apphost ./src/MyApp.AppHost/MyApp.AppHost.csproj -
Get the value of a specific secret:
Aspire CLI aspire secret get Parameters:postgres-password -
Show the path to the secrets file:
Aspire CLI aspire secret path