Настройка values.yaml
values.yaml — основной файл, которым управляется поведение Helm-чарта Blitz IDP.
Данный раздел не показывает полный референс параметров, а показывает рабочую структуру файла и объясняет, на какие группы параметров нужно обратить внимание в первую очередь.
Обязательные параметры
Минимально для деплоя необходимо настроить:
- domain
- настройки PostgreSQL
- режим config.readOnly
- параметры Vault
- набор включённых модулей
- параметры
Ingress
Базовый пример values.yaml
Ниже приведён минимальный пример для production подхода с Vault и динамической конфигурацией из Git.
domain: "blitz.company.loc"
image:
namePrefix: "reaxoft"
nameSuffix: ""
tag: "5.31.0"
config:
readOnly: false
source:
type: git
git:
repo: https://git.company.loc/blitz/blitz-config.git
ref: main
depth: 1
auth:
existingSecret: "blitz-config-git-creds"
usernameKey: "username"
passwordKey: "password"
shared:
storageClass: "auto"
storageSize: 1Gi
defaultAccessMode: "rwo"
internalStore:
jdbc:
url: "jdbc:postgresql://blitz-pg-postgresql.default.svc.cluster.local:5432/blitz?user=blitz&password=${pswd}&tcpKeepAlive=true&loggerLevel=INFO"
databaseName: "blitz"
pswd: ${BLITZ_INTERNALSTORE_JDBC_SECRET}
vault:
enabled: true
source:
mount: "kv"
path: "blitz/helm/test/env"
connection:
create: true
address: "https://vault.company.loc"
skipTLSVerify: false
auth:
create: true
mount: "approle"
appRole:
roleId: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
secretRef: "vault-approle-secretid"
console:
enabled: true
idp:
enabled: true
replicas: 2
recovery:
enabled: true
reg:
enabled: true
panel:
enabled: false
ldapMfa:
enabled: false
ingress:
enabled: true
className: "traefik"
tls:
enabled: true
secretName: "blitz-idp-tls"
Структура параметров
Глобальные настройки
В верхней части файла настраиваются:
- домен
- общие образы
- настройки безопасности контейнеров
- ресурс
- пробы
- аннотации и лейблы
Это уровень, который влияет сразу на несколько модулей.
Модель поставки конфигурации
Блок config определяет:
- используется ли режим read-only
- откуда брать динамическую конфигурацию
- нужен ли
PersistentVolumeClaim - схема доступа к конфигам
Это ключевой раздел файла. Ошибка здесь обычно приводит к проблемам запуска всей инсталляции.
Параметры Vault
Блок vault включает:
- подключение к Vault
- путь до KV-секрета
- параметры
VaultConnection - параметры
VaultAuth - данные
AppRole
Если Vault не используется, этот блок нужно явно отключить.
Параметры модулей
У каждого модуля есть собственный раздел:
consoleidprecoveryregpanelldapMfa
В них задаются:
- enabled (true/false)
- количество реплик
- имя образа
- pull policy
- ресурсы
- tolerations и nodeSelector
Приоритетные параметры
domain
Определяет публичное имя сервиса и участвует в формировании URL.
internalStore.jdbc.*
Задаёт подключение к PostgreSQL. На практике здесь нужно проверить:
- адрес сервера
- имя базы
- пользователя
- пароль
- сетевую доступность
http.context
Определяет базовый HTTP-путь приложения. По умолчанию используется:
http:
context: /blitz
Если в организации есть требования к URI, этот путь нужно согласовать заранее.
ingress.*
Настраивает публикацию приложения через Ingress:
- включение ресурса
- класс ingress-контроллера
- аннотации
- TLS
- CORS
Пример:
ingress:
enabled: true
className: "nginx"
annotations:
nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
tls:
enabled: true
secretName: "blitz-idp-tls"
pdb.*
Параметры PodDisruptionBudget особенно важны для production среды. Значения по умолчанию уже дают базу для высокой доступности idp, если он работает как минимум в двух репликах.
networkPolicy.*
Если в вашей среде приняты сетевые ограничения, здесь задаётся общий режим:
networkPolicy:
enabled: true
mode: permissive
Для более строгой модели используйте restricted и явные правила доступа.
Два типовых сценария
Сценарий 1. Стандартный запуск
Используйте:
config.readOnly=truevault.enabled=true- только обязательные модули
- стандартный Ingress
Сценарий 2. Конфигурация из Git
Используйте:
config.readOnly=falseconfig.source.type=gitPersistentVolumeClaim- секрет с Git-учётными данными
Рекомендации по оформлению файла
- храните пользовательские переопределения в отдельном файле, например
values-prod.yaml - не редактируйте базовый
helm/values.yamlв установленном чарт-пакете без необходимости - не храните открытые секреты в Git
- группируйте свои overrides по смысловым блокам, а не по случайному порядку