Skip to main content

atmos config set

Set a value in your atmos.yaml configuration using a dot-notation path. The edit preserves comments, anchors/aliases, Atmos YAML functions, and Go templates.

atmos config set --help

Usage

atmos config set <path> <value> [--type <type>]

By default the value is written as a string. Use --type to write a typed scalar or a raw YAML literal.

Examples

# String value (default).
atmos config set logs.level Debug

# Typed values.
atmos config set --type=bool components.terraform.apply_auto_approve true
atmos config set --type=int components.terraform.parallelism 10

# Raw YAML literal (lists, maps).
atmos config set --type=yaml 'logs.exclude' '["a", "b"]'

# Target a specific file.
atmos config set logs.level Trace --config ./atmos.yaml

Arguments

<path> (required)
Dot-notation path to the value (e.g. logs.level).
<value> (required)
The value to set. Interpreted according to --type.

Flags

--type (string, default string)
How to interpret <value>: string, int, bool, float, null, or yaml (a raw YAML/yq literal inserted verbatim).
--config (string, inherited)
Target a specific atmos.yaml file instead of the one discovered in the current directory or git root.
note

Edits that would alter or expand a YAML anchor or alias (including changing a value shared by an anchor) are rejected to avoid silently mutating shared data, as are multi-document YAML files and files that define the same anchor name more than once. Comments, anchors, indentation width, and line endings (CRLF/LF) are preserved, but blank lines between entries are dropped and non-indented sequence styles are normalized when a file is edited.