# Changelog All notable changes to the HRBox Helm chart will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [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` - Включение индексации документов через AI - `AI_SEMANTIC_INDEX_ENABLED` - Семантическое индексирование - `AI_SEMANTIC_INDEX_USE_BATCH` - Пакетная обработка при индексации - `CHATBOX_SENTRY_DSN` - Sentry DSN для Chatbox - `CHATBOX_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-256Mi - `resources.kedoca` - CPU: 0.1-0.5, Memory: 196Mi-256Mi - `resources.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** ```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: Сгенерируйте новый секрет** ```bash # Генерация servicesInternalSecret openssl rand -base64 48 ``` **Шаг 3: Обновите Chart** ```bash helm upgrade hrbox .helm/ \ --namespace hrbox \ --values your-values.yaml ``` **Шаг 4: Проверьте новые поды** ```bash # Проверка новых сервисов 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 ⚠️ **Критические изменения, требующие действий:** 1. **WebSocket → Chatbox**: Обязательное переименование конфигурации - Service name изменился с `{chart}-websocket` на `{chart}-chatbox` - Если есть зависимости от старого имени сервиса - обновите их 2. **Новые обязательные сервисы**: Goworker, Kedoca, File Processor, Chatbox всегда деплоятся - Требуются дополнительные ресурсы кластера - Проверьте доступность ресурсов перед обновлением 3. **Новый секрет**: `secrets.servicesInternalSecret` обязателен - Приложение не запустится без этого секрета - Сгенерируйте перед деплоем 4. **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 --- [2.0.0]: #200---2026-01-30 [1.2.0]: #120---previous-version