Files
hrbox-helm-chart/CHANGELOG.md
T
2026-02-12 11:37:14 +03:00

9.4 KiB
Raw Blame History

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
  • Document Converter (09-document-converter.yaml) - Конвертер документов

    • Образ: hrbox-document-converter:latest
    • Конвертация PDF, DOCX и других форматов
    • Настройки: app.document_converter в values.yaml
    • Переменные: PYTHONUNBUFFERED, DOCCONV_MAX_PARALLEL_TASKS
  • 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.document_converter - CPU: 1, Memory: 512Mi-1024Mi, Ephemeral: 512Mi-1024Mi
  • 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, Document Converter, Chatbox всегда деплоятся

Templates

  • _envs.tpl:

    • Упрощена логика переменных окружения
    • Удалены условия для обязательных сервисов
    • Добавлен блок envs_kedoca для настроек криптографии
  • _resources.tpl:

    • Добавлены определения: goworker_resources, kedoca_resources, document_converter_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: ""

  document_converter:
    image: "cr.yandex/crphnph9c2s776j32sjd/hrbox-document-converter:latest"
    wrappingKey: "" # Cгенерируйте: openssl rand -hex 16
    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=document-converter
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, Document Converter всегда деплоятся

    • Требуются дополнительные ресурсы кластера
    • Проверьте доступность ресурсов перед обновлением
  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)
  • Document Converter требует больше ephemeral storage (512Mi-1024Mi)

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