feat: Implement load balancing and health check features for service groups, including DNS-based load balancing modes and health check configurations, enhancing service reliability and performance monitoring
Build, Test, and Push CFDM Docker Image / test (push) Successful in 4m0s
Build, Test, and Push CFDM Docker Image / build-and-push (push) Successful in 2m13s
Build, Test, and Push CFDM Docker Image / update-wiki (push) Failing after 6s
Build, Test, and Push CFDM Docker Image / create-release (push) Has been skipped
Build, Test, and Push CFDM Docker Image / test (push) Successful in 4m0s
Build, Test, and Push CFDM Docker Image / build-and-push (push) Successful in 2m13s
Build, Test, and Push CFDM Docker Image / update-wiki (push) Failing after 6s
Build, Test, and Push CFDM Docker Image / create-release (push) Has been skipped
This commit is contained in:
@@ -16,6 +16,25 @@ Manage Cloudflare zones, DNS records, domain groups, and TLS certificate expiry
|
||||
| `ADMIN_USERNAME` | Admin username |
|
||||
| `ADMIN_PASSWORD_HASH` | Argon2 hash (empty = dev `admin`/`admin`) |
|
||||
| `LOG_LEVEL` | Уровень логов API (`info`, `debug`) |
|
||||
| `HEALTH_CHECK_CRON` | Cron для health-check (default `*/30 * * * * *`) |
|
||||
| `HEALTH_DEGRADED_FAILURES` | Ошибок подряд до `degraded` (default `1`) |
|
||||
| `HEALTH_DOWN_FAILURES` | Ошибок подряд до `down` (default `2`) |
|
||||
| `HEALTH_LATENCY_WARN_MS` | Латентность-порог для `degraded` (default `1000`) |
|
||||
|
||||
## Load balancing & health checks
|
||||
|
||||
Группа сервисов может иметь общий домен (`service_groups.domain`). Балансировка и
|
||||
health-check работают на двух уровнях:
|
||||
|
||||
- **Общий домен группы** — A-записи формируются из IP сервисов группы; режим LB
|
||||
и параметры health-check настраиваются в карточке группы.
|
||||
- **Привязка сервиса с multi-A** — режим LB и health-check настраиваются в карточке
|
||||
сервиса для каждой привязки с несколькими IP; для IP задаются вес/приоритет.
|
||||
|
||||
Режимы LB: `round_robin`, `failover`, `weighted`. В Cloudflare free `weighted`
|
||||
работает как `round_robin` (одна A на IP), веса хранятся в БД для будущих расширений
|
||||
и отображения в UI. Reconcile DNS запускается cron-задачей `health-check` при смене
|
||||
статуса IP (`up` / `degraded` / `down` / `unknown`); `down`-IP убирается из A-записей.
|
||||
|
||||
## Docker
|
||||
|
||||
|
||||
Reference in New Issue
Block a user