The GitOps Toolkit Helm reconciler, for declarative Helming
Go to file
Paulo Gomes 0837f6f34a
Short-circuit event handling
When ExternalEventRecorder is nil, the helm release reference is not used
therefore the function can safely return early.

Signed-off-by: Paulo Gomes <paulo.gomes@weave.works>
2021-12-21 14:08:38 +00:00
.github/workflows Makefile: Remove test dependency on docker-build 2021-10-14 16:07:20 +05:30
api Update dependencies (fix CVE-2021-43784) 2021-12-09 11:53:47 +01:00
config Release v0.14.1 2021-12-09 20:41:42 +05:30
controllers Short-circuit event handling 2021-12-21 14:08:38 +00:00
docs docs/spec: Fix reconcile annotation key in example 2021-12-03 18:59:36 +05:30
hack Depend on the Kustomize API from `fluxcd/pkg` 2021-02-03 20:02:19 +01:00
internal Remove old util ObjectKey 2021-08-01 03:40:10 +05:30
.gitignore Controller-gen and envtest are downloaded and used locally 2021-12-09 17:35:55 +00:00
CHANGELOG.md Release v0.14.1 2021-12-09 20:41:42 +05:30
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
DEVELOPMENT.md As part of fluxcd/.github#4, create DEVELOPMENT.md 2021-10-26 15:57:02 +02:00
Dockerfile Update Alpine to v3.14 2021-11-16 12:08:32 +01:00
LICENSE Support Helm install action 2020-07-08 16:23:38 +02:00
MAINTAINERS Share flux2 maintainers 2020-11-30 13:23:26 +00:00
Makefile Controller-gen and envtest are downloaded and used locally 2021-12-09 17:35:55 +00:00
PROJECT Promote API to v2beta1 2020-09-30 19:37:23 +02:00
README.md add CII badge 2021-04-08 13:08:58 +02:00
go.mod Release v0.14.1 2021-12-09 20:41:42 +05:30
go.sum Update source-controller to `v0.19.2` 2021-12-09 19:54:11 +05:30
main.go Set the managed fields owner to helm-controller 2021-10-25 16:18:31 +03:00

README.md

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

Guides

Specifications