Configure Helmfile
Atmos natively supports opinionated workflows for Helmfile. It's compatible with every version of helmfile and designed to work with multiple different versions of Helmfile concurrently.
Keep in mind that Atmos does not handle the downloading or installation of Helmfile (or its dependency Kustomize); it assumes these commands are already installed on your system. For installation instructions, refer to:
To automate the installation process, consider creating a Custom Command.
Atmos provides many settings that are specific to Helmfile, which are configured in atmos.yaml
.
CLI Configuration
All of the following settings are defined by default in the Atmos CLI Configuration found in atmos.yaml
.
At this time, these settings cannot be overridden in the Stack configuration.
The defaults for everything are defined underneath the components.helmfile
section.
components:
helmfile:
# ...
The following settings are available for Helmfile:
base_path
- The root directory where the Helmfile components and configurations are located. This path serves as the starting point for resolving any relative paths within the Helmfile setup.
use_eks
(default:false
)- A flag indicating whether the component is configured to use Amazon EKS (Elastic Kubernetes Service). When set to
true
, the component will interact with EKS for provisioning and managing Kubernetes clusters. Also, it meanscluster_name_pattern
must be defined. kubeconfig_path
- The file path to the
kubeconfig
file, which contains the necessary authentication and configuration details to interact with the Kubernetes cluster. This path is essential for managing cluster resources using Helmfile. helm_aws_profile_pattern
- A pattern that defines which AWS CLI profiles should be used by Helm when interacting with AWS services, such as EKS. This allows for dynamic selection of AWS credentials based on the environment or cluster.
cluster_name_pattern
(required whenuse_eks=true
)- A naming pattern used to identify and select the Kubernetes cluster within the Helmfile configuration. This pattern helps automate the management of different clusters by matching their names based on the specified criteria.
Example Configuration
Here is an example configuration for Helmfile that we use at Cloud Posse in our refarch for AWS.