73 lines
3.0 KiB
Markdown
73 lines
3.0 KiB
Markdown
# 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)
|
|
|
|
Прочие настройки и пример `values.yml` с подробным описанием ключей вы можете найти [тут](.helm/values.yaml)
|
|
|
|
### 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
|
|
```
|