Files
awg-dash/deploy/docker-compose.stub.yml
embeddevio da1c750297 feat(#21): dev-стенд — compose-файлы, health-заглушка до #31
- docker-compose.dev.yml: отдельный project awg-dash-dev, порт 8080 в контейнере
  (наружу AWG_DASH_PORT, по умолчанию 8180 — 8080 занят на dev-хосте), bind mount
  /opt/awg-dash-dev/{config,data} -> /config,/data, healthcheck /api/v1/health,
  NET_ADMIN/NET_RAW/SYS_MODULE, /dev/net/tun, ip_forward, лимит логов;
- docker-compose.stub.yml + api_stub.py — DEV-ONLY заглушка health: AC-1 требует
  FastAPI-каркаса (#31), до него проверяем плумбинг стенда без обмана отчёта
  (в ответе ивно стоит "stub": true);
- docker-compose.test.yml: привилегированный netns-раннер (CAP_SYS_ADMIN нужен
  для `ip netns add`) + сервис app для API-тестов.

Refs #21
Refs #15
2026-10-21 23:49:11 +03:00

24 lines
1.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Оверрайд для dev-стенда: health-заглушка вместо ещё не реализованного API.
#
# Зачем: AC-1 задачи #21 (`curl :8080/api/v1/health` -> 200) физически не может
# выполниться до появления FastAPI-каркаса (#31, Sprint 2). Чтобы проверить
# плумбинг стенда (порт, healthcheck, тома, restart) уже сейчас, этот оверрайд
# подменяет entrypoint на минимальный HTTP-сервер из deploy/api_stub.py.
#
# Это НЕ приложение: заглушка отдаёт 200 только на /api/v1/health и явно
# помечает ответ `"stub": true`. В prod/staging не использовать.
#
# Запуск: docker compose -f deploy/docker-compose.dev.yml -f deploy/docker-compose.stub.yml up -d
# (или make dev-up-stub / make dev-verify-stub)
#
# После мержа #31 оверрайд не нужен: `make dev-up` поднимает реальный API.
services:
awg-dash:
entrypoint: ["python3", "/opt/awg-dash-stub/api_stub.py"]
command: ["--host", "0.0.0.0", "--port", "8080", "--domain", "/config"]
volumes:
- ../deploy/api_stub.py:/opt/awg-dash-stub/api_stub.py:ro
environment:
AWG_API_STUB: "1"