Use when troubleshooting Atmos configuration, deployment errors, or unexpected behavior. Covers debug logging, describing stacks/components, interpreting errors, and common issues with stack resolution and Atmos functions.
Techniques for troubleshooting Atmos configuration and deployment issues.
# See the fully-resolved YAML for a component
atmos describe component <component> -s <stack>
# Enable verbose debug logging
ATMOS_LOGS_LEVEL=debug atmos terraform plan <component> -s <stack>
# Validate all stack configurations
atmos validate stacks
# Reset local state and cache
atmos terraform clean <component> -s <stack>
The most powerful debugging tool is atmos describe stacks, which shows the final YAML after all imports, merges, and
inheritance:
# Describe all components in a stack (most useful for debugging)
atmos describe stacks -s plat-use2-dev
# Describe all stacks (very large output)
atmos describe stacks
# Describe a specific component in a stack
atmos describe component vpc -s plat-use2-dev
The output includes the fully-resolved configuration for each component:
metadata.component pointing to the right root module?!terraform.state expressions resolved?Use yq to filter the YAML output and extract specific information:
# Get vars for a specific component
atmos describe stacks -s plat-use2-dev | yq '.components.terraform.vpc.vars'
# Get all component names in a stack
atmos describe stacks -s plat-use2-dev | yq '.components.terraform | keys'
# Check a specific variable across components
atmos describe stacks -s plat-use2-dev | yq '.components.terraform.*.vars.enabled'
# Get backend config for a component
atmos describe stacks -s plat-use2-dev | yq '.components.terraform.vpc.backend'
To debug configuration before template/function processing, disable them:
# See raw config before Go templates are processed
atmos describe stacks -s plat-use2-dev --process-templates=false
# See config before Atmos functions (!terraform.state, etc.) are evaluated
atmos describe stacks -s plat-use2-dev --process-functions=false
# See completely raw config (no templates or functions)
atmos describe stacks -s plat-use2-dev --process-templates=false --process-functions=false
Use cases:
{{ }} expressions before evaluation!terraform.state expressions before they resolve!terraform.state lookups when debugging other issues!terraform.state require AWS access; disable to debug without auth| Command | Use When |
| ---------------------------------------------- | ---------------------------------------------------------------- |
| atmos describe stacks -s <stack> | Debugging a stack - see all components and their resolved config |
| atmos describe stacks -s <stack> \| yq '...' | Extract specific values from a stack |
| atmos describe stacks | Understanding full infrastructure (large output) |
| atmos describe component <comp> -s <stack> | Focused debugging of a single component |
Enable debug logging for detailed Atmos operations:
ATMOS_LOGS_LEVEL=debug atmos terraform plan <component> -s <stack>
Debug output includes:
!terraform.state, etc.)info (default) - Normal operationdebug - Detailed debugging informationtrace - Maximum verbosity (rarely needed)Error: stack 'xyz' not found
Debug:
# List available stacks
ls stacks/orgs/acme/
# Check stack file exists
cat stacks/orgs/acme/<tenant>/<stage>/<region>/<layer>.yaml
Common causes:
{tenant}-{region}-{stage})Error: component 'xyz' not found in stack
Debug:
# Check component exists in filesystem
ls components/terraform/
# Check component is configured in stack
atmos describe stacks -s <stack> | grep -A5 "xyz:"
Common causes:
Error: error evaluating !terraform.state: ...
Debug:
# Check the function syntax in your YAML
grep -r "!terraform.state" stacks/catalog/<component>/
# Verify the source component exists and has outputs
atmos describe component <source-component> -s <stack>
# Check if the source component has been deployed
atmos terraform plan <source-component> -s <stack>
Common causes:
For Atmos function syntax and patterns, see the atmos-functions skill.
Error: error configuring provider or AccessDenied
Debug:
# Check authentication is working
atmos auth login --provider acme-sso
# Verify identity resolution
ATMOS_LOGS_LEVEL=debug atmos terraform plan <component> -s <stack> 2>&1 | grep -i identity
For authentication issues, see the atmos-auth skill.
Problem: Variable has unexpected value
Debug:
# See the full resolved config
atmos describe component <component> -s <stack>
# Check catalog defaults
cat stacks/catalog/<component>/defaults.yaml
# Check stack overrides
cat stacks/orgs/acme/<tenant>/<stage>/<region>/<layer>.yaml
Inheritance order (later wins):
variables.tf)stacks/catalog/<component>/defaults.yaml)stacks/mixins/)stacks/orgs/acme/<tenant>/<stage>/_defaults.yaml)stacks/orgs/acme/<tenant>/<stage>/<region>/<layer>.yaml)Problem: Atmos behaving strangely, stale configuration
Fix:
# Clean local Terraform state and cache
atmos terraform clean <component> -s <stack>
# Then re-run
atmos terraform plan <component> -s <stack>
This removes:
.terraform/ directoryUse when:
Validate all stack configurations before deployment:
atmos validate stacks
This checks:
atmos describe stacks -s <stack> to see all resolved YAMLATMOS_LOGS_LEVEL=debug for detailed outputatmos terraform clean to reset stateatmos-auth skill if AWS errorsatmos-functions skill if !terraform.state errorsnpx skills add cloudposse/debugging-atmos下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer