atmos.yaml2.1 KB
View on GitHubbase_path: "./"
templates:
settings:
enabled: true
sprig:
enabled: true
gomplate:
enabled: true
components:
helmfile:
base_path: "components/helmfile"
use_eks: false
# Explicitly unset kubeconfig_path to prevent inheriting /dev/shm from repo root atmos.yaml
# The CI workflow sets KUBECONFIG env var directly
kubeconfig_path: ""
stacks:
base_path: "stacks"
included_paths:
- "deploy/**/*"
excluded_paths:
- "**/_defaults.yaml"
name_template: "{{.vars.stage}}"
logs:
file: "/dev/stderr"
level: Info
# Toolchain: Atmos installs the CLIs this example needs (no manual setup). Helmfile
# orchestrates Helm, and the nginx release's hooks shell out to kubectl, so all three
# are declared as component dependencies (see stacks/catalog/demo.yaml) and resolved
# from the Aqua public registry below.
toolchain:
install_path: .tools
versions_file: .tool-versions
aliases:
helmfile: helmfile/helmfile
helm: helm/helm
kubectl: kubernetes/kubectl
kustomize: kubernetes-sigs/kustomize
registries:
- name: aqua-public
type: aqua
source: https://github.com/aquaproj/aqua-registry/tree/main/pkgs
priority: 10
# Custom CLI commands
# No arguments or flags are required
commands:
- name: "test"
description: "Bring up the local Kubernetes emulator, apply the demo, then tear it down"
steps:
- atmos validate stacks
- command: atmos emulator up kubernetes -s dev
retry:
max_attempts: 2
initial_delay: 15s
backoff_strategy: constant
- command: atmos helmfile apply demo -s dev
retry:
max_attempts: 2
initial_delay: 15s
backoff_strategy: constant
- atmos emulator down kubernetes -s dev
# The apply step is equivalent to the following commands:
#- atmos helmfile generate varfile demo -s dev
#- helmfile -f components/helmfile/nginx/helmfile.yaml apply --values dev-demo.helmfile.vars.yaml
- name: "terraform"
commands:
- name: "reset"
description: Delete all local state files
steps:
- find . -type f -name "*.tfstate" -delete
- echo "Deleted all state files"