This commit updates Kubernetes to v1.27, controller-runtime to v0.15, and Helm to v3.12. It deals with various breaking changes in controller-runtime, as documented in the release notes: https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.0 In short: - `Watches` now use a `client.Object` instead of a `source.Kind`. - `handler.MapFunc` signature accepts a Go context, which is used to log any errors, instead of silently ignoring them and/or panicking. - Max concurrent reconciles is configured on the manager, instead of configuring them per reconciler instance. - Various manager configuration options have been moved to new structures and/or fields. In addition to this, all other dependencies which had updates available are updated to their latest versions as well. Signed-off-by: Hidde Beydals <hidde@hhh.computer> |
||
---|---|---|
.github/workflows | ||
api | ||
config | ||
docs | ||
hack | ||
internal | ||
tests/fuzz | ||
.gitignore | ||
.goreleaser.yaml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
DCO | ||
DEVELOPMENT.md | ||
Dockerfile | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
PROJECT | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
helm-controller
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.
Features
- Watches for
HelmRelease
objects and generatesHelmChart
objects - Supports
HelmChart
artifacts produced fromHelmRepository
,GitRepository
andBucket
sources - Fetches artifacts produced by source-controller from
HelmChart
objects - Watches
HelmChart
objects for revision changes (including semver ranges for charts fromHelmRepository
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