The GitOps Toolkit Helm reconciler, for declarative Helming
Go to file
Matheus Pimenta b0c195e0dc
Revert controller-runtime to v0.19
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2025-02-24 15:32:46 +00:00
.github Add 1.2.x release label 2025-02-19 09:11:51 +00:00
api Update dependencies to Helm v3.17.0 and Kustomize v5.6.0 2025-01-31 15:22:00 +02:00
config Release v1.2.0 2025-02-19 08:22:50 +00:00
docs Update API docs and descriptions 2025-01-10 16:21:57 +05:30
hack Update copyright year (GA API) 2024-05-03 17:35:01 +03:00
internal fix: use HelmRelease max history for rollback remediation 2025-02-11 15:17:29 +01:00
tests/fuzz Build with Go 1.23 2024-08-15 12:10:30 +03:00
.gitignore Refactor fuzzing 2022-01-17 20:45:16 +00:00
.goreleaser.yaml Adapt config to GoRelease v2 2024-06-11 09:41:08 +03:00
CHANGELOG.md Add changelog entry for v1.2.0 2025-02-19 08:22:49 +00: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 Build with Go 1.23 2024-08-15 12:10:30 +03:00
Dockerfile Update dependencies to Kubernetes 1.32.0 and Go 1.23.0 2024-12-12 19:13:31 +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 Update dependencies to Kubernetes 1.32.0 and Go 1.23.0 2024-12-12 19:13:31 +02:00
PROJECT Promote `HelmRelease` API to v2 (GA) 2024-05-03 16:25:14 +03:00
README.md Add API docs for `HelmRelease` v2 2024-05-03 16:30:58 +03:00
go.mod Revert controller-runtime to v0.19 2025-02-24 15:32:46 +00:00
go.sum Revert controller-runtime to v0.19 2025-02-24 15:32:46 +00:00
main.go Allow cross-shard dependency check 2024-09-26 21:15: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 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