How to Use Helm With Argo CD
Argo CD renders Helm charts itself, so a Helm-based app is just an Application with a source.helm block of values and parameters.
Point the Application source at a chart (a Git path or a chart from a Helm repo) and set source.helm with valueFiles and parameters. Argo CD runs helm template and syncs the result.
Steps
- Set
source.repoURLandchart(or a Git path to the chart). - List
valueFilesundersource.helm. - Override individual values with
parameters. - Argo CD renders and applies the chart.
Helm Application
apps/api/application.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: api
namespace: argocd
spec:
project: default
source:
repoURL: https://charts.example.com
chart: api
targetRevision: 2.3.0
helm:
valueFiles:
- values-production.yaml
parameters:
- name: image.tag
value: v1.4.2
destination:
server: https://kubernetes.default.svc
namespace: apiGotchas
- Argo CD does not run
helm install, so Helm hooks map to Argo CD resource hooks instead. - Pin
targetRevisionto an exact chart version so syncs are reproducible.
Related guides
How to Create an Argo CD ApplicationDefine an Argo CD Application manifest that points at a Git repo and path, and set an automated sync policy s…
How to Use Kustomize Overlays Per EnvironmentStructure a GitOps repo with a Kustomize base and per-environment overlays that patch replicas, image tags, a…