Skip to content
Latchkey

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.repoURL and chart (or a Git path to the chart).
  • List valueFiles under source.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: api

Gotchas

  • Argo CD does not run helm install, so Helm hooks map to Argo CD resource hooks instead.
  • Pin targetRevision to an exact chart version so syncs are reproducible.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →