Stacks Cheatsheet
Configuration
Folder Structure
├── atmos.yaml
├── components
│   └── myapp
│       ├── main.tf
│       ├── outputs.tf
│       └── variables.tf
└── stacks
    ├── catalog
    │   └── myapp.yaml
    └── deploy
        ├── dev.yaml
        ├── prod.yaml
        └── staging.yaml
Stack Schema
import:
- catalog/something
vars:
  key: value
components:
  terraform:
    $component:
      vars:
        foo: "bar"
Stack Overrides
terraform:
  overrides:
    env: {}
    settings: {}
    vars: {}
    command: "opentofu"
Spacelift Settings
terraform:
  components:
    $component:
      settings:
        spacelift:
          # The `autodeploy` setting was overridden with the value
          # from `terraform.overrides.settings.spacelift.autodeploy`
          autodeploy: true
          workspace_enabled: true
Commands
List Components
atmos list components
Validate Components
atmos validate component $component -s $stack
atmos validate component $component -s $stack --schema-type jsonschema --schema-path $component.json
atmos validate component $component -s $stack --schema-type opa --schema-path $component.rego
atmos validate component $component -s $stack --schema-type opa --schema-path $component.rego  --module-paths catalog
atmos validate component $component -s $stack --timeout 15