--- # Основные настройки приложения HRBox app: # Docker образ приложения HRBox # Получите доступ к реестру у сотрудников HRBox image: "cr.yandex/crphnph9c2s776j32sjd/hrbox:latest" # Настройки домена # defaultTenantHostname - основной домен вашей HRBox инсталляции # Например: hrbox.company.com # Должен совпадать с ingress.host defaultTenantHostname: "hrbox.example.com" # Уникальное имя инстанса для идентификации instanceName: "onprem" # Домен для авторизации # Оставьте пустым authHost: "" # Режим отладки # "0" - production режим (рекомендуется) # "1" - debug режим (только для разработки) debug: "0" # Количество реплик для каждого сервиса # Рекомендации по масштабированию: # - web: 2-10 реплик в зависимости от количества пользователей # - worker: 2-5 реплик для обработки фоновых задач # - websocket: 2-6 реплик для real-time функционала # - geonames: 1-2 реплики (сервис не требователен к ресурсам) replicas: web: 2 worker: 2 websocket: 2 geonames: 1 # PostgreSQL база данных # Требования: PostgreSQL 14+ # Рекомендуется настроить репликацию для отказоустойчивости postgres: host: "postgresql" port: "5432" database: "hrbox" user: "hrbox" # Пароль для подключения к БД password: "" # Использование Citus для шардирования # "true" - если используете Citus расширение # "false" - для обычного PostgreSQL citus: "false" # Redis для кеша и сессий # Потеря данных не критична - хранятся только сессии и кеш # При перезапуске Redis все пользователи будут разлогинены redis: host: "hrbox-dragonfly" port: "6379" # NATS JetStream - брокер сообщений # Для отказоустойчивости используйте кластер из 3+ нод # Формат для кластера: nats://node1:4222,nats://node2:4222,nats://node3:4222 nats: url: "nats://hrbox-nats:4222" # S3-совместимое хранилище для файлов # Поддерживаются: AWS S3, MinIO, Yandex Object Storage, VK Cloud Storage s3: # URL endpoint вашего S3 # Примеры: # - MinIO: http://minio:9000 # - Yandex: https://storage.yandexcloud.net # - VK Cloud: https://hb.vkcloud-storage.ru endpoint: "https://storage.example.com" # Название bucket для хранения файлов bucket: "hrbox" # Access Key для доступа к S3 key: "" # Secret Key для доступа к S3 secret: "" # Регион S3 (обычно us-east-1 для MinIO) region: "us-east-1" # Версия API (оставьте "latest") version: "latest" # Использовать path-style URLs # "true" для MinIO и self-hosted S3 # "false" для AWS S3 pathStyle: "true" # Включить multipart загрузку для больших файлов multipart: "true" # Префикс для всех объектов (опционально) prefix: "" # SMTP настройки для отправки email smtp: # SMTP сервер host: "smtp.example.com" # Порт SMTP # 25 - без шифрования # 587 - STARTTLS # 465 - SSL/TLS port: "587" # Логин для SMTP авторизации user: "noreply@example.com" # Пароль для SMTP password: "" # Email отправителя from: "noreply@example.com" # Домен отправителя для HELO/EHLO fromHost: "example.com" # Тип шифрования: "", "tls", "ssl" securityType: "tls" # Разрешить самоподписанные сертификаты sslAllowSelfSigned: "true" # Проверять SSL сертификат сервера sslVerifyPeer: "false" # Sentry для мониторинга ошибок (опционально) sentry: # DSN для отправки ошибок # Оставьте пустым, чтобы отключить dsn: "" # Окружение для группировки ошибок environment: "production" # Настройки сервиса геолокации geonames: # URL внутреннего сервиса geonames # Не меняйте, если используете стандартный деплой url: "http://hrbox-geonames:8181" # Настройки воркеров Launchpad # Формат: "название-топика:количество-воркеров" launchpad: topics: "launcher:1,file-processor:1,image-processor:1,send-mail:1,send-im:1,send-bell:1,send-push:1,backup:1,cleaning:1" # Интеграция с Yandex (опционально) yandex: # Client ID для Yandex OAuth clientId: "" # Client Secret для Yandex OAuth clientPassword: "" # Интеграция со Slack (опционально) slack: # Slack App Client ID clientId: "" # Slack App Client Secret clientSecret: "" # Slack Verification Token verificationToken: "" # HRBox Hub hub: # URL Hub сервиса url: "https://hub.hrbox.io" # Токен для авторизации в Hub, получите от сотрудника HrBox token: "" # AI интеграции (опционально) ai: # Yandex Cloud AI yandex: # ID каталога в Yandex Cloud folderId: "" # API ключ для Yandex Cloud apiKey: "" # OpenAI интеграция openai: # API ключ OpenAI apiKey: "" # Прокси ключ (если используете прокси) proxyKey: "" # Base URL для API (можно указать прокси) baseUri: "" # Настройки безопасности security: # Разрешить полный доступ к iframe # "true" - разрешает iframe полный доступ к родительскому окну # "false" - ограничивает доступ iframe (рекомендуется для production) iframeFullAccess: "false" # Секретные ключи приложения secrets: # Ключ валидации cookie (32 символа) # Используется для защиты от XSS атак # Генерация: openssl rand -hex 16 cookieValidationKey: "" # Ключ шифрования данных (64 символа) # ВАЖНО: Не теряйте этот ключ! Без него невозможно расшифровать данные # Используется для шифрования паролей интеграций (S3, ADFS и др.) # Генерация: openssl rand -base64 48 encryptionKey: "" # Настройки Ingress ingress: # Включить Ingress enabled: true # Класс Ingress контроллера # Обычно: "nginx" или "traefik" className: "nginx" # Хост для доступа к приложению # Используйте wildcard для мультитенантности: *.hrbox.company.com # Или конкретный домен: hrbox.company.com host: "hrbox.example.com" # Настройки TLS/HTTPS tls: # Включить HTTPS # ВАЖНО: В production всегда используйте HTTPS enabled: true # Имя Kubernetes Secret с SSL сертификатом # Создайте через: kubectl create secret tls hrbox-tls --cert=cert.pem --key=key.pem # Или используйте cert-manager для автоматического получения сертификатов secretName: "hrbox-tls" # Настройки ресурсов для контейнеров # Указаны рекомендуемые значения для production resources: # Web-сервер (PHP-FPM + Nginx) # Обрабатывает HTTP запросы, API, веб-интерфейс app: requests: cpu: "0.5" # Минимум 0.5 CPU memory: "512Mi" # Минимум 512MB RAM ephemeralStorage: "64Mi" limits: cpu: "2" # Максимум 2 CPU memory: "2Gi" # Максимум 2GB RAM ephemeralStorage: "256Mi" # Nginx (в составе web pod) # Проксирует запросы к PHP-FPM nginx: requests: cpu: "0.1" memory: "64Mi" ephemeralStorage: "64Mi" limits: cpu: "0.5" memory: "256Mi" ephemeralStorage: "64Mi" # Worker - обработчик фоновых задач # Выполняет: конвертацию файлов, отправку email, генерацию отчетов worker: requests: cpu: "0.5" memory: "512Mi" ephemeralStorage: "1Gi" # Больше места для обработки файлов limits: cpu: "2" memory: "2Gi" ephemeralStorage: "2Gi" # WebSocket сервер # Обеспечивает real-time функционал, например, уведомления websocket: requests: cpu: "0.1" memory: "128Mi" ephemeralStorage: "64Mi" limits: cpu: "1" memory: "512Mi" ephemeralStorage: "64Mi" # Geonames - сервис геолокации # Определяет города, страны, часовые пояса geonames: requests: cpu: "0.1" memory: "196Mi" ephemeralStorage: "64Mi" limits: cpu: "0.5" memory: "256Mi" ephemeralStorage: "64Mi" # Conductor - планировщик задач # ВАЖНО: Всегда должен быть в единственном экземпляре! # Запускает задачи по расписанию (cron) conductor: requests: cpu: "0.1" memory: "64Mi" ephemeralStorage: "64Mi" limits: cpu: "0.5" memory: "256Mi" ephemeralStorage: "64Mi" # Jobs - одноразовые задачи (миграции, инициализация) jobs: requests: cpu: "0.5" memory: "512Mi" ephemeralStorage: "64Mi" limits: cpu: "2" memory: "2Gi" ephemeralStorage: "256Mi" # Настройки NATS JetStream nats: # Включить NATS (обязательно для работы HRBox) enabled: true # Docker образ NATS image: "nats:2.8" # Количество реплик NATS # Для отказоустойчивости используйте 3 или 5 replicas: 3 # JetStream - персистентные очереди сообщений jetstream: enabled: true # Хранилище в памяти (для небольших инсталляций) memStorage: enabled: true size: "2Gi" # Хранилище на диске (для production) fileStorage: enabled: false size: "4Gi" storageDirectory: "/data" # StorageClass для PVC # Используйте SSD для лучшей производительности storageClassName: "fast-ssd" # Настройки кластера NATS cluster: # Включить кластеризацию для отказоустойчивости enabled: true # Должно совпадать с replicas replicas: 3 # Prometheus exporter (для мониторинга) exporter: enabled: false # Config reloader - автоматическая перезагрузка конфигурации reloader: enabled: true # Время ожидания graceful shutdown в секундах terminationGracePeriodSeconds: 120 dragonfly: # Включает или отключает развёртывание Dragonfly (Redis). # Установите в true, чтобы активировать, или в false, чтобы отключить. enabled: true