Доступно только в Enterprise Edition.
Находится в процессе активного развития. Функциональность может существенно измениться.

Модуль не включен по умолчанию в каком-либо наборе модулей.

Как явно включить или отключить модуль…

Чтобы явно включить или выключить модуль delivery, установите spec.enabled в true или false в ModuleConfig/delivery (создайте, при необходимости), или воспользуйтесь командой deckhouse-controller module в поде d8-system/deckhouse.

Пример включения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: delivery
    spec:
      enabled: true
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module enable delivery
    

Пример выключения модуля:

  • с помощью ресурса ModuleConfig:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: delivery
    spec:
      enabled: false
    
  • с помощью команды deckhouse-controller (требуется kubectl, настроенный на работу с кластером):

    kubectl -ti -n d8-system exec deploy/deckhouse -c deckhouse -- deckhouse-controller module disable delivery
    

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем delivery (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/delivery для настройки модуля:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: delivery
spec:
  version: 1
  enabled: true
  settings: # <-- Параметры модуля из раздела "Параметры" ниже.

Параметры

Версия схемы: 1

  • argocdобъект

    Конфигурация Argo CD.

    • argocd.adminобъект
      • argocd.admin.enabledбулевый

        Флаг управляет включением пользователя admin.

        Он может понадобиться, если в кластере не используется Dex или если нужно настроить доступ в CLI утилитой argocd (читайте подробнее в разделе Примеры).

        По умолчанию: false

  • httpsобъект

    Тип сертификата, используемого для веб-приложения Argo CD.

    При использовании этого параметра полностью переопределяются глобальные настройки global.modules.https.

    Примеры:

    https:
      mode: CustomCertificate
      customCertificate:
        secretName: foobar
    
    https:
      mode: CertManager
      certManager:
        clusterIssuerName: letsencrypt
    
    • https.certManagerобъект
      • https.certManager.clusterIssuerNameстрока

        ClusterIssuer, используемый для Argo CD.

        Доступны letsencrypt, letsencrypt-staging, selfsigned, но вы можете определить свои.

        По умолчанию: "letsencrypt"

    • https.customCertificateобъект
      • https.customCertificate.secretNameстрока

        Имя Secret’а в namespace d8-system, который будет использоваться для Argo CD.

        Secret должен быть в формате kubernetes.io/tls.

        По умолчанию: "false"

    • https.modeстрока

      Режим работы HTTPS:

      • Disabled — веб-интерфейс Argo CD будет работать только по HTTP;
      • CertManager — веб-интерфейс Argo CD будет работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметре certManager.clusterIssuerName;
      • CustomCertificate — веб-интерфейс Argo CD будет работать по HTTPS, используя сертификат из namespace d8-system;
      • OnlyInURI — веб-интерфейс Argo CD будет работать по HTTP (подразумевая, что перед ним стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в user-authn будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.

      По умолчанию: "Disabled"

      Допустимые значения: Disabled, CertManager, CustomCertificate, OnlyInURI

  • nodeSelectorобъект

    Структура, аналогичная spec.nodeSelector пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

    Пример:

    nodeSelector:
      disktype: ssd
    
  • storageClass

    Имя StorageClass’а, который предполагается использовать.

    Если не указано — используется StorageClass существующей PVC, а если PVC пока нет — используется или глобальный StorageClass, или global.discovery.defaultStorageClass, а если и их нет — данные сохраняются в emptyDir.

    ОСТОРОЖНО! При указании этой опции в значение, отличное от текущего (из существующей PVC), диск будет перезаказан, а все данные удалены.

    Если указать false — будет форсироваться использование emptyDir’а.

    Примеры:

    storageClass: false
    
    storageClass: default
    
  • tolerationsмассив объектов

    Структура, аналогичная spec.tolerations пода Kubernetes.

    Если ничего не указано или указано false, будет использоваться автоматика.

    Пример:

    tolerations:
    - key: key1
      operator: Equal
      value: value1
      effect: NoSchedule
    
    • tolerations.effectстрока
    • tolerations.keyстрока
    • tolerations.operatorстрока
    • tolerations.tolerationSecondsцелочисленный
    • tolerations.valueстрока