docs: add healthcheck requirements and README_DEPLOY

- Add docs/HEALTHCHECK_REQUIREMENTS.md with full spec (purpose, deploy.sh
  behaviour, endpoint contract, get_health_status(), app requirements,
  infrastructure)
- Add README_DEPLOY.md with healthcheck section, link to requirements
  and HEALTHCHECK_* env vars

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-18 23:11:53 +03:00
parent 8f22fcf6af
commit da8ed4fa2b
2 changed files with 124 additions and 0 deletions

29
README_DEPLOY.md Normal file
View File

@@ -0,0 +1,29 @@
# Деплой / Deploy
Краткое описание процесса деплоя приложений на базе config_manager и используемых скриптов.
A short description of the deploy process for applications based on config_manager and the scripts used.
---
## Healthcheck
После поднятия контейнеров (`docker compose up -d`) скрипт деплоя может ожидать успешного ответа по URL проверки здоровья приложения. При таймауте выполняется откат и выход с ошибкой.
After bringing up containers (`docker compose up -d`), the deploy script may wait for a successful response at the application health-check URL. On timeout, rollback is performed and the script exits with an error.
**Полная спецификация:** [docs/HEALTHCHECK_REQUIREMENTS.md](docs/HEALTHCHECK_REQUIREMENTS.md).
**Full specification:** [docs/HEALTHCHECK_REQUIREMENTS.md](docs/HEALTHCHECK_REQUIREMENTS.md).
### Переменные окружения / Environment variables
| Переменная | Назначение | Пример/дефолт |
| ----------------------- | ---------------------------------------- | ------------------------------- |
| `HEALTHCHECK_URL` | URL для проверки здоровья | `http://127.0.0.1:8000/health` |
| `HEALTHCHECK_TIMEOUT` | Максимальное время ожидания (секунды) | `120` |
| `HEALTHCHECK_INTERVAL` | Интервал между попытками (секунды) | `5` |
Если задана `HEALTHCHECK_URL`, деплой после поднятия контейнеров вызывает этот URL (например, через `curl -fsS --max-time 5`); успех — HTTP 2xx, иначе повтор до истечения `HEALTHCHECK_TIMEOUT`.
If `HEALTHCHECK_URL` is set, deploy calls this URL after bringing up containers (e.g. via `curl -fsS --max-time 5`); success is HTTP 2xx, otherwise retries until `HEALTHCHECK_TIMEOUT` expires.