8.9 KiB
Changelog
All notable changes to the HRBox Helm chart will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.0.0 - 2026-01-30
Масштабная актуализация чарта на основе продового окружения hrbox. Синхронизированы версии компонентов, добавлены новые микросервисы, обновлены переменные окружения.
Added
Новые микросервисы
-
Goworker (
09-goworker.yaml) - Сервис интеграций с мессенджерами- Образ:
hrbox-goworker:2.7 - Prometheus metrics на порту 8686
- Настройки:
app.goworkerв values.yaml - Переменные:
GOWORKER_URL,GOWORKER_PUSH_MIN_INTERVAL,GOWORKER_SENTRY_DSN
- Образ:
-
Kedoca (
09-kedoca.yaml) - Сервис электронной подписи- Образ:
hrbox-kedoca:0.8 - Поддержка ГОСТ и OpenSSL
- Монтирование Kubernetes Secret с CA сертификатами
- Настройки:
app.kedocaв values.yaml - Переменные:
KEDOCA_URL,TSP_URL,ROOT_CA_PASS,KEDO_ENGINE,KEDO_ALGORITHM,KEDO_PKEYOPT
- Образ:
-
File Processor (
09-file-processor.yaml) - Обработка файлов (конвертация, ресайз изображений)- Образ:
hrbox-file-processor:1.0 - Настройки:
app.file_processorв values.yaml VIDEO_CONVERTER_ENABLEDзахардкожен вfalse(видео-конвертация отключена)
- Образ:
Новые переменные окружения
SERVICES_INTERNAL_SECRET- Секрет для межсервисной коммуникацииAI_DOCS_INDEX_ENABLED- Включение индексации документов через AIAI_SEMANTIC_INDEX_ENABLED- Семантическое индексированиеAI_SEMANTIC_INDEX_USE_BATCH- Пакетная обработка при индексацииCHATBOX_SENTRY_DSN- Sentry DSN для ChatboxCHATBOX_WRAPPING_KEY- часть ключа для шифрования чатовSINGLE_TENANT- Режим single-tenant для on-premise установокTSP_URL- URL службы временных меток (http://qs.cryptopro.ru/tsp/tsp.srf)
Новые секреты
secrets.servicesInternalSecret- Секрет для защиты внутренних API между микросервисами- Генерация:
openssl rand -base64 48
- Генерация:
Resource definitions
Добавлены resource limits/requests для новых сервисов:
resources.goworker- CPU: 0.1-0.3, Memory: 196Mi-256Miresources.kedoca- CPU: 0.1-0.5, Memory: 196Mi-256Miresources.chatbox- CPU: 0.3, Memory: 96Mi-192Mi
Changed
Обновление версий
- Chart version:
1.2.0→2.0.0 - App version:
2.0.0→3.0.0
Chatbox (ранее WebSocket)
- Образ обновлен:
hrbox-websocket:2.1→hrbox-chatbox:3.0 - Переименован deployment:
{chart}-websocket→{chart}-chatbox - Переименован service:
{chart}-websocket→{chart}-chatbox - Переименована конфигурация:
app.replicas.websocket→app.replicas.chatbox- Файл остался
03-websocket.yamlно содержимое обновлено на chatbox
Архитектура
- Все микросервисы теперь обязательны (не опциональны)
- Удалены условия
{{- if .Values.app.goworker }}из templates - Удалены
| defaultзначения для обязательных параметров - Goworker, Kedoca, File Processor, Chatbox всегда деплоятся
- Удалены условия
Templates
-
_envs.tpl:- Упрощена логика переменных окружения
- Удалены условия для обязательных сервисов
- Добавлен блок
envs_kedocaдля настроек криптографии
-
_resources.tpl:- Добавлены определения:
goworker_resources,kedoca_resources,chatbox_resources
- Добавлены определения:
-
_helpers.tpl:- Без изменений, сохранена совместимость
Removed
Устаревшие компоненты
- WebSocket сервис - Полностью заменен на Chatbox 3.0
- Удалено:
app.replicas.websocketиз values.yaml - Удалено:
resources.websocketиз values.yaml
- Удалено:
Устаревшие интеграции
- OpenAI - Интеграция удалена, используйте HRBox Hub
- Удален блок:
app.ai.openaiс полямиapiKey,proxyKey,baseUri - Удалены переменные:
OPENAI_API_KEY,OPENAI_PROXY_KEY,OPENAI_BASE_URI
- Удален блок:
Migration Guide
Миграция с версии 1.x на 2.0
Шаг 1: Обновите values.yaml
# 1. Переименуйте websocket в chatbox
app:
replicas:
# websocket: 2 # УДАЛИТЬ
chatbox: 2 # ДОБАВИТЬ
# 2. Добавьте новые сервисы
app:
goworker:
url: "http://hrbox-goworker:8686"
image: "cr.yandex/crphnph9c2s776j32sjd/hrbox-goworker:2.7"
replicas: 2
pushMinInterval: "5m"
sentryDsn: ""
kedoca:
url: "http://hrbox-kedoca:8558"
image: "cr.yandex/crphnph9c2s776j32sjd/hrbox-kedoca:0.8"
replicas: 1
rootCaPass: "hrbox"
engine: "gost"
algorithm: "gost2012_256"
pkeyopt: "paramset:A"
secretName: ""
file_processor:
image: "cr.yandex/crphnph9c2s776j32sjd/hrbox-file-processor:1.0"
replicas: 1
chatbox:
image: "cr.yandex/crphnph9c2s776j32sjd/hrbox-chatbox:3.0"
sentryDsn: ""
# 3. Добавьте новый секрет
secrets:
servicesInternalSecret: "" # Сгенерируйте: openssl rand -base64 48
# 4. Удалите OpenAI (если был настроен)
app:
ai:
# openai: # УДАЛИТЬ весь блок
# apiKey: ""
# proxyKey: ""
# baseUri: ""
Шаг 2: Сгенерируйте новый секрет
# Генерация servicesInternalSecret
openssl rand -base64 48
Шаг 3: Обновите Chart
helm upgrade hrbox .helm/ \
--namespace hrbox \
--values your-values.yaml
Шаг 4: Проверьте новые поды
# Проверка новых сервисов
kubectl get pods -n hrbox -l app=goworker
kubectl get pods -n hrbox -l app=kedoca
kubectl get pods -n hrbox -l app=file-processor
kubectl get pods -n hrbox -l app=chatbox
# Убедитесь что старый websocket удален
kubectl get pods -n hrbox -l app=websocket # Должно быть пусто
Breaking Changes
⚠️ Критические изменения, требующие действий:
-
WebSocket → Chatbox: Обязательное переименование конфигурации
- Service name изменился с
{chart}-websocketна{chart}-chatbox - Если есть зависимости от старого имени сервиса - обновите их
- Service name изменился с
-
Новые обязательные сервисы: Goworker, Kedoca, File Processor, Chatbox всегда деплоятся
- Требуются дополнительные ресурсы кластера
- Проверьте доступность ресурсов перед обновлением
-
Новый секрет:
secrets.servicesInternalSecretобязателен- Приложение не запустится без этого секрета
- Сгенерируйте перед деплоем
-
OpenAI удален: Используйте HRBox Hub для AI интеграций
- Миграция на Hub API требуется если использовали OpenAI
Notes
- Все образы сервисов используют registry:
cr.yandex/crphnph9c2s776j32sjd/ - Для работы Kedoca с сертификатами создайте Kubernetes Secret и укажите в
kedoca.secretName - Goworker экспортирует метрики Prometheus на
/metrics(порт 8686) - File Processor деплоится с
VIDEO_CONVERTER_ENABLED=false(видео-конвертация отключена)
1.2.0 - Previous version
Упрощенный Helm chart для on-premise установок HRBox.
Initial Features
- Базовые компоненты: web, worker, websocket, geonames, conductor
- PostgreSQL, Redis, NATS JetStream
- Ingress с TLS
- ConfigMaps и resource limits
- Migration и update jobs