8000 Release v1.171.0 · cloudposse/atmos · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

v1.171.0

Compare
Choose a tag to compare
@cloudposse-releaser cloudposse-releaser released this 15 Apr 19:06
· 15 commits to refs/heads/main since this release
a62050b
Update `!store` YAML function. Introduce `atmos.Store` template function @aknysh (#1204)

what

why

!store YAML function

In the !store YAML function, allow using YQ Expressions to retrieve individual values

To retrieve individual values from complex types such as maps and lists, or do any kind of filtering or querying,
you can utilize YQ expressions.

For example:

  • Retrieve the first item from a list
subnet_id1: !store <store_name> <stack> <component> <key> | query .private_subnet_ids[0]
  • Read a key from a map
username: !store <store_name> <stack> <component> <key> | query .config_map.username

atmos.Store template function

The atmos.Store template function allows reading the values from a remote store (e.g. SSM Parameter Store, Artifactory, Redis, etc.) into Atmos stack manifests

For example, we can read the vpc_id output of the vpc component in the current stack from the SSM Parameter Store
configured in atmos.yaml as ssm simply by doing:

components:
  terraform:
    cluster:
      vars:
        vpc_id: '{{ atmos.Store "ssm" .stack "vpc" "vpc_id" }}'

To access the configuration of a component in a different stack, you can specify the stack name as the second argument.
For example, here we're reading the vpc_id output of the vpc component in the staging stack:

components:
  terraform:
    cluster:
      vars:
        vpc_id: '{{ atmos.Store "ssm" "staging" "vpc" "vpc_id" }}'
Enhance Atmos CLI: Add Support for Custom Base Path and Config Paths @haitham911 (#1091)

what

  • Introduce global command-line flags (--base-path, --config, and --config-path) to the Atmos CLI tool.
  • If the --config or --config-path flag is changed, Atmos will load configurations only from the specified paths.
  • The --config flag specifies an Atmos configuration file, such as dir1/config.yaml or dir2/config2.yaml, updating cli_config_path to dir1;dir2
  • The --config-path flag specifies directories containing Atmos configuration files. files names should be one of (atmos.yaml, .atmos.yaml,atmos.yml, .atmos.yml), such as dir3/ or dir4/, updating cli_config_path to dir3;dir4
  • Support handling multiple configurations from both --config and --config-path simultaneously
  • Integrate embedded configuration support

why

  • These changes make it easier to override Atmos settings dynamically—especially useful in automation, such as CI/CD pipelines and local testing. By specifying --config or --config-path
  • Load alternate configurations without modifying global settings.
  • Apply environment-specific settings for testing or deployments.
  • Manage multiple Atmos configurations .
  • Simplify local development by easily switching between configuration setups.
Refactor `go-getter` utility for better testability @samtholiya (#1146)

what

  • Refactor go-getter utility for better testability
  • github_token, bitbucket_token and gitlab_token can now be set via atmos configuration

why

  • Enables unit testing by allowing mocks
  • Makes the file download mechanism extensible without modifying core logic
0