Introducing the Atmos Version Manager
Atmos now supports automatic version switching, making it easy to pin projects to specific Atmos versions and ensure consistency across teams.
What Changed
Atmos can now automatically switch to a specific version when running commands. This works through three mechanisms:
-
--use-versionflag: Run any command with a specific versionatmos --use-version 1.199.0 terraform plan -s mystack -
ATMOS_VERSIONenvironment variable: Set the version for all commandsexport ATMOS_VERSION=1.199.0
atmos terraform plan -s mystack -
version.usein atmos.yaml: Pin your project to a specific versionversion:
use: "1.199.0"
When a version is specified, Atmos will:
- Check if that version is installed
- Install it automatically if needed (using the toolchain installer)
- Re-execute itself with the specified version
Why This Matters
Team Consistency: Everyone on your team uses the same Atmos version, eliminating "works on my machine" issues.
CI/CD Reliability: Pin your pipelines to specific versions for reproducible builds.
Gradual Upgrades: Test new versions in development before rolling them out to production workflows.
How to Use It
The simplest approach is adding version.use to your atmos.yaml:
version:
use: "1.199.0"
Now every atmos command in that project will use version 1.199.0, regardless of which version is installed globally.
You can also combine this with Atmos profiles for environment-specific versions:
# .atmos.d/dev.yaml
version:
use: "1.201.0" # Latest in dev
# .atmos.d/prod.yaml
version:
use: "1.199.0" # Stable in prod
Get Involved
We'd love to hear how you're using version management in your workflows. Join the discussion on Slack or open an issue on GitHub.
