У модуля нет обязательных настроек.

Аутентификация

По умолчанию используется модуль user-authn. Также можно настроить аутентификацию через externalAuthentication (см. ниже). Если эти варианты отключены, то модуль включит basic auth со сгенерированным паролем.

Посмотреть сгенерированный пароль можно командой:

kubectl -n d8-system exec deploy/deckhouse -- deckhouse-controller module values deckhouse-web -o json | jq '.deckhouseWeb.internal.auth.password'

Чтобы сгенерировать новый пароль, нужно удалить секрет:

kubectl -n d8-system delete secret/deckhouse-web-basic-auth

Внимание! Параметр auth.password больше не поддерживается.

Параметры

  • authобъект

    Опции, связанные с аутентификацией и авторизацией доступа к web-интерфейсу документации.

    • allowedUserGroupsмассив строк

      Массив групп, пользователям которых разрешен доступ к просмотру документации.

      Используется, если включен модуль user-authn или задан параметр externalAuthentication.

      Внимание! При использовании совместно с модулем user-authn необходимо также добавить разрешенные группы в соответствующее поле в настройках DexProvider.

      По умолчанию: []

      Примеры:

      allowedUserGroups:
      - admin
      - users
      
      allowedUserGroups: []
      
    • externalAuthenticationобъект

      Параметры для подключения внешней аутентификации (используется механизм Nginx Ingress external-auth, работающий на основе модуля Nginx auth_request.

      Внешняя аутентификация включается автоматически, если включен модуль user-authn.

      • authSignInURLстрока

        URL, куда будет перенаправлен пользователь для прохождения аутентификации (если сервис аутентификации вернул код ответа HTTP отличный от 200).

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

        Пример:

        authSignInURL: https://$host/dex-authenticator/sign_in
        
      • authURLстрока

        URL сервиса аутентификации.

        Если пользователь прошел аутентификацию, сервис должен возвращать код ответа HTTP 200.

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

        Пример:

        authURL: https://deckhouse-web-dex-authenticator.d8-system.svc.cluster.local/dex-authenticator/auth
        
    • passwordстрока

      Параметр устарел.

  • httpsобъект

    Тип используемого сертификата.

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

    Примеры:

    https:
      mode: Disabled
    
    https:
      mode: OnlyInURI
    
    https:
      mode: CustomCertificate
      customCertificate:
        secretName: foobar
    
    https:
      mode: CertManager
      certManager:
        clusterIssuerName: letsencrypt
    
    • certManagerобъект

      Настройки для certmanager.

      • clusterIssuerNameстрока

        Тип ClusterIssuer’а, используемого для заказа SSL-сертификата (в данный момент доступны letsencrypt, letsencrypt-staging, selfsigned, но возможно определить свои).

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

        Пример:

        clusterIssuerName: letsencrypt
        
    • customCertificateобъект

      Настройки для использования пользовательского сертификата.

      • secretNameстрока

        Имя Secret’а в пространстве имён d8-system, который будет использоваться для web-интерфейса документации.

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

    • modeстрока

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

      • CertManager — доступ по HTTPS с заказом сертификата согласно ClusterIssuer’у, заданному в параметре certManager.clusterIssuerName.
      • CustomCertificate — доступ по HTTPS с использованием сертификата из пространства имён d8-system.
      • Disabled — доступ только по HTTP.
      • OnlyInURI — доступ по HTTP, подразумевая, что перед web-интерфейсом стоит внешний HTTPS-балансер, который терминирует HTTPS и все ссылки в user-authn будут генерироваться с HTTPS-схемой.

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

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

  • ingressClassстрока

    Класс Ingress-контроллера web-интерфейса документации.

    Опциональный параметр, по умолчанию используется глобальное значение modules.ingressClass.

  • nodeSelectorобъект

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

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

    Пример:

    nodeSelector:
      disktype: ssd
    
  • tolerationsмассив объектов

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

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

    Пример:

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