Skip to main content
Argo CD uses Helm only to inflate charts with helm template. The application lifecycle is managed by Argo CD instead of Helm. This means Helm commands like helm ls won’t show applications deployed by Argo CD.

Basic Helm Chart Application

Deploy a Helm chart from a chart repository:

OCI Helm Charts

Deploy charts from OCI registries:
Don’t include the oci:// prefix in the repoURL for OCI registries.

Values Files

Specify one or more values files:
array
List of values files relative to the Helm chart location
boolean
Ignore missing values files instead of erroring. Useful for default/override patterns with ApplicationSets.
Starting with v2.6, values files can be sourced from a separate repository using multiple sources.

Values Object

Provide values directly in the Application manifest:

Values String

Alternatively, pass values as a YAML string:

Parameters

Override specific values:
array
List of parameter name/value pairs to override Helm values

Value Precedence

Values are merged with the following precedence (highest to lowest):
  1. parameters (highest)
  2. valuesObject
  3. values
  4. valueFiles
  5. Chart’s default values.yaml (lowest)
When multiple valueFiles are specified, the last file has highest precedence.

File Parameters

Set values from file contents:

Release Name

Override the default release name (which equals the Application name):
Overriding release name may cause issues if the chart uses the app.kubernetes.io/instance label, since Argo CD uses the Application name for tracking. Configure application.instanceLabelKey in argocd-cm to use a different label.

Helm Hooks

Argo CD supports most Helm hooks by mapping them to Argo CD hooks:
If you define any Argo CD hooks, ALL Helm hooks will be ignored. Argo CD cannot distinguish between “install” and “upgrade” - every operation is a “sync”.

Hook Best Practices

  • Make hooks idempotent
  • Annotate pre-install and post-install with hook-weight: "-1"
  • Annotate pre-upgrade and post-upgrade with hook-delete-policy: before-hook-creation

Random Data

Helm charts using randAlphaNum will cause perpetual OutOfSync status. Override with explicit values:

Build Environment

Access build environment variables in parameters:

Helm Plugins

Install custom Helm plugins via custom image or initContainers. Example with initContainer:

Additional Options

string
Helm version to use (v2 or v3). Defaults to v3.
boolean
Pass repository credentials for charts from different domains (Helm 3.6.1+)
boolean
Skip CRD installation
boolean
Skip values schema validation
boolean
Skip test manifests during template rendering

CLI Examples