# HRBox Helm Chart Helm-чарт для развертывания приложения HRBox в Kubernetes. --- ## Быстрый старт ### 1. Создайте секрет для доступа к Docker-реестру Для скачивания приватного Docker-образа создайте Kubernetes Secret с помощью предоставленного JSON-ключа: ```bash kubectl create secret docker-registry regsecret \ --docker-username=json_key \ --docker-password="$(cat key-puller.json)" \ --docker-server=cr.yandex \ --docker-email=not@used.com ``` ### 2. Создайте TLS-секрет с сертификатом для домена ```bash kubectl create secret tls hrbox-tls --cert=cert.pem --key=key.pem ``` ### 3. Сгенерируйте секретные ключи приложения Для обеспечения безопасности необходимо сгенерировать и указать в `values.yaml` следующие ключи: - **cookieValidationKey** — 32 байта в hex (например: `openssl rand -hex 16`) - **encryptionKey** — 64 байта в base64 (например: `openssl rand -base64 48`) Эти ключи используются для защиты cookie и шифрования данных. ### 4. Заполните обязательные параметры в `values.yaml` Обязательно укажите в конфигурации: - Параметры подключения к базе данных PostgreSQL (`app.postgres.host`, `port`, `database`, `user`, `password`). - Настройки S3-совместимого хранилища (`app.s3.endpoint`, `bucket`, `key`, `secret`). - SMTP-настройки для отправки почты (`app.smtp.host`, `port`, `user`, `password`, `from`, `fromHost`). - Домен для приложения (`app.defaultTenantHostname`) и Ingress (`ingress.host`). - Имя TLS-секрета для HTTPS (`ingress.tls.secretName`), созданного на шаге 2. - Ключ для hrbox hub (предоставляется сотрудниками hrbox) ### 5. Установите или обновите Helm-релиз ```bash helm upgrade --install hrbox . -f values.yaml ``` ### 6. Дождитесь завершения миграций Job `hrbox-migrate-xxxxx` должна завершиться ### 7. При первом развертывании - создайте суперпользователя ```bash kubectl get pods NAME READY STATUS RESTARTS AGE ... hrbox-worker-7898b77b85-5ppwm 1/1 Running 0 53s hrbox-worker-7898b77b85-9fnkc 1/1 Running 0 53s kubectl exec -it hrbox-worker-7898b77b85-5ppwm bash php yii user/create-admin youremail@hrbox.io --tenant-id=1 ```