Стадия жизненного цикла модуля: Experimental
У модуля есть требования для установки

Добавление Helm-репозитория

Для добавления репозитория создайте ресурс HelmClusterAddonRepository:

apiVersion: helm.deckhouse.io/v1alpha1
kind: HelmClusterAddonRepository
metadata:
  name: podinfo
spec:
  url: https://stefanprodan.github.io/podinfo

После создания репозитория можно просмотреть доступные в нём Helm-чарты:

d8 k get helmclusteraddoncharts.helm.deckhouse.io -l repository=podinfo

Пример вывода:

NAME                                                AGE   LABELS
podinfo-chart-podinfo                               11d   chart=podinfo,heritage=deckhouse,repository=podinfo

Для просмотра списка версий, доступных для заданного чарта:

d8 k get helmclusteraddonchart podinfo-podinfo -o yaml

Пример вывода:

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.2

Развёртывание приложения

Для развёртывания приложения создайте ресурс HelmClusterAddon, указав имя репозитория, имя и версию чарта, а также целевое пространство имён:

apiVersion: helm.deckhouse.io/v1alpha1
kind: HelmClusterAddon
metadata:
  name: podinfo
spec:
  namespace: test
  chart:
    helmClusterAddonChart: podinfo
    helmClusterAddonRepository: podinfo
    version: 6.10.2

Одновременно допускается развёртывание только одного экземпляра HelmClusterAddon, использующего заданный Helm-чарт из заданного репозитория. При этом из одного репозитория одновременно могут быть развёрнуты разные Helm-чарты.

Параметр .spec.chart.version является необязательным. Если он не указан, будет установлена последняя доступная версия чарта.

Ручной запуск реконсиляции

Чтобы запустить немедленную реконсиляцию ресурса, не дожидаясь следующей запланированной синхронизации, добавьте к нему аннотацию reconcile.helm.deckhouse.io/force. Контроллер обнаружит аннотацию, выполнит полный цикл реконсиляции и автоматически удалит аннотацию после завершения обработки.

Запуск реконсиляции для HelmClusterAddon:

d8 k annotate helmclusteraddon podinfo reconcile.helm.deckhouse.io/force="$(date -u +%Y-%m-%dT%H:%M:%SZ)" --overwrite

Запуск реконсиляции для HelmClusterAddonRepository:

d8 k annotate helmclusteraddonrepository podinfo reconcile.helm.deckhouse.io/force="$(date -u +%Y-%m-%dT%H:%M:%SZ)" --overwrite

Значение аннотации не имеет значения — контроллер проверяет только её наличие на ресурсе. После завершения реконсиляции аннотация удаляется автоматически.