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:List of values files relative to the Helm chart location
Ignore missing values files instead of erroring. Useful for default/override patterns with ApplicationSets.
Values Object
Provide values directly in the Application manifest:Values String
Alternatively, pass values as a YAML string:Parameters
Override specific values:List of parameter name/value pairs to override Helm values
Value Precedence
Values are merged with the following precedence (highest to lowest):
parameters(highest)valuesObjectvaluesvalueFiles- Chart’s default values.yaml (lowest)
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):Helm Hooks
Argo CD supports most Helm hooks by mapping them to Argo CD hooks:| Helm Hook | Argo CD Equivalent |
|---|---|
helm.sh/hook: crd-install | Normal CRD handling |
helm.sh/hook: pre-install | argocd.argoproj.io/hook: PreSync |
helm.sh/hook: pre-upgrade | argocd.argoproj.io/hook: PreSync |
helm.sh/hook: post-install | argocd.argoproj.io/hook: PostSync |
helm.sh/hook: post-upgrade | argocd.argoproj.io/hook: PostSync |
helm.sh/hook: pre-delete | argocd.argoproj.io/hook: PreDelete |
helm.sh/hook: post-delete | argocd.argoproj.io/hook: PostDelete |
Hook Best Practices
- Make hooks idempotent
- Annotate
pre-installandpost-installwithhook-weight: "-1" - Annotate
pre-upgradeandpost-upgradewithhook-delete-policy: before-hook-creation
Random Data
Helm charts usingrandAlphaNum 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
Helm version to use (v2 or v3). Defaults to v3.
Pass repository credentials for charts from different domains (Helm 3.6.1+)
Skip CRD installation
Skip values schema validation
Skip test manifests during template rendering