- The source controller fetches Helm charts from different sources (Git repositories, Helm repositories, OCI registries, S3 buckets) and packages them as chart artifacts.
- The Helm controller watches Kubernetes HelmRelease custom resources, consumes chart artifacts produced by the source controller, and performs Helm operations (install, upgrade, uninstall, test, rollback) to reconcile the desired release state.
Before you begin, ensure Flux is installed and the Flux controllers are running in the
flux-system namespace. See the Flux documentation for installation and prerequisites: Flux - Installation.Source controller: fetching and packaging charts
The source controller is responsible for pulling charts and producing versioned chart artifacts that other controllers (like the Helm controller) can consume. Typical workflows include:- Fetching multiple charts from a Git repository and packaging them as tar artifacts.
- Indexing and packaging charts from a Helm repository (for example, Bitnami) into tar artifacts.
- Publishing chart artifacts from OCI registries or object stores.
data/ directory:
Helm controller: reconciling HelmRelease resources
The Helm controller reacts to HelmRelease custom resources. A HelmRelease describes the desired state of a Helm release (which chart, which version, and what values). When a HelmRelease is created or modified, the Helm controller:- Creates a HelmChart object that requests a specific chart and version.
- Waits for the source controller to produce the corresponding HelmChart artifact.
- Consumes the artifact and runs the Helm operations required to install or upgrade the release.
- Optionally runs tests, handles rollbacks, and removes releases when the HelmRelease is deleted.
bitnami HelmRepository:
helmchart directory under the source controller’s data directory:
The source controller produces versioned chart artifacts (
HelmChart). The Helm controller watches HelmRelease objects, looks up the matching HelmChart artifact, and executes Helm operations to reconcile the release to the desired state.