Доступно в редакциях: Ultimate/EE
Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Требования
К версии Deckhouse Platform: 1.72 и выше.
К версиям других модулей:
-
user-authn: любая версия.
Конверсии
Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия:
-
Обновление из версии 1 в 2:
Параметры
postgres.modeиredis.modeстали обязательными: задайте их явно до обновления. Если PostgreSQL и Redis раньше использовали режим развёртывания по умолчанию, укажитеpostgres.mode: internalиredis.mode: internal. ClickHouse появился в этом релизе; еслиclickhouse.modeне задан, модуль работает без ClickHouse (clickhouse.mode: externalс пустымclickhouse.host).
Параметры
Версия схемы: 2
-
-
объектsettings.actionsНастройки действий.
По умолчанию:
{}-
объектsettings.actions.loggingНастройки логирования действий.
По умолчанию:
{}-
булевыйsettings.actions.logging.enabledВключает вывод логов действий в stdout.
По умолчанию:
false
-
-
-
массив строкsettings.additionalImagePullSecrets
Имена дополнительных секретов для загрузки образов из приватных хранилищ образов.
Секреты добавляются после
registry-credsв поды backend, workers, frontend, agent, PostgreSQL, Redis и ClickHouse. Создайте их в неймспейсеd8-development-platform.По умолчанию:
[]Примеры:
additionalImagePullSecrets: []additionalImagePullSecrets: - custom-registry-secretadditionalImagePullSecrets: - additional-secret-1 - additional-secret-2 -
объектsettings.aiНастройки AI-агентов и MCP.
По умолчанию:
{}-
объектsettings.ai.agentНастройки AI-агентов.
По умолчанию:
{}-
объектsettings.ai.agent.auditНастройки журнала запусков AI-агентов.
По умолчанию:
{}-
целое числоsettings.ai.agent.audit.runsRetentionDays
Минимальное количество дней хранения журнала запусков AI-агентов.
Записи удаляются целыми днями раз в сутки.
По умолчанию:
30Допустимые значения:
1 <= XПример:
runsRetentionDays: 30
-
-
-
объектsettings.ai.mcpНастройки MCP.
По умолчанию:
{}-
объектsettings.ai.mcp.auditНастройки журнала вызовов MCP-инструментов.
По умолчанию:
{}-
целое числоsettings.ai.mcp.audit.toolCallsRetentionDays
Минимальное количество дней хранения журнала вызовов MCP-инструментов.
Записи удаляются целыми днями раз в сутки.
По умолчанию:
30Допустимые значения:
1 <= XПример:
toolCallsRetentionDays: 30
-
-
-
-
объектsettings.clickhouse
Настройки подключения к ClickHouse.
В ClickHouse хранятся исторические данные платформы, например история изменений свойств сущностей.
По умолчанию:
{}-
строкаsettings.clickhouse.database
Название базы данных ClickHouse.
DDP применяет к базе данных миграции схемы, но при
mode: externalне создаёт её. Создайте базу данных до запуска модуля.По умолчанию:
ddpПример:
database: ddp -
строкаsettings.clickhouse.host
Имя хоста или IP-адрес сервера ClickHouse. Используется при
mode: external.Оставьте пустым, чтобы работать без функциональности, которой нужен ClickHouse.
По умолчанию:
‘’Примеры:
host: ''host: clickhouse.example.comhost: 192.168.1.102 -
строкаsettings.clickhouse.image
Образ контейнера ClickHouse. Используется при
mode: internal.Значение может содержать адрес хранилища образов, например
registry.example.com/clickhouse/clickhouse-server:24.3.По умолчанию:
clickhouse/clickhouse-server:24.3Пример:
image: clickhouse/clickhouse-server:24.3 -
объектsettings.clickhouse.instanceРесурсы экземпляра, создаваемого при
mode: managed.По умолчанию:
{}-
строкаsettings.clickhouse.instance.classNameНазвание класса managed-модуля. Класс задаёт допустимые размеры и размещение экземпляра.
По умолчанию:
defaultПример:
className: default -
объектsettings.clickhouse.instance.cpuCPU экземпляра.
По умолчанию:
{}-
строкаsettings.clickhouse.instance.cpu.coreFractionГарантированная доля каждого ядра (requests).
По умолчанию:
50%Шаблон:
^[0-9]+%$Примеры:
coreFraction: 50%coreFraction: 100% -
целое числоsettings.clickhouse.instance.cpu.coresКоличество ядер CPU (limit).
По умолчанию:
2Допустимые значения:
1 <= XПримеры:
cores: 2cores: 1
-
-
объектsettings.clickhouse.instance.memoryПамять экземпляра.
По умолчанию:
{}-
строкаsettings.clickhouse.instance.memory.sizeОбъём памяти.
По умолчанию:
8GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 8Gi
-
-
объектsettings.clickhouse.instance.persistentVolumeClaimДиск экземпляра.
По умолчанию:
{}-
строкаsettings.clickhouse.instance.persistentVolumeClaim.sizeРазмер диска.
По умолчанию:
50GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 50Gi -
строкаsettings.clickhouse.instance.persistentVolumeClaim.storageClassNameStorageClass диска. Если не задан, используется StorageClass по умолчанию.
Пример:
storageClassName: replicated
-
-
-
строкаsettings.clickhouse.mode
Обязательный параметр
Режим развёртывания ClickHouse.
internal— модуль разворачивает ClickHouse в кластере.external— модуль подключается к существующему экземпляру ClickHouse или, еслиhostпуст, работает без ClickHouse.managed— модуль создаёт экземпляр ClickHouse с помощью модуляmanaged-clickhouse.
Допустимые значения:
internal,external,managed -
строкаsettings.clickhouse.password
Пароль для подключения к ClickHouse.
При
mode: internalмодуль создаёт сервер ClickHouse с этим паролем.Не используется при
mode: managed.По умолчанию:
ddpПримеры:
password: ddppassword: clickhouse_password -
числоsettings.clickhouse.port
Порт нативного протокола ClickHouse.
Не используется при
mode: managed; managed-экземпляр использует порт9000.По умолчанию:
9000Пример:
port: 9000 -
объектsettings.clickhouse.propertyHistoryНастройки хранения истории изменений свойств сущностей.
По умолчанию:
{}-
строкаsettings.clickhouse.propertyHistory.cleanupIntervalИнтервал удаления истории с истёкшим сроком хранения в формате Go duration.
По умолчанию:
1hПример:
cleanupInterval: 1h -
целое числоsettings.clickhouse.propertyHistory.retentionDays
Минимальное количество дней хранения истории изменений свойств сущностей.
При значении
0история хранится бессрочно.По умолчанию:
180Допустимые значения:
0 <= XПример:
retentionDays: 180
-
-
объектsettings.clickhouse.replicationНастройки доставки данных из PostgreSQL в ClickHouse.
По умолчанию:
{}-
целое числоsettings.clickhouse.replication.outboxBatchSizeМаксимальное количество записей, доставляемых за один цикл репликации.
По умолчанию:
10000Допустимые значения:
1 <= X -
строкаsettings.clickhouse.replication.outboxPollIntervalИнтервал проверки записей, ожидающих доставки, в формате Go duration.
По умолчанию:
5sПримеры:
outboxPollInterval: 5soutboxPollInterval: 10s -
булевыйsettings.clickhouse.replication.outboxReindexEnabled
Включает перестройку индексов очереди в PostgreSQL после доставки большого объёма изменений и освобождение занятого ими места на диске.
Отключите, если обслуживание базы данных выполняется вне DDP.
По умолчанию:
true -
строкаsettings.clickhouse.replication.outboxReindexTimeout
Максимальная длительность перестройки индексов в формате Go duration.
Перестройка, которая длится дольше, прерывается и повторяется при следующей попытке.
По умолчанию:
10mПример:
outboxReindexTimeout: 10m
-
-
строкаsettings.clickhouse.username
Имя пользователя для подключения к ClickHouse.
При
mode: internalмодуль создаёт сервер ClickHouse с этим пользователем.Не используется при
mode: managed.По умолчанию:
defaultПримеры:
username: defaultusername: ddp
-
-
объектsettings.datasourcesНастройки источников данных.
По умолчанию:
{}-
объектsettings.datasources.loggingНастройки логирования источников данных.
По умолчанию:
{}-
булевыйsettings.datasources.logging.enabledВключает вывод логов источников данных в stdout.
По умолчанию:
false
-
-
-
объектsettings.domainНастройки домена веб-интерфейса.
По умолчанию:
{}-
строкаsettings.domain.customDomain
Домен веб-интерфейса. Используется, если
useCustomDomainравенtrue.Указывайте домен без
http://иhttps://.По умолчанию:
example.comПримеры:
customDomain: example.comcustomDomain: ddp.example.com -
строкаsettings.domain.customSecretNameИмя секрета с TLS-сертификатом. Используется, если
useCustomSecretравенtrue.По умолчанию:
example-tlsПримеры:
customSecretName: example-tlscustomSecretName: custom-tls-secret -
строкаsettings.domain.prefixПрефикс домена, формируемого из параметра кластера
publicDomainTemplate. Используется, еслиuseCustomDomainравенfalse.По умолчанию:
ddpПримеры:
prefix: ddpprefix: dev-platform -
булевыйsettings.domain.useCustomDomainВключает использование домена из
customDomainвместо домена, сформированного изprefixи параметра кластераpublicDomainTemplate.По умолчанию:
false -
булевыйsettings.domain.useCustomSecret
Включает использование TLS-сертификата из секрета, указанного в
customSecretName.Секрет должен находиться в неймспейсе
d8-development-platform.По умолчанию:
false
-
-
объектsettings.eventsНастройки событий платформы.
По умолчанию:
{}-
целое числоsettings.events.streamMaxLen
Приблизительное максимальное количество сообщений в каждом потоке событий Redis.
Значение
0или меньше снимает ограничение.По умолчанию:
10000Примеры:
streamMaxLen: 10000streamMaxLen: 5000 -
строкаsettings.events.ttl
Срок хранения событий в формате Go duration.
Допустимые единицы:
ns,us,ms,s,m,h. Дни указывайте в часах:24h— одни сутки.По умолчанию:
96hПримеры:
ttl: 96httl: 720httl: 30m
-
-
строкаsettings.extraCA
Дополнительные сертификаты удостоверяющих центров (CA) в формате PEM.
DDP доверяет этим сертификатам при подключении к другим сервисам, например к Dex по FQDN, если сертификат Dex выпущен вашим CA. Сертификаты монтируются в
/etc/ssl/certs/extraca.crt.По умолчанию:
‘’Примеры:
extraCA: ''extraCA: | -----BEGIN CERTIFICATE----- MIIEKTCCApGgAwIBAgIRAL6BA5jjXYI52wcc3b9UftAwDQYJKoZIhvcNAQELBQAw ... -----END CERTIFICATE----- -
объектsettings.loggerНастройки логирования компонентов DDP.
По умолчанию:
{}-
строкаsettings.logger.executionLevel
Минимальный уровень сообщений в журнале выполнения процесса, действия, синхронизации источника данных или проверки состояния — в веб-интерфейсе и по WebSocket.
Не зависит от
level, который управляет только логами DDP в stdout.По умолчанию:
infoДопустимые значения:
debug,info,warn,error -
строкаsettings.logger.formatФормат логов.
По умолчанию:
logfmtДопустимые значения:
json,logfmt -
строкаsettings.logger.levelУровень логирования.
По умолчанию:
infoДопустимые значения:
debug,info,warn,error
-
-
объектsettings.postgresНастройки подключения к PostgreSQL.
По умолчанию:
{}-
строкаsettings.postgres.database
Название базы данных PostgreSQL.
При
mode: internalмодуль создаёт базу данных с этим названием при первом запуске на пустом томе.По умолчанию:
ddpПримеры:
database: ddpdatabase: development_platformdatabase: my_database -
строкаsettings.postgres.host
Имя хоста или IP-адрес сервера PostgreSQL.
При
mode: internalоставьте значениеpostgres.Не используется при
mode: managed.По умолчанию:
postgresПримеры:
host: postgreshost: localhosthost: 192.168.1.100host: postgres.example.com -
строкаsettings.postgres.image
Образ контейнера PostgreSQL. Используется при
mode: internal.Значение может содержать адрес хранилища образов, например
registry.example.com/postgres:16.3.По умолчанию:
postgres:16.3Примеры:
image: postgres:16.3image: registry.example.com/postgres:18.1image: my-registry.io/postgres:16.3 -
объектsettings.postgres.instanceРесурсы экземпляра, создаваемого при
mode: managed.По умолчанию:
{}-
строкаsettings.postgres.instance.classNameНазвание класса managed-модуля. Класс задаёт допустимые размеры и размещение экземпляра.
По умолчанию:
defaultПример:
className: default -
объектsettings.postgres.instance.cpuCPU экземпляра.
По умолчанию:
{}-
целое числоsettings.postgres.instance.cpu.coreFractionГарантированная доля каждого ядра (requests). В процентах.
По умолчанию:
50Допустимые значения:
1 <= X <= 100Примеры:
coreFraction: 50coreFraction: 100 -
целое числоsettings.postgres.instance.cpu.coresКоличество ядер CPU (limit).
По умолчанию:
2Допустимые значения:
1 <= XПримеры:
cores: 2cores: 4
-
-
объектsettings.postgres.instance.memoryПамять экземпляра.
По умолчанию:
{}-
строкаsettings.postgres.instance.memory.sizeОбъём памяти.
По умолчанию:
4GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 4Gi
-
-
объектsettings.postgres.instance.persistentVolumeClaimДиск экземпляра.
По умолчанию:
{}-
строкаsettings.postgres.instance.persistentVolumeClaim.sizeРазмер диска.
По умолчанию:
20GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 20Gi -
строкаsettings.postgres.instance.persistentVolumeClaim.storageClassNameStorageClass диска. Если не задан, используется StorageClass по умолчанию.
Пример:
storageClassName: replicated
-
-
-
строкаsettings.postgres.mode
Обязательный параметр
Режим развёртывания PostgreSQL.
internal— модуль разворачивает PostgreSQL в кластере.external— модуль подключается к существующему экземпляру PostgreSQL.managed— модуль создаёт экземпляр PostgreSQL с помощью модуляmanaged-postgres.
Допустимые значения:
internal,external,managed -
строкаsettings.postgres.password
Пароль для подключения к PostgreSQL.
При
mode: internalмодуль задаёт пароль пользователя при первом запуске на пустом томе.По умолчанию:
ddpПримеры:
password: ddppassword: secure_password_123 -
числоsettings.postgres.port
Порт PostgreSQL.
Не используется при
mode: managed; managed-экземпляр использует порт5432.По умолчанию:
5432Примеры:
port: 5432port: 35432 -
строкаsettings.postgres.username
Имя пользователя для подключения к PostgreSQL.
При
mode: internalмодуль создаёт пользователя при первом запуске на пустом томе.По умолчанию:
ddpПримеры:
username: ddpusername: postgresusername: db_user
-
-
объектsettings.rbacНастройки управления доступом.
По умолчанию:
{}-
булевыйsettings.rbac.ownerIsAdminАвтоматически выдаёт владельцу ресурса права администратора на этот ресурс.
По умолчанию:
true -
строкаsettings.rbac.superAdminEmail
Обязательный параметр
Email суперадминистратора — пользователя с полным доступом к конфигурации платформы.Пример:
superAdminEmail: admin@example.com
-
-
объектsettings.redisНастройки подключения к Redis.
По умолчанию:
{}-
строкаsettings.redis.databaseИндекс базы данных Redis.
По умолчанию:
0Примеры:
database: '0'database: '1'database: '15' -
строкаsettings.redis.host
Имя хоста или IP-адрес сервера Redis.
При
mode: internalоставьте значениеredis.Не используется при
mode: managed.По умолчанию:
redisПримеры:
host: redishost: localhosthost: 192.168.1.101host: redis.example.com -
строкаsettings.redis.image
Образ контейнера Redis. Используется при
mode: internal.Значение может содержать адрес хранилища образов, например
registry.example.com/redis:7.4.0.По умолчанию:
redis:7.4.0Примеры:
image: redis:7.4.0image: registry.example.com/redis:8.4.0image: my-registry.io/redis:7.4.0 -
объектsettings.redis.instanceРесурсы экземпляра, создаваемого при
mode: managed.По умолчанию:
{}-
строкаsettings.redis.instance.classNameНазвание класса managed-модуля. Класс задаёт допустимые размеры и размещение экземпляра.
По умолчанию:
defaultПример:
className: default -
объектsettings.redis.instance.cpuCPU экземпляра.
По умолчанию:
{}-
строкаsettings.redis.instance.cpu.coreFractionГарантированная доля каждого ядра (requests).
По умолчанию:
50%Шаблон:
^[0-9]+%$Примеры:
coreFraction: 50%coreFraction: 100% -
целое числоsettings.redis.instance.cpu.coresКоличество ядер CPU (limit).
По умолчанию:
1Допустимые значения:
1 <= XПримеры:
cores: 1cores: 2
-
-
объектsettings.redis.instance.memoryПамять экземпляра.
По умолчанию:
{}-
строкаsettings.redis.instance.memory.sizeОбъём памяти.
По умолчанию:
2GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 2Gi
-
-
объектsettings.redis.instance.persistentVolumeClaimДиск экземпляра.
По умолчанию:
{}-
строкаsettings.redis.instance.persistentVolumeClaim.sizeРазмер диска.
По умолчанию:
10GiШаблон:
^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([KMGTPE]i|[numkMGTPE]|[eE][+-]?[0-9]+)?$Пример:
size: 10Gi -
строкаsettings.redis.instance.persistentVolumeClaim.storageClassNameStorageClass диска. Если не задан, используется StorageClass по умолчанию.
Пример:
storageClassName: replicated
-
-
-
строкаsettings.redis.mode
Обязательный параметр
Режим развёртывания Redis.
internal— модуль разворачивает Redis в кластере.external— модуль подключается к существующему экземпляру Redis.managed— модуль создаёт экземпляр Redis с помощью модуляmanaged-valkey.
Допустимые значения:
internal,external,managed -
строкаsettings.redis.password
Пароль для подключения к Redis. Оставьте пустым, если Redis не требует пароля.
Не используется при
mode: managed.По умолчанию:
‘’Примеры:
password: ''password: redis_password -
числоsettings.redis.port
Порт Redis.
Не используется при
mode: managed; managed-экземпляр использует порт6379.По умолчанию:
6379Примеры:
port: 6379port: 6380
-
-
объектsettings.securityНастройки безопасности.
По умолчанию:
{}-
объектsettings.security.headersНастройки HTTP-заголовков безопасности, например CSP и
X-Frame-Options.По умолчанию:
{}-
объектsettings.security.headers.cspНастройки Content Security Policy (CSP).
По умолчанию:
{}-
строкаsettings.security.headers.csp.additionalSources
Дополнительные источники CSP: список URL или специальных значений через пробел.
Источники добавляются в директивы
img-src,connect-src,frame-srcиframe-ancestors.По умолчанию:
‘’Примеры:
additionalSources: ''additionalSources: https://cdn.example.comadditionalSources: https://api.example.com https://cdn.example.com -
булевыйsettings.security.headers.csp.allowExternalImages
Разрешает загрузку изображений с любого домена, например иконок с внешних CDN.
Если параметр отключён, разрешены только изображения из
'self'иdata:.По умолчанию:
falseПримеры:
allowExternalImages: falseallowExternalImages: true -
булевыйsettings.security.headers.csp.allowIframe
Разрешает встраивание веб-интерфейса в iframe на любом домене, например для виджетов.
Если параметр отключён, разрешено только встраивание с того же источника.
По умолчанию:
falseПримеры:
allowIframe: falseallowIframe: true
-
-
булевыйsettings.security.headers.enabledВключает отправку заголовков безопасности в HTTP-ответах.
По умолчанию:
trueПримеры:
enabled: trueenabled: false -
строкаsettings.security.headers.xFrameOptions
Значение заголовка
X-Frame-Options.DENY— страницу нельзя отобразить во фрейме.SAMEORIGIN— страницу можно отобразить во фрейме только на страницах того же источника.
По умолчанию:
SAMEORIGINДопустимые значения:
DENY,SAMEORIGINПримеры:
xFrameOptions: DENYxFrameOptions: SAMEORIGIN
-
-
строкаsettings.security.secretKey
Обязательный параметр
Ключ шифрования сохранённых учётных данных.
Длина ключа — 16, 24 или 32 печатных ASCII-символа. DDP не запускается с ключом из одного повторяющегося символа или с распространённым значением.
Чтобы сменить ключ без потери сохранённых учётных данных, сначала перешифруйте их в веб-интерфейсе, как описано на странице «Начало работы».
Примеры:
secretKey: mySecretKeyDefausecretKey: 16charssecretkeysecretKey: 24characterssecretkey!!xsecretKey: 32characterslongsecretkey1234xyz
-
-
объектsettings.workersНастройки воркеров, которые обрабатывают фоновые задачи.
По умолчанию:
{}-
целое числоsettings.workers.maxTasksМаксимальное количество задач, которые каждый воркер обрабатывает параллельно.
По умолчанию:
10Допустимые значения:
1 <= XПримеры:
maxTasks: 5maxTasks: 10maxTasks: 20 -
целое числоsettings.workers.replicas
Количество реплик воркеров.
Воркеры обрабатывают задачи из очереди: синхронизацию источников данных, выполнение действий и проверки состояния.
По умолчанию:
2Допустимые значения:
0 <= XПримеры:
replicas: 1replicas: 2replicas: 3
-
-