Sprint 1: Watchdog авто-восстановления, fail-closed (kill-switch) и fallback-поведение #23

Open
opened 2026-10-21 23:24:29 +03:00 by embeddevio · 0 comments
Owner

Owner: backend · Est: 5 SP · P0 · Sprint 1 · Deps: #22 · Refs #15

  • Watchdog: нет хендшейка > N сек (порог конфигурируем) → авто-перезапуск туннеля с backoff/лимитом; события в лог и метрики.
  • Fail-closed (kill-switch): трафик, предназначенный для VPN, не уходит напрямую при обрыве — правило drop до восстановления.
  • Явное поведение при недоступности GeoIP-источника: работаем на кэше, а не «всё через VPN» / «всё напрямую» бесконтрольно.

AC:

  • GIVEN обрыв туннеля (убить мок-endpoint), WHEN проходит порог, THEN туннель перезапускается и хендшейк восстанавливается без действий человека (< 30 с).
  • GIVEN обрыв, WHEN с клиентского устройства идёт запрос из VPN-списка, THEN трафик не уходит в аплинк напрямую (fail-closed).
  • GIVEN 5 неудачных попыток подряд, WHEN бэкофф исчерпан, THEN в логах блокировка и на UI явный статус «требуется вмешательство».

DoD: coverage нового кода ≥70%, CI green, ревью владельца роли.

**Owner:** backend · **Est:** 5 SP · **P0** · **Sprint 1** · **Deps:** #22 · Refs #15 - Watchdog: нет хендшейка > N сек (порог конфигурируем) → авто-перезапуск туннеля с backoff/лимитом; события в лог и метрики. - Fail-closed (kill-switch): трафик, предназначенный для VPN, не уходит напрямую при обрыве — правило drop до восстановления. - Явное поведение при недоступности GeoIP-источника: работаем на кэше, а не «всё через VPN» / «всё напрямую» бесконтрольно. AC: - GIVEN обрыв туннеля (убить мок-endpoint), WHEN проходит порог, THEN туннель перезапускается и хендшейк восстанавливается без действий человека (< 30 с). - GIVEN обрыв, WHEN с клиентского устройства идёт запрос из VPN-списка, THEN трафик не уходит в аплинк напрямую (fail-closed). - GIVEN 5 неудачных попыток подряд, WHEN бэкофф исчерпан, THEN в логах блокировка и на UI явный статус «требуется вмешательство». DoD: coverage нового кода ≥70%, CI green, ревью владельца роли.
embeddevio added this to the Sprint 1 — Ядро шлюза: tunnel / routing / GeoIP / DNS milestone 2026-10-21 23:24:29 +03:00
embeddevio added the backendstatus/backlog labels 2026-10-21 23:24:29 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: embeddevio/awg-dash#23