new hrbox chart version
This commit is contained in:
+233
@@ -0,0 +1,233 @@
|
||||
# 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`
|
||||
- Поддержка Telegram, WhatsApp и других мессенджеров
|
||||
- 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`
|
||||
|
||||
#### Новые переменные окружения
|
||||
|
||||
- `SERVICES_INTERNAL_SECRET` - Секрет для межсервисной коммуникации
|
||||
- `AI_DOCS_INDEX_ENABLED` - Включение индексации документов через AI
|
||||
- `AI_SEMANTIC_INDEX_ENABLED` - Семантическое индексирование
|
||||
- `AI_SEMANTIC_INDEX_USE_BATCH` - Пакетная обработка при индексации
|
||||
- `CHATBOX_SENTRY_DSN` - Sentry DSN для Chatbox
|
||||
- `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**
|
||||
|
||||
```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"
|
||||
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=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
|
||||
|
||||
---
|
||||
|
||||
[2.0.0]: #200---2026-01-30
|
||||
[1.2.0]: #120---previous-version
|
||||
Reference in New Issue
Block a user