Files
awg-dash/deploy
embeddevio c7f2ea128e deploy: гейт покрытия стенда и тестируемая health-заглушка (#56)
- 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
2026-10-28 21:30:33 +03:00
..

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.