chore(test): развернуть и проверить сохранение GRE peer IP

This commit is contained in:
Denozordec committed 2026-10-08 16:18:56 +07:00
1 parent bd3f996f55
commit 26e8225815
11 files changed
+427 -8

No files matched your search

+14 -2
View File
@@ -1,6 +1,6 @@
# Тестовый сервер UX/UI — 2026-10-08
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend source8782054078304f36cc611876af2d17f87b857f60/version1.0.0-test.8782054 healthy. Frontend sourceb55588f29be0de02639bc795801e55b89f03aad7/version1.0.0-test.b55588f обновлён в12.5.45.
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend sourcebd3f996f55cccd312dfe5861900849ca21791be8/version1.0.0-test.bd3f996 healthy. Frontend sourcebd3f996f55cccd312dfe5861900849ca21791be8/version1.0.0-test.bd3f996 обновлён в12.5.53.
| Параметр | Проверенное состояние |
| --- | --- |
@@ -14,7 +14,7 @@
| PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed |
| Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data |
| Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска |
| Образы приложения | mmapp-test/backend:ux-8782054 и mmapp-test/frontend:ux-b55588f;запущены |
| Образы приложения | mmapp-test/backend:ux-bd3f996 и mmapp-test/frontend:ux-bd3f996;запущены |
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).
@@ -373,3 +373,15 @@ Retry POST0, Telegram calls0, JS errors0, SQL fixture counts сохраняли
gre-comment.test.ts проверил create plan→native comment→map→snapshot→restore, Unicode/несколько строк, idempotence, legacy, invalid suffix и explicit clear; планы ограничены GRE/IP, без /ip/route. Прежний entity-snapshots.test.ts passed. Playwright gre-form+gre-toggle5/5: создание/DTO/edit, сохранённый ввод при отказе и неверном receipt, explicit empty remoteInnerIp, подтверждение переключения. Browser ответы локальных проверок подменены; новое metadata на реальном RouterOS этим блоком не принято. Backend tsc --noEmit и scoped frontend typecheck passed. Eslint без ошибок, одно прежнее unused bool предупреждение в entity-snapshots.ts:258; дифф не меняет этот helper.
Код и тесты готовы к сборке; удалённый runtime пока backend8782054/frontendb55588f, реальные GRE объекты из51 удалены. Следующий12.5.53 — production Docker build/deploy backend и frontend, новая собственная GRE пара с независимой проверкой peer read/MTU-toggle/clear/restore, реальный UI и двусторонний Ping, очистка по имени и decoded ownership comment. Пользовательское требование реальных VPN объектов сохраняется. Локальный коммит без push.
## 12.5.53 — развёртывание peer metadata и реальный GRE regression (2026-10-08)
[Развёртывание](ux-ui/acceptance/deployed-bd3f996-2026-10-08.json): backend и frontend из bd3f996f55cccd312dfe5861900849ca21791be8, чистый Git archive SHA256 c154aa8c706d083a791ed04f26bad433cb1ab9a5d9a6c6ec08b5751d7977d46f совпал после передачи. Docker staging повторяет main workflow; обе сборки exit0, Next production compile/full TypeScript passed. Backend imageId sha256:6bb78eaeb922de577d399633ed6fcc821a47ae8abbb947ce6971bb453bfcf6d8, frontend sha256:1f22f4a2900b13bb5b1202e4a98a4c679b57d6453599318b52cbc988a63cc4053. Только две image tag переменные .env обновлены, compose validation/health passed, version1.0.0-test.bd3f996. Прежние образы сохранены. Приватный PG backup1433491bytes/PGDMP/pg_restore --list passed остаётся только на сервере; дамп и секреты в Git не передавались. Push не выполнялся.
[Настоящий GRE lifecycle](ux-ui/acceptance/gre-real-metadata-bd3f996-2026-10-08.json): новая собственная пара на двух CHR, предварительно GRE разделы пусты и подсеть198.18.255.248/30 свободна. POST201/201 вернули запрошенный peer IP и чистый пользовательский комментарий. Независимое чтение native comment подтвердило metadata, MTU1360 и disable/enable сохранили peer; explicit clear и restore собственной первой apply-ревизии подтвердились. Snapshot проверен по имени, одному объекту и peer до restore, текущий GRE state ограничен собственным fixture. Двусторонний Ping после running:true —3/3,0%loss,~54ms. Это plain GRE/point-to-point ICMP, не IPsec или throughput benchmark.
[Browser regression](ux-ui/acceptance/browser-gre-metadata-2026-10-08.json): production frontend/API без HTTP mocks, peer и local IP в формах обоих устройств, comment без служебного suffix, server/tunnel URL и reload сохранены,320px fits. НаCHR1 очистка и повторное сохранение peer через форму дали PATCH200/200, результат перечитан непосредственно с RouterOS. JS errors0. [CHR1](ux-ui/screens/gre-metadata-real-form-server1-320-2026-10-08.png) просмотрен, [CHR2](ux-ui/screens/gre-metadata-real-form-server2-320-2026-10-08.png) сохранён. [Smoke](ux-ui/acceptance/deploy-browser-bd3f996-2026-10-08.json): dashboard/servers/uptime/settings/filters/alerts200,320px fit, JS/API errors0.
Первые browser попытки остановились на меню, которое исчезало при перерисовке. Таймер первой пары удалил собственные объекты. Немедленная сверка /ip/route дала mismatch; финальный harness добавил ограниченное ожидание сходимости маршрутов, не меняя их вручную. Итоговый запуск exit0: DELETE200/200, все выбранные поля GRE/IP/routes/IPv4 Firewall совпали с baseline; CHR1 потребовал одно повторное чтение через250ms, CHR2 совпал сразу. Тестовое меню в успешном проходе пришлось открыть повторно1раз: это не исправленный UX, а отдельная выявленная недоработка для54. Проверка не является доказательством неизменности всех runtime параметров/полного export.
Own GRE интерфейсы, адреса и connected route удалены; эфемерный контейнер и туннель8018 закрыты, остались три основные Compose-службы. Main controls до/после: servers2/speedHistory9/retention14/migrations9 совпадают; GRE audit revisions намеренно сохранены. Следующий12.5.54 — сохранить устойчивость меню действий GRE при перерисовке и проверить профильный сценарий; затем продолжать настоящие VPN объекты. Права, частичные отказы остальных VPN, Portal/Telegram и прочие внешние ограничения остаются открытыми. Локальный коммит без push.