Releases: cloudposse/atmos
v1.148.1
add stores and hooks
## whatAtmos now supports the ability to use stores
to share data among components as well as external sources.
- Add the concept of stores for reading shared data
- Add the concept of hooks for writing data to stores after
terraform apply
- Add a new store for artifactory
- Add a new store for AWS SSM Parameter Store
why
When decomposing large terraform modules (terraliths) into smaller components with a smaller blast radius, it often brings a need to share data (outputs) of one component in another component. Previously atmos supported the !terraform.output
and other data sources for this purpose, but the performance and security context made this task difficult. As a result, we implemented stores and [hooks] to solve this problem.
references
v1.148.0
Colorize `atmos describe` commands output when TTY is attached @Cerebrovinny (#919)
what
- Colorize
atmos describe
commands output when TTY is attached - Added syntax highlighting configuration for terminal outputs
- Introduced customizable settings for terminal display, including line numbers and color styles
- Enhanced configuration options for YAML and JSON output formatting
why
- Improve UX
test
v1.147.0
Validate Atmos Log Levels @Cerebrovinny (#930)
what
- Validate Atmos Log Levels
- Error if invalid log level is set via the
ATMOS_LOGS_LEVEL
ENV variable or inatmos.yaml
why
- Don't accept invalid log levels
v1.146.3
🚀 Enhancements
Improve `atmos vendor pull` error messages @samtholiya (#940)
what
- Improve
atmos vendor pull
error messages - Improved error messaging for vendor configuration, providing clearer guidance when vendoring is not set up
- Enhanced error message includes a link to vendoring setup documentation
why
- Old error message was not helpful
v1.146.2
🚀 Enhancements
[Vendor] Print error message when an error occurs during installation of the last vendored component @ohaibbq (#936)
what
- Add an error message to the output of
atmos vendor pull
for the last component in a vendor manifest
why
- Improved package installation error reporting by displaying more detailed error messages during the installation process.
v1.146.1
🚀 Enhancements
Bump github.com/aws/aws-sdk-go-v2/config from 1.28.9 to 1.28.10 @dependabot (#932)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.28.9 to 1.28.10.Commits
7a7d202
Release 2025-01-10fdaa7e2
Regenerated Clients52aba54
Update endpoints model7263a7a
Update API model- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
🤖 Automatic Updates
Bump github.com/aws/aws-sdk-go-v2/config from 1.28.9 to 1.28.10 @dependabot (#932)
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.28.9 to 1.28.10.Commits
7a7d202
Release 2025-01-10fdaa7e2
Regenerated Clients52aba54
Update endpoints model7263a7a
Update API model- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
v1.146.0
Configure and use GitHub auth token when executing `atmos vendor pull` commands @Listener430 @aknysh (#912)
what
- Use GitHub token when executing
atmos vendor pull
commands - Intorduce environment variables
GITHUB_TOKEN
andATMOS_GITHUB_TOKEN
to specify a GitHub Bearer token for authentication in GitHub API requests - Add custom GitHub URL detection and transformation for improved package downloading
why
- When pulling from private GitHub repos, GitHub has a rate limit for anonymous requests (which made
atmos vendor pull
fail when vendoring from private GitHub repositories)
description
In the case when either the ATMOS_GITHUB_TOKEN
or GITHUB_TOKEN
variable is configured with a GitHub Bearer Token, vendor files are downloaded with go-getter
using the token. The token is put into the URL, and the requests to the GitHub API are not affected to anonymous users rate limits
test
github.com/analitikasi/Coonector.git
is a private repo
- component: "weather"
source: "github.com/analitikasi/Coonector.git//quick-start-simple/components/terraform/{{ .Component }}?ref={{.Version}}"
version: "main"
targets:
- "components/terraform/{{ .Component }}/{{.Version}}"
tags:
- demo
v1.145.0
Support Component Lock with `metadata.locked` @milldr (#908)
what
-
Added support for
metadata.locked
with components -
Separate atmos CLI tests into many files:
tests/test_cases.yaml
-->tests/test-cases/*.yaml
why
- The
metadata.locked
parameter prevents changes to a component while still allowing read operations. When a component is locked, operations that would modify infrastructure (liketerraform apply
) are blocked, while read-only operations (liketerraform plan
) remain available. By default, components are unlocked. Settingmetadata.locked
totrue
prevents any change operations.
# Lock a production database component to prevent accidental changes
components:
terraform:
rds:
metadata:
locked: true
vars:
name: production-database
v1.144.0
Embed JSON Schema for validation of Atmos manifests inside Atmos binary @aknysh (#925)
what
- Embed the JSON Schema for validation of Atmos manifests inside Atmos binary
- Update docs
why
- Embedding the JSON Schema inside the Atmos binary allows keeping the Atmos code and the schema in sync, and does not force users to specify JSON Schema in
atmos.yaml
and monitor it when it needs to be updated
description
Atmos uses the Atmos Manifest JSON Schema to validate Atmos manifests, and has a default (embedded) JSON Schema.
If you don't configure the path to a JSON Schema in atmos.yaml
and don't provide it on the command line using the --schemas-atmos-manifest
flag, the default (embedded) JSON Schema will be used when executing the command atmos validate stacks
.
To override the default behavior, configure JSON Schema in atmos.yaml
:
-
Add the Atmos Manifest JSON Schema to your repository, for example in
stacks/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
-
Configure the following section in the
atmos.yaml
# Validation schemas (for validating atmos stacks and components)
schemas:
# JSON Schema to validate Atmos manifests
atmos:
# Can also be set using 'ATMOS_SCHEMAS_ATMOS_MANIFEST' ENV var, or '--schemas-atmos-manifest' command-line arguments
# Supports both absolute and relative paths (relative to the `base_path` setting in `atmos.yaml`)
manifest: "stacks/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json"
# Also supports URLs
# manifest: "https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json"
- Instead of configuring the
schemas.atmos.manifest
section inatmos.yaml
, you can provide the path to
the Atmos Manifest JSON Schema file by using the ENV variableATMOS_SCHEMAS_ATMOS_MANIFEST
or the--schemas-atmos-manifest
command line flag:
ATMOS_SCHEMAS_ATMOS_MANIFEST=stacks/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json atmos validate stacks
atmos validate stacks --schemas-atmos-manifest stacks/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
atmos validate stacks --schemas-atmos-manifest https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json
Summary by CodeRabbit
-
Configuration Updates
- Enhanced schema configuration flexibility in
atmos.yaml
- Added support for remote and embedded JSON schema locations
- Enhanced schema configuration flexibility in
-
Documentation Improvements
- Updated CLI command documentation for stack validation
- Added new sections explaining validation processes and schema management
- Clarified usage of URLs for schema manifests in documentation
-
Testing
- Added new test for JSON schema validation
v1.143.0
Support Relative Path Imports @milldr (#891)
what
- Add support for relative paths in imports, when the path starts with
./
or../
- Support all path types:
import:
- ./relative_path
- ../relative_path
or
import:
- path: ./relative_path
- path: ../relative_path
why
- Allow less path duplication and support simpler code