atmos stack
Create stack manifests, edit configuration, and plan, test, deploy, or destroy components across component types. Atmos finds the manifest that defines a value and edits it while preserving comments, anchors, and templates.
A value may come from an imported manifest shared by multiple stacks. Editing that manifest can affect every stack that imports it. Review the defining file before changing a value, or use --file to target a specific manifest.
Usage
atmos stack config get|set|delete|format|list is
the canonical command set. The flat commands documented below (get, set,
delete, format) are deprecated, hidden aliases of the matching stack config subcommand. They retain their existing behavior until a breaking release; stack delete does not yet remove manifests.
atmos stack config list lists editable configuration paths. Use
atmos stack list to list stacks,
atmos stack describe to inspect their resolved configuration,
and atmos stack instances to list component instances.
atmos stack list
atmos stack describe --stack dev
atmos stack instances --stack dev
atmos stack create --file stacks/deploy/dev.yaml
atmos stack plan --stack dev --component=network,app
atmos stack test --stack dev --component=network,app
atmos stack deploy --affected --stack dev --dry-run
atmos stack destroy --all --stack dev --dry-run
atmos stack config get <path> -s <stack> -c <component>
atmos stack config set <path> <value> -s <stack> -c <component> [--type <type>] [--file <manifest>]
atmos stack config delete <path> -s <stack> -c <component> [--file <manifest>]
atmos stack config format -s <stack> -c <component> [--file <manifest>]
atmos stack config list [path-pattern] -s <stack> -c <component> [--format <format>]
atmos stack schema [output-path]
atmos stack validate
Paths are component-relative (e.g. vars.region, settings.spacelift.workspace_enabled).
Subcommands
-
atmos stack list— alias ofatmos list stacks. -
atmos stack describe— alias ofatmos describe stacks. -
atmos stack instances— alias ofatmos list instances. -
atmos stack create— create a new manifest. -
atmos stack plan— run native component plans or diffs in dependency order. -
atmos stack test— run registered component tests in dependency order. -
atmos stack deploy— deploy registered component handlers in dependency order. -
atmos stack destroy— destroy current components in reverse dependency order. -
atmos stack config— the canonicalget/set/delete/format/listcommand set. -
atmos stack get— deprecated alias ofatmos stack config get: read a value and show where it resolves from. -
atmos stack set— deprecated alias ofatmos stack config set: set a value in the manifest that defines it. -
atmos stack delete— deprecated alias ofatmos stack config delete: delete a value from the manifest that defines it. -
atmos stack format— deprecated alias ofatmos stack config format: format the manifest files that define a component. -
atmos stack schema— print the stack-manifest JSON Schema. -
atmos stack validate— validate stack manifests. Alias ofatmos validate stacks.
Examples
# Read a value and see which manifest defines it.
atmos stack config get vars.region -s plat-ue2-prod -c vpc
# Set the value in the file that currently provides it.
atmos stack config set vars.region us-west-2 -s plat-ue2-prod -c vpc
# Target a specific manifest explicitly (also used to create new keys).
atmos stack config set vars.new_flag true --type=bool -s plat-ue2-prod -c vpc --file stacks/deploy/prod.yaml
# Format the manifest files that define a component.
atmos stack config format -s plat-ue2-prod -c vpc
# List every editable path for a component (canonical form only, no flat alias).
atmos stack config list -s plat-ue2-prod -c vpc
# Print the stack-manifest JSON Schema.
atmos stack schema
How file resolution works
For set and delete, Atmos describes the component with provenance tracking and
looks up the source file of the effective (post-merge) value. When a value is not
defined anywhere, or is inherited from a base component under a different key, the
command reports where the value resolves and asks you to pass --file to choose the
manifest explicitly.