Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Helm Operator (and Flux v1) end-of-life #669

Merged
merged 1 commit into from
Nov 1, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 13 additions & 89 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,96 +1,20 @@
# Helm Operator

> :warning: **Notice**
> The [Helm Operator is in maintenance mode](https://github.com/fluxcd/helm-operator/issues/546),
> while we are investing into the future of GitOps by
> [re-architecting our tooling from the ground up](https://fluxcd.io).
This repository contains the source code of the Helm Operator, part of Flux
Legacy (v1).

[![CircleCI](https://circleci.com/gh/fluxcd/helm-operator.svg?style=svg)](https://circleci.com/gh/fluxcd/helm-operator)
[![GoDoc](https://godoc.org/github.com/fluxcd/helm-operator?status.svg)](https://godoc.org/github.com/fluxcd/helm-operator)
[![Documentation](https://img.shields.io/badge/latest-documentation-informational)](https://fluxcd.io/legacy/helm-operator/)
Flux v1 has reached **end of life** and has been replaced by [fluxcd/flux2](https://github.com/fluxcd/flux2)
and its controllers entirely.

The Helm Operator is a [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/),
allowing one to declaratively manage Helm chart releases. Combined with
[Flux](https://github.com/fluxcd/flux) this can be utilized to automate
releases in a GitOps manner, but the usage of Flux is not a strict
requirement.
If you are on Flux Legacy, please see the [migration guide](https://fluxcd.io/flux/migration).
If you need hands-on help migrating, you can contact one of the companies
[listed here](https://fluxcd.io/support/#my-employer-needs-additional-help).

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.
## History

![Helm Operator](docs/_files/fluxcd-helm-operator-diagram.png)
The Helm Operator was initially developed by [Weaveworks](https://weave.works)
as an extension to Flux, to allow for the declarative management of [Helm](https://helm.sh)
releases.

## 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](https://helm.sh/docs/topics/plugins/#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](https://fluxcd.io/legacy/flux/references/helm-operator-integration/)
* 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](chart/helm-operator/README.md)
or just [browse through the documentation](https://fluxcd.io/legacy/helm-operator/).

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

- [Progressive Delivery workshop](https://helm.workshop.flagger.dev/)
- [Managing Helm releases the GitOps way](https://github.com/fluxcd/helm-operator-get-started)
- [GitOps for Istio Canary deployments](https://github.com/stefanprodan/gitops-istio)

## 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](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by contacting a _Flux_ project maintainer, or the CNCF
mediator, Mishi Choudhary <[email protected]>.

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

- [Our contributions guidelines](CONTRIBUTING.md)
- [Build documentation](https://fluxcd.io/legacy/helm-operator/contributing/building/)
- [Release documentation](internal_docs/releasing.md)

## <a name="help"></a>Getting Help

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

- Read [the Helm Operator docs](https://fluxcd.io/legacy/helm-operator/).
- Invite yourself to the <a href="https://slack.cncf.io" target="_blank">CNCF
community</a> slack and ask a question on the
[#flux](https://cloud-native.slack.com/messages/flux/) channel.
- To be part of the conversation about Helm Operator's development, join the
[flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev).
- [File an issue.](https://github.com/fluxcd/helm-operator/issues/new)

Your feedback is always welcome!
For an extensive historical overview of Flux, please refer to
<https://github.com/fluxcd/flux/#History>.