Loading...
Loading...
Toolchain management: install/exec/search/env commands, Aqua registry integration, version pinning, multi-tooling execution
npx skill4agent add cloudposse/atmos atmos-toolchain.tool-versionsterraform 1.9.8
opentofu 1.10.3
kubectl 1.28.0
helm 3.13.0
jq 1.7.1toolname version [version2 version3...]toolchain.file_path.tools/.tools/bin/{os}/{tool}/{version}/{binary}toolchain.install_pathATMOS_TOOLCHAIN_PATHregistries:
- name: aqua
type: aqua
source: https://github.com/aquaproj/aqua-registry/tree/main/pkgs
priority: 10registries:
- name: custom
type: atmos
priority: 150
tools:
owner/repo:
type: github_release
url: "asset_{{.Version}}_{{.OS}}_{{.Arch}}"
format: tar.gzregistries:
- name: corporate
type: aqua
source: file://./custom-registry.yaml
priority: 100toolchain:
aliases:
terraform: hashicorp/terraform
tf: hashicorp/terraform
kubectl: kubernetes-sigs/kubectltoolchain:
install_path: .tools # Where to install tools
file_path: .tool-versions # Path to version file
aliases:
terraform: hashicorp/terraform
tf: hashicorp/terraform
registries:
# Inline tools (highest priority)
- name: my-tools
type: atmos
priority: 150
tools:
jqlang/jq:
type: github_release
url: "jq-{{.OS}}-{{.Arch}}"
# Aqua registry (fallback)
- name: aqua
type: aqua
source: https://github.com/aquaproj/aqua-registry/tree/main/pkgs
priority: 10atmos toolchain install # Install all tools from .tool-versions
atmos toolchain install terraform@1.9.8 # Install specific tool and version
atmos toolchain uninstall terraform@1.9.8 # Remove installed tool
atmos toolchain clean # Remove all installed tools and cacheatmos toolchain add terraform # Add tool to .tool-versions (latest)
atmos toolchain add terraform@1.9.8 # Add with specific version
atmos toolchain remove terraform # Remove from .tool-versions
atmos toolchain set terraform 1.9.8 # Set default version
atmos toolchain get terraform # Get version from .tool-versionsatmos toolchain search terraform # Search across registries
atmos toolchain info hashicorp/terraform # Display tool configuration
atmos toolchain list # Show installed tools
atmos toolchain which terraform # Show full path to binary
atmos toolchain du # Show disk usageatmos toolchain exec terraform@1.9.8 -- plan # Run specific version
atmos toolchain env --format=bash # Export PATH for shell
atmos toolchain path # Print PATH entriesatmos toolchain registry list # List all registries
atmos toolchain registry list aqua # List tools in specific registry
atmos toolchain registry search jq # Search across registries| Variable | Description |
|---|---|
| GitHub token for higher API rate limits |
| Override .tool-versions file path |
| Override tool installation directory |
| Default format for |
~/.bashrc~/.zshrceval "$(atmos toolchain env --format=bash)"--format=fish--format=powershell--format=github| Variable | Description |
|---|---|
| Full version string |
| Version without 'v' prefix |
| Operating system (linux, darwin, windows) |
| Architecture (amd64, arm64) |
# atmos.yaml
toolchain:
aliases:
terraform: hashicorp/terraform
kubectl: kubernetes-sigs/kubectl
registries:
- name: aqua
type: aqua
source: https://github.com/aquaproj/aqua-registry/tree/main/pkgs
priority: 10# .tool-versions
hashicorp/terraform 1.9.8
kubernetes-sigs/kubectl 1.28.0
helmfile/helmfile 0.168.0# Install everything
atmos toolchain install
# Verify
atmos toolchain list# GitHub Actions
- name: Install tools
run: |
atmos toolchain install
eval "$(atmos toolchain env --format=github)"toolchain:
registries:
- name: internal
type: atmos
priority: 150
tools:
company/internal-tool:
type: github_release
url: "internal-tool_{{.Version}}_{{.OS}}_{{.Arch}}.tar.gz"
format: tar.gz
- name: aqua
type: aqua
source: https://github.com/aquaproj/aqua-registry/tree/main/pkgs
priority: 10github_contentgithub_archivego_buildcargoversion_filterversion_exprimportcommand_aliasestoolchain.aliasescosignminisignslsa_provenance