Доступно с ограничениями в редакциях: CE, BE, SE, SE+, EE, CSE Lite (1.73), CSE Pro (1.73)
Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
Требования
К версии Deckhouse: 1.76 и выше.
Параметры
Версия схемы: 1
-
-
целочисленныйsettings.diskSizeGigabytes
Размер диска для хранилища или размер PVC при указании параметра storageClass.
Для HA-конфигураций поддерживается автоматическое увеличение и уменьшение размера PVC.
Для одноузловых конфигураций поддерживается только увеличение размера PVC.
При изменении этого параметра убедитесь, что указанное значение будет достаточным для хранения данных Stronghold.
Модуль extended-monitoring автоматически мониторит процент использования дискового пространства.
По умолчанию:
1 -
булевыйsettings.enableAuditLog
Включает журнал аудита (функция доступна только в EE).
Доступен только при
management.mode: Automatic.Пример:
enableAuditLog: true -
булевыйsettings.enableUserInterfaceВключает пользовательский интерфейс.
По умолчанию:
trueПример:
enableUserInterface: false -
объектsettings.gatewayAPIGateway
Ссылка на объект Gateway (из Gateway API), используемый для Stronghold.
Необязательный параметр. По умолчанию используется глобальное значение
modules.gatewayAPIGateway.Пример:
name: public namespace: d8-alb-
строкаsettings.gatewayAPIGateway.name
Обязательный параметр
Имя объекта Gateway. -
строкаsettings.gatewayAPIGateway.namespace
Обязательный параметр
Неймспейс объекта Gateway.
-
-
объектsettings.https
Тип сертификата, используемого для Stronghold.
При использовании этого параметра полностью переопределяются глобальные настройки
global.modules.https.Примеры:
customCertificate: secretName: stronghold-tls mode: CustomCertificatecertManager: 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, используя сертификат из namespaced8-system;
По умолчанию:
CertManagerДопустимые значения:
CertManager,CustomCertificate
-
-
объектsettings.ingress
-
строкаsettings.ingress.class
Класс Ingress-контроллера, используемый для Stronghold.
Устарел. Используйте
settings.ingressClass.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$Пример:
class: public
-
-
строкаsettings.ingressClass
Класс Ingress-контроллера, используемый для Stronghold.
Необязательный параметр. По умолчанию используется глобальное значение
modules.ingressClass.Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$Пример:
ingressClass: public -
строкаsettings.inlet
Способ реализации подключения к Stronghold.
Поддерживаются следующие типы инлетов:
Ingress— доступ через контроллер ingress-nginx;ALB— доступ через AWS Application Load Balancer;LoadBalancer— доступ через сервис с типомLoadBalancer;NodePort— доступ через порты узлов с помощью сервиса с типомNodePort;None— нет стандартного инлета. Для случаев, когда не нужен доступ снаружи, либо ввод трафика организуется другими способами.
При использовании
LoadBalancer,NodePortилиNoneпараметрhttps.modeдолжен быть установлен вCustomCertificate.По умолчанию:
IngressДопустимые значения:
Ingress,GatewayAPI,LoadBalancer,NodePort,None -
строкаsettings.license
Лицензионный ключ Stronghold EE.
Оставьте пустым, чтобы использовать Stronghold CE.
По умолчанию:
‘’ -
объектsettings.loadBalancerСекция настроек для инлета
LoadBalancer.-
объектsettings.loadBalancer.annotations
Аннотации, которые будут проставлены сервису для гибкой настройки балансировщика.
Внимание. Модуль не учитывает особенности указания аннотаций в различных облаках. Если аннотации для заказа балансировщика применяются только при создании сервиса, для обновления подобных параметров вам необходимо будет выключить и включить модуль.
-
целочисленныйsettings.loadBalancer.clusterPortПорт для безопасного подключения по mTLS для межкластерной коммуникации.
По умолчанию:
8201Допустимые значения:
1 <= X <= 65535 -
целочисленныйsettings.loadBalancer.httpsPortВнешний порт для безопасного подключения по HTTPS на балансировщике, создаваемом через сервис типа
LoadBalancer.По умолчанию:
443Допустимые значения:
1 <= X <= 65535 -
строкаsettings.loadBalancer.loadBalancerClassКласс балансировщика входящих сетевых запросов (пробрасывается в параметр
spec.loadBalancerClassзаказанного сервиса с типомLoadBalancer). -
массив строкsettings.loadBalancer.sourceRanges
Список адресов в формате CIDR, которым разрешен доступ к балансировщику.
Внимание. Облачный провайдер может не поддерживать данную опцию и игнорировать ее.
- Провайдеры поддерживающие опцию: AWS, Azure, GCP.
- Провайдеры игнорирующие опцию: Yandex Cloud.
Для остальных облачных провайдеров поведение может зависеть от особенностей реализации облака. Протестируйте работу опции перед использованием в production-среде.
-
строкаsettings.loadBalancer.sourceRanges.Элемент массива
Шаблон:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
-
-
объектsettings.management
По умолчанию:
{}-
массив объектовsettings.management.administrators
Список пользователей и групп, которые могут получить доступ к Stronghold как администраторы. Другие аутентифицированные пользователи будут получать доступ к Stronghold с политикой по умолчанию.
Доступен только при
management.mode: Automatic.Пример:
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
Режим управления Stronghold:
Automatic— включает автоинициализацию и автораспечатывание Stronghold. Токен root сохраняется в Kubernetes-секретеstronghold-keys. Интеграции с Dex и Kubernetes настраиваются автоматически. Поды автоматически перезапускаются при изменении конфигурации.Manual— автоматическая инициализация отключена. Интеграции с Dex и Kubernetes не настраиваются.
По умолчанию:
AutomaticДопустимые значения:
Automatic,ManualПримеры:
mode: Automaticmode: Manual
-
-
объектsettings.nodePortСекция настроек для инлета
NodePort.-
целочисленныйsettings.nodePort.clusterPort
Порт для безопасного подключения по mTLS для межкластерной коммуникации через
NodePort.Должен быть из диапазона, заданного аргументом
kube-apiserver --service-node-port-range(по умолчанию 30000-32767).Допустимые значения:
30000 <= X <= 32767Пример:
clusterPort: 30201 -
целочисленныйsettings.nodePort.httpsPort
Порт для безопасного подключения по HTTPS через
NodePort.Должен быть из диапазона, заданного аргументом
kube-apiserver --service-node-port-range(по умолчанию 30000-32767).Допустимые значения:
30000 <= X <= 32767Пример:
httpsPort: 30200
-
-
объектsettings.nodeSelector
Структура, аналогичная
spec.nodeSelectorпода Kubernetes.Если значение не указано или указано
false, Stronghold будет размещаться на control-plane узлах.Пример:
node-role.kubernetes.io/stronghold: '' -
массив объектов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.caPEM-сертификат(ы) 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.urlURL для загрузки бинарного плагина (http или https, домен, путь и имя файла). Если файл не доступен, это заблокирует запуск Stronghold, если не указан параметр ignoreFailure.
Шаблон:
^https?://[a-zA-Z0-9][-a-zA-Z0-9.]*[a-zA-Z0-9](/[^/]+)*/[^/.]+$
-
-
объектsettings.publishCluster
Параметры публикации кластера.
Публикация кластера предоставляет возможность организовать Performance и DR Replication между различными кластерами Stronghold. Подробнее в Репликация (Performance и DR). Доступно только в EE-редакции.
При включённой публикации для инлетов с типом
IngressилиGatewayAPIпотребуется указатьclusterIDsкоторые вы хотите опубликовать. Вы можете опубликовать только Performance Replication кластер, или только DR Replication кластер, или оба кластера одновременно. Идентифитор соответствующей группы можно посмотреть через API Stronghold или в UI на странице репликации.При использовании инлета
Ingressдля публикации кластера требуется ingressClass с типом контроллераLoadBalancerWithSSLPassthroughилиHostPortWithSSLPassthrough.-
массив строкsettings.publishCluster.clusterIDs
Идентификаторы кластеров, для которых публикуется кластер Stronghold.
Обязателен при включённой публикации кластера с инлетом
IngressилиGatewayAPI. Не должен задаваться для инлетовNodePortиLoadBalancer.Пример:
clusterIDs: - 89f7566d-ed2b-02c9-4616-f07e87d3799d-
строкаsettings.publishCluster.clusterIDs.Элемент массива
Шаблон:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
-
-
булевыйsettings.publishCluster.enabledВключает публикацию кластера.
По умолчанию:
false
-
-
строкаsettings.storageClass
Имя StorageClass, которое будет использоваться.
По умолчанию Stronghold хранит данные в local storage на master-узлах.
При изменении этого параметра будет произведен поэтапный перенос данных Stronghold на новый StorageClass если используется HA конфигурация Stronghold.
Для одноузловых конфигураций Stronghold этот параметр учитывается только при первом запуске Stronghold.
Если вам нужно изменить StorageClass в одноузловой конфигурации Stronghold, вы можете сделать это через backup/restore и отключение/включение модуля. В этом случае не забывайте сохранить ключи распечатки (unseal keys), как это описано в документации.
При изменении этого параметра убедитесь, что значение, указанное в
diskSizeGigabytes, будет достаточным для хранения данных Stronghold.По умолчанию:
‘’Примеры:
storageClass: ssdstorageClass: ceph-rbd -
массив объектовsettings.tolerations
Структура, аналогичная
spec.tolerationsпода Kubernetes.Если значение не указано или указано
false, будет использоваться автоматика.-
строкаsettings.tolerations.effect
-
строкаsettings.tolerations.key
-
строкаsettings.tolerations.operator
-
целочисленныйsettings.tolerations.tolerationSeconds
-
settings.tolerations.value
-
-