A respository for deploying Helm charts using Helmfile.
- Helm >= v3.8.1
- Helmfile >= v0.143.1
- Helm Secrets >= 3.12.0
- sops >= 3.7.2
- Age >= v1.0.0
Development deployment:
helmfile sync
Production deployment:
helmfile -e production sync
Helm values are stored unencrypted and can be found in the [app]/variables/[environment]/values.yaml
file.
Secrets are stored encrypted and can be found in the [app]/variables/[environment]/secrets.yaml
file.
Templates are used to store the base values.yaml
file for a given chart, which in turn uses Go templating to populate variables from the global [app]/variables/[environment]/values.yaml
file. This helps keep the configuration DRY. The templates are found in the [app]/charts/[chartapp]/values.yaml.gotmpl
file.
Secrets are encrypted using Helm Secrets and Age file encryption utility.
If you have access to a development, staging, or production copy of the key file, run the following command to enable decryption before running the helmfile
command:
export SOPS_AGE_KEY_FILE=path/to/key.txt