The Helm Operator is a Kubernetes operator, allowing one to declaratively manage Helm chart releases. Combined with Flux this can be utilized to automate releases in a GitOps manner, but the usage of Flux is not a strict requirement.
The desired state of a Helm release is described through a Kubernetes
Custom Resource named HelmRelease
. Based on the creation, mutation or
removal of a HelmRelease
resource in the cluster, Helm actions are
performed by the operator.
- Declarative install, upgrade, and delete of Helm releases
- Pulls chart from any chart source;
- Public or private Helm repositories over HTTP/S
- Public or private Git repositories over HTTPS or SSH
- Any other public or private chart source using one of the available Helm downloader plugins
- Allows Helm values to be specified;
- In-line in the
HelmRelease
resource - In (external) sources, e.g.
ConfigMap
andSecret
resources, or a (local) URL
- In-line in the
- Automated purging on release install failures
- Automated (optional) rollback on upgrade failures
- Automated image upgrades using Flux
- Automated (configurable) chart dependency updates for Helm charts from Git sources on install or upgrade
- Detection and recovery from Helm storage mutations (e.g. a manual Helm release that was made but conflicts with the declared configuration for the release)
- Parallel and scalable processing of different
HelmRelease
resources using workers - Supports both Helm 2 and 3
Get started installing the Helm Operator or just browse through the documentation.
As the Helm Operator is Open Source, integrations are very straight-forward. Here are a few popular ones you might want to check out:
- Progressive Delivery workshop
- Managing Helm releases the GitOps way
- GitOps for Istio Canary deployments
We welcome all kinds of contributions to the Helm Operator, be it code, issues you found, documentation, external tools, help and support or anything else really.
The Helm Operator and other projects in the FluxCD umbrella adhere to the CNCF Code of Conduct.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a Flux project maintainer, or the CNCF mediator, Mishi Choudhary mishi@linux.com.
To familiarise yourself with the project and how things work, you might be interested in the following:
If you have any questions about the Helm Operator and continuous delivery:
- Read the Helm Operator docs.
- Invite yourself to the CNCF community slack and ask a question on the #flux channel.
- To be part of the conversation about Helm Operator's development, join the flux-dev mailing list.
- File an issue.
Your feedback is always welcome!