Перейти к содержанию

Запуск и проверка здоровья

Локальный запуск

docker compose -f docker-compose.services.yml up --build

Ожидание готовности инфраструктуры по healthcheck (Compose v2):

docker compose -f docker-compose.services.yml up -d --build --wait --wait-timeout 300

Перед первым стартом убедитесь, что каталог данных PostgreSQL на хосте доступен пользователю 999:999 (образ postgres:15). Иначе возможны Permission denied на global/pg_filenode.map:

bash scripts/docker/ensure_postgres_data_dir.sh

После того как контейнеры запущены, «умная» проверка (БД/Redis healthy + smoke HTTP + PING):

bash scripts/docker/verify_dev_stack.sh

Базовые проверки API

Все Django-сервисы отвечают на GET .../health/ JSON {"service":"<name>","status":"ok"}:

Сервис Локальный URL (dev/CI/prod host port)
auth http://127.0.0.1:8001/api/health/
user http://127.0.0.1:8002/api/health/
product http://127.0.0.1:8003/api/health/
order http://127.0.0.1:8004/api/health/
review http://127.0.0.1:8005/api/health/
admin http://127.0.0.1:8006/api/admin/ops/health/
chat http://127.0.0.1:8007/api/chat/health/
analytics (dev/CI) http://127.0.0.1:8008/api/analytics/health/
analytics (prod) только из сети compose: docker compose exec analytics_service/api/analytics/health/

Автоматизация: bash scripts/ci/check_internal_health_endpoints.sh (HEALTH_CHECK_PROFILE=ci_smoke или production_local).

Дополнительно (legacy liveness без JSON):

  • product_service: GET /api/models/
  • order_service: GET /api/cart/ (ожидаемо 401/403 без auth)
  • chat_service: GET /api/chat/conversations/ (ожидаемо 401/403 без auth)
  • analytics_service: POST /api/analytics/events/batch/ с пустым телом (ожидаемо 400; сервис жив)

После принятия cookie на фронте: batch с валидным visitor_id201. Отчёты: Веб-аналитика.

Проверка зависимостей

  • PostgreSQL: доступность сокета/порта и корректность миграций.
  • Redis: PING и соединение worker.
  • Telegram bot: наличие валидного TELEGRAM_BOT_TOKEN.

Минимальный smoke runbook

  1. Поднять инфраструктуру (db, redis).
  2. Поднять сервисы API.
  3. Выполнить health endpoints.
  4. Проверить регистрацию/логин и доступ к защищенному endpoint с токеном.
  5. Проверить создание и checkout тестового заказа.

Master-alignment

Единые release и incident правила зафиксированы в Master-документации проекта.

Требование Причина Проверка Артефакт
Пострелизный smoke обязателен Раннее обнаружение регрессии smoke runbook release report
Инцидент требует postmortem action list Снижение повторяемости сбоев post-incident review incident log
Документация запуска синхронизирована с фактическим контуром Предсказуемость онбординга и эксплуатации docs review + test run operations docs