The GitOps Toolkit Helm reconciler, for declarative Helming
Go to file
Hidde Beydals e4d19b8e89
testdata: properly take tag value into account
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2023-11-24 10:47:02 +01:00
.github build: incorporate condition changes in e2e 2023-11-20 12:06:52 +01:00
api controller: adopt release based on v2beta1 state 2023-11-22 23:14:17 +01:00
config testdata: properly take tag value into account 2023-11-24 10:47:02 +01:00
docs controller: adopt release based on v2beta1 state 2023-11-22 23:14:17 +01:00
hack api: introduce v2beta2 API 2023-11-20 12:02:42 +01:00
internal action/upgrade: use correct CRD policy 2023-11-24 10:46:23 +01:00
tests/fuzz Align go.mod version with Kubernetes (Go 1.20) 2023-06-27 10:18:25 +03:00
.gitignore Refactor fuzzing 2022-01-17 20:45:16 +00:00
.goreleaser.yaml Disable goreleaser changelog 2023-06-22 14:59:51 +03:00
CHANGELOG.md Release v0.36.2 2023-10-11 13:34:56 +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
DEVELOPMENT.md Align go.mod version with Kubernetes (Go 1.20) 2023-06-27 10:18:25 +03:00
Dockerfile Remove the tini supervisor 2023-05-24 11:05:53 +02:00
LICENSE Support Helm install action 2020-07-08 16:23:38 +02:00
MAINTAINERS Update MAINTAINERS info 2022-08-31 16:55:05 +02:00
Makefile api: make v2beta2 storage version 2023-11-20 12:06:33 +01:00
PROJECT api: make v2beta2 storage version 2023-11-20 12:06:33 +01:00
README.md update to new doc links structure 2022-08-30 14:52:13 +02:00
go.mod controller: add reconcile release tests 2023-11-20 12:06:42 +01:00
go.sum controller: add reconcile release tests 2023-11-20 12:06:42 +01:00
main.go controller: start w/ adding tests for HelmRelease 2023-11-20 12:06:39 +01: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