Commit Graph

9 Commits

Author SHA1 Message Date
embeddevio 4aa69132ad netns: nsenter в topology.sh, netns_common и документации (#56)
- topology.sh: ns_exec для всех ip -n <ns> и ip netns exec, коды 0/1/3/4.
- netns_common.py: ns_exec_mode()/ns_exec_direct(), addrs/links/link_is_up через ns_sh.
- docker-compose.test.yml: проброс AWG_NS_EXEC_MODE в netns-сервис.
- tests/netns/README.md: режимы входа в netns, коды возврата, новый pitfall.

Refs #21, Refs #15, Refs #56
2026-10-28 21:30:22 +03:00
embeddevio f5e8272c3a docs(#21): отчёт о фактических прогонах гейтов и AC на 192.168.1.147 (HEAD 7af9caba)
Refs #21 Refs #15
2026-10-22 00:16:00 +03:00
embeddevio 7af9cabad3 docs(#21): в шапке compose описан авто-режим dev-up до #31
Refs #21
2026-10-22 00:13:07 +03:00
embeddevio 73e23bc3e4 fix(#21): verify-dev-stand не даёт ложный [fail] после --force-recreate (перезапрос id)
Refs #21 Refs #15
2026-10-22 00:13:07 +03:00
embeddevio b8f715d38a docs(#21): runbook dev-стенда — быстрый старт, таблица AC, зависимости и откат
Refs #21
Refs #15
2026-10-21 23:50:19 +03:00
embeddevio 59c3ad4918 test(#21): тесты инвариантов compose, Make-цели стенда и обновлённый deploy/README
- tests/deploy/test_compose_manifests.py — 7 тестов на compose-инварианты
  (без Docker, только PyYAML) — готовы к включению в CI (#17);
- Makefile: dev-up/dev-up-stub/dev-down/dev-logs/dev-verify/dev-verify-stub/
  dev-reset/test-netns/test-netns-keep/test-netns-ci/test-manifests/lint-shell,
  переменные HOST_DIR, DASH_PORT, NETNS_ARGS; dev-up без docker падает с внятным
  сообщением, а не трейсбеком;
- deploy/README.md — таблица артефактов и быстрые команды стенда.

Refs #21
Refs #15
2026-10-21 23:50:01 +03:00
embeddevio 7d46df5ede test(#21): проверка AC на Docker-хосте и статические инварианты compose
- verify-dev-stand.sh (`make dev-verify`): AC-1 (health 200, различает
  api=real/stub), AC-2 (маркеры в /config и /data до и после restart и
  --force-recreate, включая проверку на хосте), проверка монтирований и
  health контейнера, JSON-отчёт; коды 0/1/2/3 — ok/regression/blocked-#31/
  blocked-env;
- tests/deploy/validate_compose.py — проверки без Docker: контейнерный порт
  8080, тома /config и /data, healthcheck /api/v1/health, NET_ADMIN и
  /dev/net/tun, ip_forward, лимит логов, privileged netns-раннер и DEV-ONLY
  заглушка. Флаг --require-dockerfile для интеграционного дерева.

Refs #21
Refs #15
2026-10-21 23:49:43 +03:00
embeddevio da1c750297 feat(#21): dev-стенд — compose-файлы, health-заглушка до #31
- 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
2026-10-21 23:49:11 +03:00
embeddevio 5647d339b1 chore(#16): каркас пакетов backend, тестов и заглушки ui/deploy/tests 2026-10-21 23:28:59 +03:00