The GitOps Toolkit Helm reconciler, for declarative Helming
Go to file
Hidde Beydals fa598261e7 Compare artifact <> HelmRelease in enqueuer
The reason for this is the `EnqueueRequestsFromMapFunc` calling the
enqueuer for _both_ the old and the new object, and we only want to act
on the ones that contain a revision different from the one that we have
recorded in the status object of the `HelmRelease`.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-28 22:42:29 +01:00
.github/workflows Use fossa-contrib/fossa-action instead 2020-10-16 08:13:08 +09:00
api Change copyright to Flux authors 2020-10-27 17:55:18 +01:00
config Move dedicated watcher to in-controller watcher 2020-10-28 13:28:11 +01:00
controllers Compare artifact <> HelmRelease in enqueuer 2020-10-28 22:42:29 +01:00
docs Use reconcile annotation helpers 2020-10-22 12:26:48 +01:00
hack Change copyright to Flux authors 2020-10-27 17:55:18 +01:00
internal Change copyright to Flux authors 2020-10-27 17:55:18 +01:00
.gitignore Init 2020-05-05 22:35:49 +02:00
CHANGELOG.md Release v0.1.3 2020-10-16 15:12:31 +02:00
CODE_OF_CONDUCT.md Add DCO and code of conduct 2020-07-10 09:18:34 +03:00
DCO Add DCO and code of conduct 2020-07-10 09:18:34 +03:00
Dockerfile Promote API to v2beta1 2020-09-30 19:37:23 +02:00
LICENSE Support Helm install action 2020-07-08 16:23:38 +02:00
MAINTAINERS Update MAINTAINERS 2020-09-08 08:22:43 -05:00
Makefile Promote API to v2beta1 2020-09-30 19:37:23 +02:00
PROJECT Promote API to v2beta1 2020-09-30 19:37:23 +02:00
README.md Set default branch to main 2020-10-05 14:55:51 +02:00
go.mod Use reconcile annotation helpers 2020-10-22 12:26:48 +01:00
go.sum Use reconcile annotation helpers 2020-10-22 12:26:48 +01:00
main.go Move dedicated watcher to in-controller watcher 2020-10-28 13:28:11 +01:00

README.md

helm-controller

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

Guides

Specifications