c7f2ea128e
- deploy/api_stub.py: make_server() выделен из main(), main(argv) — тесты поднимают настоящий сервер на порту 0 (покрытие api_stub.py 0 % -> 98 %). - Makefile: make test-deploy (гейт ≥70 % через tests/deploy/pytest.ini), test-netns-ci прокидывает AWG_NS_EXEC_MODE. Refs #21, Refs #15, Refs #56
deploy — сборка и развёртывание
| Артефакт | Назначение | Задача |
|---|---|---|
Dockerfile |
multi-stage: amneziawg-go + awg-tools → runtime alpine | #18 |
entrypoint.sh |
супервизор: awg-agent (root) + awg-api |
#18 |
docker-compose.dev.yml |
dev-стенд: порт 8080, тома /config /data, healthcheck |
#21 |
docker-compose.test.yml |
стенд для тестов | #21 |
docker-compose.stub.yml |
DEV-ONLY оверрайд: health-заглушка до мержа #31 | #21 |
api_stub.py |
минимальный /api/v1/health для проверки плумбинга стенда |
#21 |
verify-dev-stand.sh |
проверка AC #21 на Docker-хосте (make dev-verify) |
#21 |
dev-stand.md |
runbook dev-стенда: запуск, AC, откат, pitfalls | #21 |
grafana/ |
дашборд JSON (опциональный профиль monitoring) | #46 |
awg0.conf.example |
пример клиентского конфига | #22 |
Запуск по ТЗ (после релиза): --network=host, --device=/dev/net/tun, --cap-add=NET_ADMIN --cap-add=SYS_MODULE, --restart always.
Dev-стенд (задача #21)
make dev-up # поднять стенд (compose project awg-dash-dev)
make dev-verify # AC: health 200 + /config /data переживают restart
make dev-up-stub # + health-заглушка, пока нет API (#31)
make dev-logs
make dev-down
- Состояние:
/opt/awg-dash-dev/{config,data}на Docker-хосте (AWG_DASH_HOST_DIR). - Хост-порт:
AWG_DASH_PORT(по умолчанию 8180 — 8080 занят на dev-хосте; в контейнере всегда 8080). - Подробности, таблица AC, откат и pitfalls — dev-stand.md.
Тестовый стенд без реального провайдера
make test-netns # netns-топология client/gw/uplink + мок WireGuard-endpoint
make test-netns-ci # то же в привилегированном контейнере (путь для CI, #17)
make test-manifests # статическая проверка compose-файлов (без Docker)
make lint-shell # shellcheck для скриптов стенда
Описание топологии, тестов и pitfalls — ../tests/netns/README.md.