Skip to main content
This guide demonstrates how to deploy Helm charts with Argo CD. You will learn two common workflows:
  • Deploy a Helm chart stored in a Git repository.
  • Deploy a Helm chart from a remote Helm repository (Bitnami).
We’ll show how chart defaults in values.yaml are used and how to override those values when creating an Argo CD Application (via the CLI and the UI).

1) Deploy a Helm chart from a Git repository

In the demo repo, the Helm chart is located at helm-chart/ and contains three templates—ConfigMap, Deployment, and Service. The chart uses values.yaml to supply defaults such as shape colors and the Service type. Example chart layout:
Important: values.yaml provides default values (for example, default shape color black and Service type ClusterIP). You can override these when creating the Argo CD Application using --helm-set flags (CLI) or via the Argo CD UI. Create the Argo CD application from the Git repo while overriding some chart values:
Expected response:
Quick reference: flags used when creating the application After creating the Application, it will initially appear as OutOfSync in the Argo CD UI. Synchronize it from the UI or run:
Argo CD renders the Helm templates and applies the resulting Kubernetes manifests (ConfigMap, Deployment, Service) into the target namespace. You can inspect the rendered manifests in the UI under App Details → Manifests. Retrieve application metadata, sync status, and health with:
Sample excerpted output:
When you access the Service (we used NodePort in the example), the chart-rendered page should reflect overridden values—e.g., the circle in pink and the square in green while other shapes use the default black.
Argo CD renders Helm chart templates into plain Kubernetes manifests and applies them directly. Argo CD does not install Helm release metadata into the cluster; therefore helm ls will not display releases for Argo CD–managed applications.

2) Deploy a Helm chart from a Helm repository (Bitnami)

Argo CD can also use remote Helm repositories (for example, the Bitnami charts index at https://charts.bitnami.com/bitnami) as a source for Applications. Add a Helm repo in the Argo CD UI with these example values:
  • Type: Helm
  • Name: Bitnami Helm Charts
  • URL: https://charts.bitnami.com/bitnami
  • (Optional) credentials/TLS if the repo is private
After adding the repo, create a new Application in the Argo CD UI and select the Helm repository. The UI will display available charts and versions from that repository. For this demo, select the nginx chart and choose a version such as 12.0.3. In the chart’s Helm options you can override values (for example, change the Service type to NodePort to expose the app on a node port). CLI example creating an Application that points directly to the Bitnami Helm repo:
Expected response:
Sync the Application to apply the rendered manifests:
After sync, Argo CD will have applied the chart-rendered manifests (commonly a Deployment and a Service for the nginx chart). To find the assigned NodePort:
Then visit the node IP and the NodePort to verify the “Welcome to nginx” page. Inspect application metadata:
Sample excerpt (showing Helm source and applied version):

Quick comparison: Git-hosted chart vs. remote Helm repo

Recap

  • Argo CD can deploy Helm charts located in a Git repository or in remote Helm repositories.
  • Use --helm-set flags (CLI) or the Argo CD UI to override values from values.yaml at Application creation.
  • Argo CD renders Helm templates and manages the resulting Kubernetes manifests; the Helm client will not show Argo CD–managed Applications via helm ls.
  • Use argocd app get <app-name> to inspect application metadata, applied resources, sync status, and health.
That’s all for now.

Watch Video