Files
awg-dash/deploy
embeddevio e153143cc1
ci / lint (push) Successful in 51s
ci / lint (pull_request) Successful in 49s
contract-openapi / openapi-contract (push) Successful in 59s
contract-openapi / ts-client-is-current (push) Successful in 48s
contract-openapi / openapi-contract (pull_request) Successful in 59s
contract-openapi / ts-client-is-current (pull_request) Successful in 43s
ci / unit (push) Successful in 52s
ci / security (push) Successful in 1m21s
ci / unit (pull_request) Successful in 55s
ci / security (pull_request) Successful in 1m20s
ci / build (push) Successful in 36s
ci / build (pull_request) Successful in 36s
ci / image-scan (push) Failing after 3s
ci / image-scan (pull_request) Failing after 3s
ci / push (push) Has been skipped
ci / push (pull_request) Has been skipped
Merge branch 'main' into feat/18-docker-runtime
2026-10-29 21:09:40 +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.