The module lifecycle stage: Experimental
The module has requirements for installation
Adding a Helm repository
To add a repository, create a HelmClusterAddonRepository resource:
apiVersion: helm.deckhouse.io/v1alpha1
kind: HelmClusterAddonRepository
metadata:
name: podinfo
spec:
url: https://stefanprodan.github.io/podinfoAfter creating the repository, view the available Helm charts:
d8 k get helmclusteraddoncharts.helm.deckhouse.io -l repository=podinfoExample output:
NAME AGE LABELS
podinfo-chart-podinfo 11d chart=podinfo,heritage=deckhouse,repository=podinfoTo view the list of versions available for a specific chart:
d8 k get helmclusteraddonchart podinfo-podinfo -o yamlExample output:
apiVersion: helm.deckhouse.io/v1alpha1
kind: HelmClusterAddonChart
metadata:
labels:
chart: podinfo
heritage: deckhouse
repository: podinfo
name: podinfo-podinfo
status:
versions:
- version: 6.11.0
- version: 6.10.2Deploying an application
To deploy an application, create a HelmClusterAddon resource specifying the repository name, chart name and version, and the target namespace:
apiVersion: helm.deckhouse.io/v1alpha1
kind: HelmClusterAddon
metadata:
name: podinfo
spec:
namespace: test
chart:
helmClusterAddonChart: podinfo
helmClusterAddonRepository: podinfo
version: 6.10.2Only one instance of HelmClusterAddon using a specific Helm chart from a specific repository can be deployed at a time. Different Helm charts from the same repository can be deployed simultaneously.
The .spec.chart.version parameter is optional. If omitted, the latest available version of the chart will be installed.
Triggering a manual reconciliation
To trigger an immediate reconciliation of a resource without waiting for the next scheduled sync, annotate it with reconcile.helm.deckhouse.io/force. The controller will detect the annotation, run a full reconciliation cycle, and remove the annotation automatically once processing is complete.
To trigger reconciliation of a HelmClusterAddon:
d8 k annotate helmclusteraddon podinfo reconcile.helm.deckhouse.io/force="$(date -u +%Y-%m-%dT%H:%M:%SZ)" --overwriteTo trigger reconciliation of a HelmClusterAddonRepository:
d8 k annotate helmclusteraddonrepository podinfo reconcile.helm.deckhouse.io/force="$(date -u +%Y-%m-%dT%H:%M:%SZ)" --overwriteThe annotation value is not significant — only its presence on the resource matters. The controller removes the annotation after the reconciliation is complete.