Стадия жизненного цикла модуля: General Availability

Доступно с ограничениями в редакциях BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)

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

Внимание. Включение и отключение модуля имеет особенности. Читайте подробнее в документации по настройке модуля.

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль stronghold, включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля
  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля, или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

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

    d8 system module enable stronghold
  • С помощью ModuleConfig stronghold.

    Установите spec.enabled в true или false в ModuleConfig stronghold (создайте его, при необходимости).

    Пример манифеста для включения модуля stronghold:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: stronghold
    spec:
      enabled: true

Как настроить модуль…

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль stronghold, включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация», или укажите настройки модуля в формате YAML на вкладке «YAML», не включая секцию settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig stronghold на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль stronghold), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig stronghold (подробнее о настройке Deckhouse читайте в документации), выполнив следующую команду:

    d8 k edit mc stronghold

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig stronghold, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>

    Пример файла манифеста ModuleConfig stronghold:

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

Как сменить канал обновлений модуля…

Для смены канала обновлений модуля воспользуйтесь инструкцией.

Требования

К версии Deckhouse: 1.71 и выше.

Параметры

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

  • settings
    объект
    • settings.enableAuditLog
      булевый
      Включает журнал аудита (функция доступнна только в EE).

      Пример:


      enableAuditLog: true
      
    • settings.enableUserInterface
      булевый
      Включает пользовательский интерфейс.

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

      Пример:


      enableUserInterface: false
      
    • settings.https
      объект

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

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

      Примеры:


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

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

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

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

      • settings.https.customCertificate
        объект

        По умолчанию: {}

        • settings.https.customCertificate.secretName
          строка

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

          Secret должен быть в формате TLS.

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

      • settings.https.mode
        строка

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

        • CertManager — Stronghold будет работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметре certManager.clusterIssuerName;
        • CustomCertificate — Stronghold будет работать по HTTPS, используя сертификат из namespace d8-system;

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

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

    • settings.ingress
      объект

      По умолчанию: {}

      • settings.ingress.class
        строка

        Класс Ingress-контроллера, используемый для Stronghold.

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

        Шаблон: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$

        Пример:


        class: public
        
    • settings.inlet
      строка

      Способ реализации подключения к Stronghold.

      Поддерживаются следующие типы инлетов:

      • Ingress — доступ через контроллер ingress-nginx.

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

      Допустимые значения: Ingress

    • settings.license
      строка
      Лицензионный ключ Stronghold EE. Оставьте пустым, чтобы использовать Stronghold CE

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

    • settings.management
      объект

      По умолчанию: {}

      • settings.management.administrators
        массив объектов
        Список пользователей и групп, которые могут получить доступ к Stronghold как администраторы. Другие аутентифицированные пользователи будут получать доступ к Stronghold с политикой по умолчанию.

        Пример:


        administrators:
        - name: admins
          type: Group
        - name: security
          type: Group
        - name: manager@mycompany.tld
          type: User
        
        • settings.management.administrators.name
          строка
        • settings.management.administrators.type
          строка

          Допустимые значения: Group, User

      • settings.management.mode
        строка
        Automatic - включить автоинициализацию и автораспечатывание Stronghold. Токен root будет сохранен в Kubernetes-секрете stronghold-keys

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

        Допустимые значения: Automatic

        Пример:


        mode: Automatic
        
    • settings.plugins
      массив объектов
      Список плагинов для загрузки в Stronghold. Каждый плагин проверяется по контрольной сумме SHA256.

      Пример:


      plugins:
      - ignoreFailure: false
        name: vault-plugin-secrets-github
        sha256: 72cb1f2775ee2abf12ffb725e469d0377fe7bbb93cd7aaa6921c141eddecab87
        url: https://github.com/martinbaillie/vault-plugin-secrets-github/releases/download/v2.3.2/vault-plugin-secrets-github-linux-amd64
      
      • settings.plugins.ca
        строка
        PEM-сертификат(ы) CA для проверки HTTPS-сервера для URL этого плагина. Если задано, доверяется только этот CA (не системные).
      • settings.plugins.ignoreFailure
        булевый
        Если true, ошибка загрузки или проверки этого плагина не останавливает запуск Stronghold, но функционал плагина не будет доступен.

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

      • settings.plugins.insecureSkipVerify
        булевый
        Если true, сертификат TLS сервера для URL этого плагина не проверяется.

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

      • settings.plugins.name
        строка
        Имя файла плагина после загрузки.
      • settings.plugins.sha256
        строка
        Контрольная сумма SHA256 файла. Загрузка отклоняется, если сумма не совпадает. Это заблокирует запуск Stronghold, если не указан параметр ignoreFailure.

        Шаблон: ^[a-fA-F0-9]{64}$

      • settings.plugins.url
        строка
        URL для загрузки бинарного плагина (http или https, домен, путь и имя файла). Если файл не доступен, это заблокирует запуск Stronghold, если не указан параметр ignoreFailure.

        Шаблон: ^https?://[a-zA-Z0-9][-a-zA-Z0-9.]*[a-zA-Z0-9](/[^/]+)*/[^/.]+$