Skip to main content

atmos list settings

Use this command to list component settings across all stacks in a comparison table. View how settings vary between environments to quickly spot configuration differences and validate consistency.

atmos list settings --help

Usage

atmos list settings [flags]

Description

The atmos list settings command helps you inspect component settings across different stacks. It provides a tabular view where:

  • Each column represents a stack (e.g., dev-ue1, staging-ue1, prod-ue1)
  • Each row represents a key in the component's settings
  • Cells contain the settings values for each key in each stack (only scalars at this time)

The command is particularly useful for:

  • Comparing component settings across different environments
  • Verifying settings are configured correctly in each stack
  • Understanding component configuration patterns across your infrastructure

Flags

--query string
Dot-notation path query to filter settings (e.g., .settings.templates). Uses a simplified path syntax, not full JMESPath.
--max-columns int
Maximum number of columns to display (default: 50)
--format string
Output format: table, json, yaml, csv, tsv (default: table)
--delimiter string
Delimiter for csv/tsv output (default: , for csv, \t for tsv)
--stack string
Filter by stack by wildcard pattern (e.g., *-dev-*, prod-*, *-{dev,staging}-*)
--identity / -i (optional)
Authenticate with a specific identity before listing settings.
This is required when stack configurations use YAML template functions
(e.g., !terraform.state, !terraform.output) that require authentication.
atmos list settings --identity my-aws-identity

Can also be set via ATMOS_IDENTITY environment variable.

Examples

List all settings:

atmos list settings

List settings for specific stacks:

# List settings for dev stacks
atmos list settings --stack '*-dev-*'

# List settings for production stacks
atmos list settings --stack 'prod-*'

List specific settings using path queries:

# Query template settings
atmos list settings --query '.settings.templates'

# Query validation settings
atmos list settings --query '.settings.validation'

# Query specific template configurations
atmos list settings --query '.settings.templates.gomplate'

Output in different formats:

# JSON format for machine processing
atmos list settings --format json

# YAML format for configuration files
atmos list settings --format yaml

# CSV format for spreadsheet compatibility
atmos list settings --format csv

# TSV format with tab delimiters
atmos list settings --format tsv

Custom Column using Stack Name

You can use available variables like .stack_name in your column definitions:

# In atmos.yaml, under the appropriate scope (values, vars, settings, or metadata)
list:
columns:
- name: "Stack"
value: "{{ .stack_name }}"
- name: "Setting"
value: "{{ .key }}"
- name: "Value"
value: "{{ .value }}"

Example Output

> atmos list settings
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ │ dev-ue1 │ staging-ue1 │ prod-ue1 │
├──────────────┼──────────────┼──────────────┼──────────────┤
│ templates │ {...}{...}{...}
│ validation │ {...}{...}{...}
└──────────────┴──────────────┴──────────────┴──────────────┘
tip
  • For wide tables, try using more specific queries or reduce the number of stacks
  • Stack patterns support glob matching (e.g., *-dev-*, prod-*, *-{dev,staging}-*)
  • Settings are typically found under component configurations