da1c750297
- 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
24 lines
1.3 KiB
YAML
24 lines
1.3 KiB
YAML
# Оверрайд для 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"
|