The module lifecycle stage: Experimental
The module has requirements for installation
The operator-helm module allows you to declaratively manage Helm chart deployments in the cluster. It is designed for cluster administrators and DevOps engineers and automates application installation using custom resources.
The module controller monitors the state of HelmClusterAddon resources and automatically reconciles Helm releases in the cluster with the specified parameters.
Main Features
- Deploying Helm charts from classic HTTP/HTTPS repositories and OCI registries through a unified declarative API.
- Automatic chart version discovery and tracking via HelmClusterAddonChart resources.
- Configurable chart values through HelmClusterAddon resources.
- Maintenance mode to pause reconciliation on managed releases.
- TLS verification and authentication support for private Helm and OCI repositories.
- Management through CLI (
d8 k) or the Deckhouse web interface.
The module is under active development. Future plans include:
- adding new custom resources to allow non-admin users to install charts;
- migrating to chart deployment using Nelm.
Custom Resources
The following custom resources are used to manage Helm charts in the module:
- HelmClusterAddonRepository — a Helm or OCI registry containing Helm charts for deployment in the cluster.
- HelmClusterAddonChart — a Helm chart discovered in the connected repository. These resources are automatically created and updated by the controller during repository synchronization and are protected from manual changes.
- HelmClusterAddon — a declarative description of a specific Helm chart release. The resource contains the target chart version, the namespace name for deployment, and custom values.
Limitations
- Admin privileges (the
cluster-adminrole) are required to manage HelmClusterAddon and HelmClusterAddonRepository resources. - A HelmClusterAddon resource referencing a specific HelmClusterAddonChart can only be created as a single instance in the cluster. This is because Helm charts can contain custom resource definitions (CRDs), and installing them multiple times at the cluster level is not allowed.
See usage examples for practical scenarios.