Using Flux with Helm

GitOps with Helm

Flux provides support for using Helm charts to manage Kubernetes workloads with GitOps. Helm with Flux is an alternative to managing Kubernetes manifests with plain YAML. When Flux is installed on a cluster, the installation provisions a helm-controller, which can be used to declaratively manage the release of Helm charts on a cluster.


When the helm-controller is used to manage Kubernetes workloads with GitOps, the desired state of the system is described within a Helm chart. Similar to the kustomize-controller, the helm-controller searches for a source that contains this desired state and syncs it on the cluster. When using the helm-controller to manage workloads packaged with Helm, a source and HelmRelease resource must be created on the cluster.

Helm chart sources

A HelmRepository or GitRepository custom resource can be used to create the source that configures access to the desired state containing the Helm chart. Which option you choose depends on whether the Helm chart is packaged and available from a Helm repository.


For packaged charts made available from a Helm repository, the HelmRepository source should be used. The Flux CLI can be used to generate the manifest for a HelmRepository. The following command generates the manifest for a HelmRepository resource that references a Helm chart available in the NGINX’s Helm repository:

Get hands-on with 1200+ tech skills courses.