Helmfile Configuration
Configure how Atmos executes Helmfile commands for Kubernetes deployments, including EKS integration, kubeconfig management, and naming patterns for AWS profiles and cluster names.
Configuration
atmos.yaml
Configuration Reference
commandSpecifies the executable to run for Helmfile commands. Defaults to
helmfile.Environment variable:
ATMOS_COMPONENTS_HELMFILE_COMMANDCommand-line flag:--helmfile-commandExamples:
helmfile- Use Helmfile from PATH/usr/local/bin/helmfile- Use specific binary
base_pathDirectory containing Helmfile component directories. Supports absolute and relative paths.
Environment variable:
ATMOS_COMPONENTS_HELMFILE_BASE_PATHCommand-line flag:--helmfile-diruse_eksWhen
true, Atmos configures AWS EKS integration for kubeconfig management.Environment variable:
ATMOS_COMPONENTS_HELMFILE_USE_EKSDefault:truekubeconfig_pathDirectory where Atmos stores generated kubeconfig files. Using
/dev/shm(shared memory) is recommended for security as files are not persisted to disk.Environment variable:
ATMOS_COMPONENTS_HELMFILE_KUBECONFIG_PATHDefault:/dev/shmhelm_aws_profile_patternPattern for generating AWS profile names used by Helm. Supports context variables:
{namespace}- Organization namespace{tenant}- Tenant identifier{environment}- Environment (e.g.,ue1,uw2){stage}- Stage (e.g.,dev,prod)
Environment variable:
ATMOS_COMPONENTS_HELMFILE_HELM_AWS_PROFILE_PATTERNExample:
{namespace}-{tenant}-gbl-{stage}-helm→acme-platform-gbl-prod-helmcluster_name_patternPattern for generating EKS cluster names. Supports the same context variables as
helm_aws_profile_pattern.Environment variable:
ATMOS_COMPONENTS_HELMFILE_CLUSTER_NAME_PATTERNExample:
{namespace}-{tenant}-{environment}-{stage}-eks-cluster→acme-platform-ue1-prod-eks-cluster
EKS Integration
When use_eks is enabled, Atmos automatically:
- Generates kubeconfig files for EKS clusters
- Configures AWS credentials for Helm operations
- Sets up the correct cluster context before running Helmfile
The kubeconfig is written to the path specified by kubeconfig_path with a filename based on the cluster name pattern.
Example: Multi-Environment Setup
atmos.yaml
With this configuration, running atmos helmfile apply nginx -s acme-ue1-prod would:
- Use AWS profile:
acme-platform-gbl-prod-helm - Connect to cluster:
acme-platform-ue1-prod-eks-cluster - Store kubeconfig at:
/dev/shm/acme-platform-ue1-prod-eks-cluster.kubeconfig
Related Commands
📄️ atmos helmfile
Execute Helmfile commands
📄️ atmos helmfile generate varfile
Generate variable files for Helmfile