helm-operator

module
Version: v1.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2020 License: Apache-2.0

README

Helm Operator

CircleCI GoDoc Documentation

The Helm Operator is a Kubernetes operator, allowing one to declaratively manage Helm chart releases. Combined with Flux this can be utilized to automate releases in a GitOps manner, but the usage of Flux is not a strict requirement.

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.

Helm Operator

Helm Operator features

  • Declarative install, upgrade, and delete of Helm releases
  • Pulls chart from any chart source;
    • Public or private Helm repositories over HTTP/S
    • Public or private Git repositories over HTTPS or SSH
    • Any other public or private chart source using one of the available Helm downloader plugins
  • Allows Helm values to be specified;
    • In-line in the HelmRelease resource
    • In (external) sources, e.g. ConfigMap and Secret resources, or a (local) URL
  • Automated purging on release install failures
  • Automated (optional) rollback on upgrade failures
  • Automated (optional) helm test gating of installs and upgrades.
  • Automated image upgrades using Flux
  • Automated (configurable) chart dependency updates for Helm charts from Git sources on install or upgrade
  • Detection and recovery from Helm storage mutations (e.g. a manual Helm release that was made but conflicts with the declared configuration for the release)
  • Parallel and scalable processing of different HelmRelease resources using workers
  • Supports both Helm 2 and 3

Get started with the Helm Operator

Get started installing the Helm Operator or just browse through the documentation.

Integrations

As the Helm Operator is Open Source, integrations are very straight-forward. Here are a few popular ones you might want to check out:

Community & Developer information

We welcome all kinds of contributions to the Helm Operator, be it code, issues you found, documentation, external tools, help and support or anything else really.

The Helm Operator and other projects in the FluxCD umbrella adhere to the CNCF Code of Conduct.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a Flux project maintainer, or the CNCF mediator, Mishi Choudhary mishi@linux.com.

To familiarise yourself with the project and how things work, you might be interested in the following:

Getting Help

If you have any questions about the Helm Operator and continuous delivery:

Your feedback is always welcome!

Directories

Path Synopsis
cmd
pkg
api
apis/helm.fluxcd.io/v1
+k8s:deepcopy-gen=package,register +groupName=helm.fluxcd.io Package v1 is the v1 version of the API.
+k8s:deepcopy-gen=package,register +groupName=helm.fluxcd.io Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/helm.fluxcd.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/helm.fluxcd.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
status
This package is for maintaining the link between `HelmRelease` resources and the Helm releases to which they correspond.
This package is for maintaining the link between `HelmRelease` resources and the Helm releases to which they correspond.
internal
lockedfile
Package lockedfile creates and manipulates files whose contents should only change atomically.
Package lockedfile creates and manipulates files whose contents should only change atomically.
lockedfile/internal/filelock
Package filelock provides a platform-independent API for advisory file locking.
Package filelock provides a platform-independent API for advisory file locking.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL