Skip to content

The GitOps Toolkit Helm reconciler, for declarative Helming

License

Notifications You must be signed in to change notification settings

ltwongaa/helm-controller

 
 

Repository files navigation

helm-controller

CII Best Practices e2e report license release

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.

overview

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
  • 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

Guides

Specifications

About

The GitOps Toolkit Helm reconciler, for declarative Helming

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.7%
  • Other 1.3%