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.
Features
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