
The helm-controller is a Kubernetes operator, allowing one to declaratively
manage Helm chart releases. It is part of a composable GitOps toolkit
and depends on source-controller to acquire the Helm charts from Helm
repositories.
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.

- Watches for HelmRelease objects and generates HelmChart objects
- Supports HelmChart artifacts produced from HelmRepository,
GitRepository and Bucket sources
- Fetches artifacts produced by source-controller from HelmChart
and OCIRepository objects
- Watches HelmChart objects for revision changes (including semver
ranges for charts from HelmRepository sources)
- Performs automated Helm actions, including Helm tests, rollbacks and
uninstalls
- Offers extensive configuration options for automated remediation
(rollback, uninstall, retry) on failed Helm install, upgrade or test
actions
- Runs Helm install/upgrade in a specific order, taking into account the
depends-on relationship defined in a set of HelmRelease objects
- Reports Helm release statuses (alerting provided by
notification-controller)
- Built-in Kustomize compatible Helm post renderer, providing support
for strategic merge, JSON 6902 and images patches
- Supports detecting and correcting in-cluster changes compared to the desired
state of the Helm release
HelmRelease API