Files
awg-dash/deploy
embeddevio ea63e904b4
ci / lint (pull_request) Successful in 47s
contract-openapi / openapi-contract (push) Successful in 53s
contract-openapi / ts-client-is-current (push) Successful in 36s
contract-openapi / openapi-contract (pull_request) Successful in 58s
contract-openapi / ts-client-is-current (pull_request) Successful in 42s
ci / unit (pull_request) Successful in 53s
ci / security (pull_request) Successful in 1m21s
ci / build (pull_request) Successful in 40s
ci / image-scan (pull_request) Failing after 7s
ci / push (pull_request) Has been skipped
ci / lint (push) Successful in 50s
ci / unit (push) Successful in 52s
ci / security (push) Successful in 1m19s
ci / build (push) Successful in 39s
ci / image-scan (push) Failing after 3s
ci / push (push) Has been skipped
fix(#61): x/crypto v0.58.0 + x/net v0.62.0
После бампа Go 1.26 / alpine 3.23 в образе остались только Go-модули:
  x/crypto v0.43.0 — 5 HIGH (ssh*, фиксы до v0.55.0)
  x/net    v0.45.0 — 16 HIGH (http2/idna/dnsmessage, фиксы до v0.60.0)
Оба подняты на актуальные версии из proxy.golang.org (v0.58.0 / v0.62.0).
В alpine 3.23.7 находок нет (66 пакетов).

Refs #61
2026-10-29 21:51:41 +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.