Skip to navigation

ast blueprint

Build, push, deploy, and manage blueprints in the registry
View as Markdown

Manage blueprints in the active account.

ast blueprint <subcommand>

blueprint list

ast blueprint list [--archived] [--json]

--archived lists archived blueprints instead of active ones.

blueprint get

ast blueprint get <name> [--json] [--card] [--template]

--card shows the agent description. --template shows the deployment variables and secrets the blueprint expects.

blueprint deploy

Deploy a blueprint as a new agent. Alias: ast deploy <name>. Omit <name> in a project directory to deploy the blueprint named in astropods.yml.

ast blueprint deploy <name> [flags]
ast deploy <name> [flags]

The deploy prints the environment the agent runs in.

FlagDescription
-n, --name <display-name>Display name for the deployment
--env <name>Environment to deploy into; it must have no agent. Defaults to the blueprint’s oldest environment with no agent, or a new one
--adapter web|insecure-web|slackAdapter to enable (repeatable); defaults to web with auth
--var KEY=VALUEInline variable; KEY=@SECRET_NAME resolves from the vault; KEY=@ uses the key name as the secret name
--vars-file <file>Load variables from a .env file
--schedule <job>=<cron>Cron expression for a scheduled job (repeatable)
--build <id>Pin to a specific build ID
--cluster <id>Cluster to deploy to. Defaults to your account’s default cluster. On an account with more than one cluster, omitting the flag prompts you to pick one
--dry-runValidate inputs without deploying
--waitWait until the public Launch URL is ready before returning
--jsonPrint JSON output on success

Schedule a job

A blueprint declares that a job runs on a schedule; you set when at deploy time. On a first deploy, every job with trigger: {type: schedule} needs a --schedule flag, or the deploy fails validation with cron expression required for schedule trigger.

ast deploy my-agent --schedule docs_sync="*/15 * * * *"

Repeat the flag for each job:

ast deploy my-agent \
--schedule docs_sync="*/15 * * * *" \
--schedule metrics_rollup="0 9 * * 1"

Use a standard five-field cron expression: minute, hour, day of month, month, day of week. Seconds and descriptors such as @daily are not accepted. The server rejects an invalid expression, so a typo surfaces after the request, not before it.

A redeploy keeps the cadence it already has, so pass agent redeploy a --schedule only for the jobs you want to change. See Ingestion for how to declare the job itself.

blueprint build

Build the container image for a blueprint. Alias: ast build.

ast blueprint build [name] [flags]
ast build [name] [flags]

If [name] is omitted, the name is read from astropods.yml.

FlagDescription
-f, --file <path>Path to spec file (default: astropods.yml)

blueprint push

Build and push to the registry. Alias: ast push.

ast blueprint push [name] [flags]
ast push [name] [flags]

The [name] argument sets the blueprint name in the registry and overrides the name field in astropods.yml. If omitted, the name is read from astropods.yml. Pushing to an archived blueprint restores it.

FlagDescription
-V, --visibility public|privateSet blueprint visibility (default: private)
--no-buildSkip building the container image before pushing
--allow-account-overridePush under the active account even if the spec name has a different account prefix
-f, --file <path>Path to spec file (default: astropods.yml)
-y, --yesSkip confirmation prompts

blueprint archive

Archive a blueprint so it no longer appears in listings.

ast blueprint archive <name>

blueprint set

Update settings on an existing blueprint.

ast blueprint set <name> [-V|--visibility public|private]
FlagDescription
-V, --visibility public|privateSet blueprint visibility

Next steps