/helm-operator

The Flux Helm Operator, for declarative Helming

Primary LanguageGoApache License 2.0Apache-2.0

Helm Operator

CircleCI GoDoc Documentation

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.

Helm Operator

Helm Operator features

  • 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 and Secret resources, or a (local) URL
  • Automated purging on release install failures
  • Automated (optional) rollback on upgrade failures
  • Automated (optional) helm test gating of installs and upgrades.
  • 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 with the Helm Operator

Get started installing the Helm Operator or just browse through the documentation.

Integrations

As the Helm Operator is Open Source, integrations are very straight-forward. Here are a few popular ones you might want to check out:

Community & Developer information

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:

Getting Help

If you have any questions about the Helm Operator and continuous delivery:

Your feedback is always welcome!