From 37bc356ff794bc405f5ffd181e5ef5f01726195e Mon Sep 17 00:00:00 2001 From: Denozordec Date: Thu, 8 Oct 2026 15:14:51 +0700 Subject: [PATCH] =?UTF-8?q?chore(test):=20=D0=B7=D0=B0=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=81=D0=B5?= =?UTF-8?q?=D1=82=D0=B5=D0=B2=D1=83=D1=8E=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8E=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D1=8B=D1=85=20CHR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ux-ui-external-acceptance.md | 21 + docs/ux-ui-plan.md | 4 +- docs/ux-ui-progress.md | 25 +- docs/ux-ui-stage-12.md | 23 +- docs/ux-ui-test-server.md | 21 + .../chr-network-inventory-2026-10-08.json | 480 ++++++++++++++++++ 6 files changed, 569 insertions(+), 5 deletions(-) create mode 100644 docs/ux-ui/acceptance/chr-network-inventory-2026-10-08.json diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index 6786c610..51f0fbb1 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -322,3 +322,24 @@ Retry POST0, Telegram calls0, JS errors0, SQL fixture counts сохраняли [Готовность Telegram](ux-ui/acceptance/telegram-readiness-2026-10-08.json): штатный GET alerts на основном тестовом стенде, сохранены только признаки tokenConfigured=false/chatConfigured=false/threadConfigured=false. Токен, chat ID и исходный ответ не сохранялись. Telegram пока не настроен; real-message сценарии не могут быть приняты по подменённым ответам. Для этой ветки нужен отдельный тестовый бот/чат в приложении и явное разрешение на одно конкретное тестовое сообщение; до этого внешние сообщения не отправлять. Этап12.5 остаётся открытым. Проверенные группы не заменяют остальные PG/ROS/Portal/интеграционные сценарии протокола. Следующий12.5.50 — read-only инвентаризация двух CHR для определения доступных VPN/маршрутизации/диагностики и подготовки оставшихся сетевых проверок; конфигурацию устройств этим шагом не менять. План/паспорт/протокол синхронизированы. Локальный коммит без push. + +## 12.5.50 — инвентаризация двух CHR без изменения конфигурации (2026-10-08) + +[Отчёт CHR](ux-ui/acceptance/chr-network-inventory-2026-10-08.json): штатный MikrotikClient из backend8782054, соединения из существующих записей основной тестовой БД, только enabled устройства194.226.121.150/id1 и104.165.244.7/id2. Использованы исключительно GET; post/put/patch/delete в тестовом процессе дополнительно запрещены. Не запускались Ping/bandwidth, scheduler или buildApp. Сырые VPN ответы, ключи и пароли оставались в памяти и не сохранялись/не выводились. + +Оба устройства отвечают, RouterOS7.24.5 stable, CHR; оба имеют appType home-router. На каждом прочитаны19 разделов и повторно сверены выбранные конфигурационные поля; вместе с resource78 GET. Все разделы доступны, selectedConfigurationUnchanged=true. Сверка ограничена перечисленными в harness полями, не является полным export или доказательством отсутствия любых внешних изменений. + +| Раздел | CHR1 / CHR2 | Следствие для приёмки | +| --- | --- | --- | +| Интерфейсы | 2/2: ether и loopback | Нет VPN-интерфейсов для действий над существующим туннелем | +| IPv4 адреса / маршруты | 1/2 адреса,4/5 маршрутов | Существующая адресация и маршруты сохранены; connectivity этим GET не доказана | +| WireGuard / peers, GRE, VXLAN | 0/0 в каждом разделе | Можно проверить истинное пустое состояние; ROS6 lifecycle/connectivity требует отдельного тестового объекта | +| IPsec | Peers0,active-peers0; на каждом1policy/template | Стандартный template не считать действующим VPN | +| BGP connections/sessions | 0/0 | Для реального сценария нужны тестовый peer и сессия | +| OSPF instances/templates/neighbors | 0/0 | Preview/apply/factual cost в ROS5 пока проверить не на чем | +| IPv4 Firewall filter/NAT/mangle, routing filters | 0/0 | Пустая конфигурация подтверждена; IPv6 и реальные изменения правил не приняты | +| Роли приложения | home-router/home-router | Home→JH и JH↔Exit в ROS4 не подтверждены текущей парой ролей | + +Контроль основной БД до/после совпадает: servers2, speedHistory9, retention14. Дополнительный SELECT подтвердил роли home-router. Эфемерный контейнер завершён/удалён, pool закрыт; остались только три основные Compose-службы. Пароли, адресация и правила устройств не менялись. Эта инвентаризация не закрывает ROS4/5/6 или остальные внешние ограничения. + +Следующий12.5.51 — проверить реальные пустые состояния, выбор устройства/URL-контекст и доступность форм сетевых экранов на production frontend, без изменения RouterOS. После этого конкретный план создания изолированных тестовых объектов должен сохранять административный доступ и существующую конфигурацию. План/паспорт/протокол синхронизированы; локальный коммит без push. diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index 790f386d..37dabdea 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -1,12 +1,12 @@ # План реализации UX/UI по пятичасовым окнам -Актуальное продолжение 2026-10-08: 12.5.49 сверил evidence и собрал Q-матрицу: claim/dedupe/retry/RBAC/source isolation/a11y подтверждены в указанных границах; реальная Telegram доставка, физический разрыв и multi-instance не приняты. Read-only Telegram readiness: tokenConfigured=false/chatConfigured=false, сообщений0. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.50 — read-only инвентаризация CHR для оставшихся сетевых сценариев; Telegram ветка требует отдельного бота/чата и разрешения на сообщение. +Актуальное продолжение 2026-10-08: 12.5.50 GET-only инвентаризация двух CHR прошла:78 чтений, RouterOS7.24.5, выбранные поля конфигурации при повторном чтении совпали. VPN/BGP/OSPF и IPv4 Firewall не настроены, IPsec содержит только стандартный template. Оба app типа home-router; ROS4/5/6 действия и связность этим не подтверждены. Main controls2servers/9speed/retention14 сохранены. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.51 — реальные пустые состояния и контекст сетевых экранов без изменения RouterOS. Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-08. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат. ## Актуальная точка продолжения — 2026-10-08 -Этапы0–11 завершены в описанных локальных границах. Этап12 открыт. На тестовом сервере161.104.46.222 работают backend8782054/frontendb55588f и два CHR. Внешние проверки подтвердили PG backup/restore/rollback, остановку фоновой работы для одного экземпляра, API JWT/RBAC и браузерные состояния восстановления. Native TCP/UDP speed, история и UI проверены в границах журнала; доступ ко второму CHR восстановлен пользователем. Очередь Telegram проверена на реальном PG: dedupe, конкурентный claim, retry/version, ошибки сохранения и неопределённый исход; ответы отправителя подменялись, реальной доставки это не доказывает. Блоки12.5.43–45 подтвердили browser retry/checkpoint и развернули понятное пояснение HTTP500. 12.5.46 подтвердил browser JWT/RBAC очереди на реальном HTTP/PG; 12.5.47 подтвердил изоляцию checkpoint при смене двух реальных HTTP/PG источников в конфигурации local; 12.5.48 подтвердил scoped axe/клавиатуру в обеих темах и320px; 12.5.49 собрал Q-матрицу и подтвердил отсутствие настройки Telegram; следующий12.5.50 — read-only инвентаризация CHR для оставшихся сетевых сценариев. Реальная Telegram доставка, Portal SSO, физический TCP disconnect, multi-instance и остальные профильные сетевые сценарии остаются открытыми. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) содержат доказательства и ограничения. +Этапы0–11 завершены в описанных локальных границах. Этап12 открыт. На тестовом сервере161.104.46.222 работают backend8782054/frontendb55588f и два CHR. Внешние проверки подтвердили PG backup/restore/rollback, остановку фоновой работы для одного экземпляра, API JWT/RBAC и браузерные состояния восстановления. Native TCP/UDP speed, история и UI проверены в границах журнала; доступ ко второму CHR восстановлен пользователем. Очередь Telegram проверена на реальном PG: dedupe, конкурентный claim, retry/version, ошибки сохранения и неопределённый исход; ответы отправителя подменялись, реальной доставки это не доказывает. Блоки12.5.43–45 подтвердили browser retry/checkpoint и развернули понятное пояснение HTTP500. 12.5.46 подтвердил browser JWT/RBAC очереди на реальном HTTP/PG; 12.5.47 подтвердил изоляцию checkpoint при смене двух реальных HTTP/PG источников в конфигурации local; 12.5.48 подтвердил scoped axe/клавиатуру в обеих темах и320px; 12.5.49 собрал Q-матрицу и подтвердил отсутствие настройки Telegram; 12.5.50 подтвердил GET-only инвентаризацию: VPN/BGP/OSPF пусты, роли home-router/home-router; следующий12.5.51 — production UI пустых сетевых состояний и контекста устройства. Реальная Telegram доставка, Portal SSO, физический TCP disconnect, multi-instance и остальные профильные сетевые сценарии остаются открытыми. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) содержат доказательства и ограничения. Выполненные внешние сценарии не заменяют приёмку оставшихся интеграций и условий эксплуатации. Датированные продолжения ниже — история; точный следующий шаг указан в начале [журнала](ux-ui-progress.md). diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index 7eec28ba..758eb5f9 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,6 +1,6 @@ # UX/UI: журнал реализации -Актуальное продолжение 2026-10-08: 12.5.49 сверил evidence и собрал Q-матрицу: claim/dedupe/retry/RBAC/source isolation/a11y подтверждены в указанных границах; реальная Telegram доставка, физический разрыв и multi-instance не приняты. Read-only Telegram readiness: tokenConfigured=false/chatConfigured=false, сообщений0. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.50 — read-only инвентаризация CHR для оставшихся сетевых сценариев; Telegram ветка требует отдельного бота/чата и разрешения на сообщение. +Актуальное продолжение 2026-10-08: 12.5.50 GET-only инвентаризация двух CHR прошла:78 чтений, RouterOS7.24.5, выбранные поля конфигурации при повторном чтении совпали. VPN/BGP/OSPF и IPv4 Firewall не настроены, IPsec содержит только стандартный template. Оба app типа home-router; ROS4/5/6 действия и связность этим не подтверждены. Main controls2servers/9speed/retention14 сохранены. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.51 — реальные пустые состояния и контекст сетевых экранов без изменения RouterOS. Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md). @@ -32,7 +32,28 @@ | 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 | | 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 | | 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 | -| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–49 и ограничения ниже. Runtime backend8782054/frontendb55588f. | +| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–50 и ограничения ниже. Runtime backend8782054/frontendb55588f. | + +## 12.5.50 — инвентаризация двух CHR без изменения конфигурации (2026-10-08) + +[Отчёт CHR](ux-ui/acceptance/chr-network-inventory-2026-10-08.json): штатный MikrotikClient из backend8782054, соединения из существующих записей основной тестовой БД, только enabled устройства194.226.121.150/id1 и104.165.244.7/id2. Использованы исключительно GET; post/put/patch/delete в тестовом процессе дополнительно запрещены. Не запускались Ping/bandwidth, scheduler или buildApp. Сырые VPN ответы, ключи и пароли оставались в памяти и не сохранялись/не выводились. + +Оба устройства отвечают, RouterOS7.24.5 stable, CHR; оба имеют appType home-router. На каждом прочитаны19 разделов и повторно сверены выбранные конфигурационные поля; вместе с resource78 GET. Все разделы доступны, selectedConfigurationUnchanged=true. Сверка ограничена перечисленными в harness полями, не является полным export или доказательством отсутствия любых внешних изменений. + +| Раздел | CHR1 / CHR2 | Следствие для приёмки | +| --- | --- | --- | +| Интерфейсы | 2/2: ether и loopback | Нет VPN-интерфейсов для действий над существующим туннелем | +| IPv4 адреса / маршруты | 1/2 адреса,4/5 маршрутов | Существующая адресация и маршруты сохранены; connectivity этим GET не доказана | +| WireGuard / peers, GRE, VXLAN | 0/0 в каждом разделе | Можно проверить истинное пустое состояние; ROS6 lifecycle/connectivity требует отдельного тестового объекта | +| IPsec | Peers0,active-peers0; на каждом1policy/template | Стандартный template не считать действующим VPN | +| BGP connections/sessions | 0/0 | Для реального сценария нужны тестовый peer и сессия | +| OSPF instances/templates/neighbors | 0/0 | Preview/apply/factual cost в ROS5 пока проверить не на чем | +| IPv4 Firewall filter/NAT/mangle, routing filters | 0/0 | Пустая конфигурация подтверждена; IPv6 и реальные изменения правил не приняты | +| Роли приложения | home-router/home-router | Home→JH и JH↔Exit в ROS4 не подтверждены текущей парой ролей | + +Контроль основной БД до/после совпадает: servers2, speedHistory9, retention14. Дополнительный SELECT подтвердил роли home-router. Эфемерный контейнер завершён/удалён, pool закрыт; остались только три основные Compose-службы. Пароли, адресация и правила устройств не менялись. Эта инвентаризация не закрывает ROS4/5/6 или остальные внешние ограничения. + +Следующий12.5.51 — проверить реальные пустые состояния, выбор устройства/URL-контекст и доступность форм сетевых экранов на production frontend, без изменения RouterOS. После этого конкретный план создания изолированных тестовых объектов должен сохранять административный доступ и существующую конфигурацию. План/паспорт/протокол синхронизированы; локальный коммит без push. ## 12.5.49 — сводка очереди и оставшихся внешних условий (2026-10-08) diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index e6829f03..77cbe033 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -1,6 +1,6 @@ # Этап 12: итоговая приёмка UX/UI -Актуальное продолжение 2026-10-08: 12.5.49 сверил evidence и собрал Q-матрицу: claim/dedupe/retry/RBAC/source isolation/a11y подтверждены в указанных границах; реальная Telegram доставка, физический разрыв и multi-instance не приняты. Read-only Telegram readiness: tokenConfigured=false/chatConfigured=false, сообщений0. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.50 — read-only инвентаризация CHR для оставшихся сетевых сценариев; Telegram ветка требует отдельного бота/чата и разрешения на сообщение. +Актуальное продолжение 2026-10-08: 12.5.50 GET-only инвентаризация двух CHR прошла:78 чтений, RouterOS7.24.5, выбранные поля конфигурации при повторном чтении совпали. VPN/BGP/OSPF и IPv4 Firewall не настроены, IPsec содержит только стандартный template. Оба app типа home-router; ROS4/5/6 действия и связность этим не подтверждены. Main controls2servers/9speed/retention14 сохранены. Runtime backend8782054/frontendb55588f прежний. Следующий12.5.51 — реальные пустые состояния и контекст сетевых экранов без изменения RouterOS. План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push. @@ -1487,3 +1487,24 @@ Retry POST0, Telegram calls0, JS errors0, SQL fixture counts сохраняли [Готовность Telegram](ux-ui/acceptance/telegram-readiness-2026-10-08.json): штатный GET alerts на основном тестовом стенде, сохранены только признаки tokenConfigured=false/chatConfigured=false/threadConfigured=false. Токен, chat ID и исходный ответ не сохранялись. Telegram пока не настроен; real-message сценарии не могут быть приняты по подменённым ответам. Для этой ветки нужен отдельный тестовый бот/чат в приложении и явное разрешение на одно конкретное тестовое сообщение; до этого внешние сообщения не отправлять. Этап12.5 остаётся открытым. Проверенные группы не заменяют остальные PG/ROS/Portal/интеграционные сценарии протокола. Следующий12.5.50 — read-only инвентаризация двух CHR для определения доступных VPN/маршрутизации/диагностики и подготовки оставшихся сетевых проверок; конфигурацию устройств этим шагом не менять. План/паспорт/протокол синхронизированы. Локальный коммит без push. + +## 12.5.50 — инвентаризация двух CHR без изменения конфигурации (2026-10-08) + +[Отчёт CHR](ux-ui/acceptance/chr-network-inventory-2026-10-08.json): штатный MikrotikClient из backend8782054, соединения из существующих записей основной тестовой БД, только enabled устройства194.226.121.150/id1 и104.165.244.7/id2. Использованы исключительно GET; post/put/patch/delete в тестовом процессе дополнительно запрещены. Не запускались Ping/bandwidth, scheduler или buildApp. Сырые VPN ответы, ключи и пароли оставались в памяти и не сохранялись/не выводились. + +Оба устройства отвечают, RouterOS7.24.5 stable, CHR; оба имеют appType home-router. На каждом прочитаны19 разделов и повторно сверены выбранные конфигурационные поля; вместе с resource78 GET. Все разделы доступны, selectedConfigurationUnchanged=true. Сверка ограничена перечисленными в harness полями, не является полным export или доказательством отсутствия любых внешних изменений. + +| Раздел | CHR1 / CHR2 | Следствие для приёмки | +| --- | --- | --- | +| Интерфейсы | 2/2: ether и loopback | Нет VPN-интерфейсов для действий над существующим туннелем | +| IPv4 адреса / маршруты | 1/2 адреса,4/5 маршрутов | Существующая адресация и маршруты сохранены; connectivity этим GET не доказана | +| WireGuard / peers, GRE, VXLAN | 0/0 в каждом разделе | Можно проверить истинное пустое состояние; ROS6 lifecycle/connectivity требует отдельного тестового объекта | +| IPsec | Peers0,active-peers0; на каждом1policy/template | Стандартный template не считать действующим VPN | +| BGP connections/sessions | 0/0 | Для реального сценария нужны тестовый peer и сессия | +| OSPF instances/templates/neighbors | 0/0 | Preview/apply/factual cost в ROS5 пока проверить не на чем | +| IPv4 Firewall filter/NAT/mangle, routing filters | 0/0 | Пустая конфигурация подтверждена; IPv6 и реальные изменения правил не приняты | +| Роли приложения | home-router/home-router | Home→JH и JH↔Exit в ROS4 не подтверждены текущей парой ролей | + +Контроль основной БД до/после совпадает: servers2, speedHistory9, retention14. Дополнительный SELECT подтвердил роли home-router. Эфемерный контейнер завершён/удалён, pool закрыт; остались только три основные Compose-службы. Пароли, адресация и правила устройств не менялись. Эта инвентаризация не закрывает ROS4/5/6 или остальные внешние ограничения. + +Следующий12.5.51 — проверить реальные пустые состояния, выбор устройства/URL-контекст и доступность форм сетевых экранов на production frontend, без изменения RouterOS. После этого конкретный план создания изолированных тестовых объектов должен сохранять административный доступ и существующую конфигурацию. План/паспорт/протокол синхронизированы; локальный коммит без push. diff --git a/docs/ux-ui-test-server.md b/docs/ux-ui-test-server.md index 0e639846..195a5adc 100644 --- a/docs/ux-ui-test-server.md +++ b/docs/ux-ui-test-server.md @@ -330,3 +330,24 @@ Retry POST0, Telegram calls0, JS errors0, SQL fixture counts сохраняли [Готовность Telegram](ux-ui/acceptance/telegram-readiness-2026-10-08.json): штатный GET alerts на основном тестовом стенде, сохранены только признаки tokenConfigured=false/chatConfigured=false/threadConfigured=false. Токен, chat ID и исходный ответ не сохранялись. Telegram пока не настроен; real-message сценарии не могут быть приняты по подменённым ответам. Для этой ветки нужен отдельный тестовый бот/чат в приложении и явное разрешение на одно конкретное тестовое сообщение; до этого внешние сообщения не отправлять. Этап12.5 остаётся открытым. Проверенные группы не заменяют остальные PG/ROS/Portal/интеграционные сценарии протокола. Следующий12.5.50 — read-only инвентаризация двух CHR для определения доступных VPN/маршрутизации/диагностики и подготовки оставшихся сетевых проверок; конфигурацию устройств этим шагом не менять. План/паспорт/протокол синхронизированы. Локальный коммит без push. + +## 12.5.50 — инвентаризация двух CHR без изменения конфигурации (2026-10-08) + +[Отчёт CHR](ux-ui/acceptance/chr-network-inventory-2026-10-08.json): штатный MikrotikClient из backend8782054, соединения из существующих записей основной тестовой БД, только enabled устройства194.226.121.150/id1 и104.165.244.7/id2. Использованы исключительно GET; post/put/patch/delete в тестовом процессе дополнительно запрещены. Не запускались Ping/bandwidth, scheduler или buildApp. Сырые VPN ответы, ключи и пароли оставались в памяти и не сохранялись/не выводились. + +Оба устройства отвечают, RouterOS7.24.5 stable, CHR; оба имеют appType home-router. На каждом прочитаны19 разделов и повторно сверены выбранные конфигурационные поля; вместе с resource78 GET. Все разделы доступны, selectedConfigurationUnchanged=true. Сверка ограничена перечисленными в harness полями, не является полным export или доказательством отсутствия любых внешних изменений. + +| Раздел | CHR1 / CHR2 | Следствие для приёмки | +| --- | --- | --- | +| Интерфейсы | 2/2: ether и loopback | Нет VPN-интерфейсов для действий над существующим туннелем | +| IPv4 адреса / маршруты | 1/2 адреса,4/5 маршрутов | Существующая адресация и маршруты сохранены; connectivity этим GET не доказана | +| WireGuard / peers, GRE, VXLAN | 0/0 в каждом разделе | Можно проверить истинное пустое состояние; ROS6 lifecycle/connectivity требует отдельного тестового объекта | +| IPsec | Peers0,active-peers0; на каждом1policy/template | Стандартный template не считать действующим VPN | +| BGP connections/sessions | 0/0 | Для реального сценария нужны тестовый peer и сессия | +| OSPF instances/templates/neighbors | 0/0 | Preview/apply/factual cost в ROS5 пока проверить не на чем | +| IPv4 Firewall filter/NAT/mangle, routing filters | 0/0 | Пустая конфигурация подтверждена; IPv6 и реальные изменения правил не приняты | +| Роли приложения | home-router/home-router | Home→JH и JH↔Exit в ROS4 не подтверждены текущей парой ролей | + +Контроль основной БД до/после совпадает: servers2, speedHistory9, retention14. Дополнительный SELECT подтвердил роли home-router. Эфемерный контейнер завершён/удалён, pool закрыт; остались только три основные Compose-службы. Пароли, адресация и правила устройств не менялись. Эта инвентаризация не закрывает ROS4/5/6 или остальные внешние ограничения. + +Следующий12.5.51 — проверить реальные пустые состояния, выбор устройства/URL-контекст и доступность форм сетевых экранов на production frontend, без изменения RouterOS. После этого конкретный план создания изолированных тестовых объектов должен сохранять административный доступ и существующую конфигурацию. План/паспорт/протокол синхронизированы; локальный коммит без push. diff --git a/docs/ux-ui/acceptance/chr-network-inventory-2026-10-08.json b/docs/ux-ui/acceptance/chr-network-inventory-2026-10-08.json new file mode 100644 index 00000000..7a51c275 --- /dev/null +++ b/docs/ux-ui/acceptance/chr-network-inventory-2026-10-08.json @@ -0,0 +1,480 @@ +{ + "date": "2026-10-08", + "backendSource": "8782054", + "database": "mmapp", + "routerOsMethod": "GET only", + "requests": 78, + "cases": [ + { + "serverId": 1, + "host": "194.226.121.150", + "version": "7.24.5 (stable)", + "boardName": "CHR OpenStack Foundation OpenStack Nova", + "enabled": true, + "inventory": [ + { + "section": "interfaces", + "status": "read", + "count": 2, + "disabled": 0, + "dynamic": 0, + "types": { + "ether": 1, + "loopback": 1 + } + }, + { + "section": "addresses", + "status": "read", + "count": 1, + "disabled": 0, + "dynamic": 1 + }, + { + "section": "routes", + "status": "read", + "count": 4, + "disabled": 0, + "dynamic": 3 + }, + { + "section": "wireguard", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "wireguardPeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ipsecPeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ipsecPolicies", + "status": "read", + "count": 1, + "disabled": 0, + "dynamic": 0, + "templates": 1 + }, + { + "section": "ipsecActivePeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "gre", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "vxlan", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "bgpConnections", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "bgpSessions", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfInstances", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfTemplates", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfNeighbors", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallFilter", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallNat", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallMangle", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "routingFilters", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + } + ], + "rechecks": [ + { + "section": "interfaces", + "selectedConfigurationUnchanged": true + }, + { + "section": "addresses", + "selectedConfigurationUnchanged": true + }, + { + "section": "routes", + "selectedConfigurationUnchanged": true + }, + { + "section": "wireguard", + "selectedConfigurationUnchanged": true + }, + { + "section": "wireguardPeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecPeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecPolicies", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecActivePeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "gre", + "selectedConfigurationUnchanged": true + }, + { + "section": "vxlan", + "selectedConfigurationUnchanged": true + }, + { + "section": "bgpConnections", + "selectedConfigurationUnchanged": true + }, + { + "section": "bgpSessions", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfInstances", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfTemplates", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfNeighbors", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallFilter", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallNat", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallMangle", + "selectedConfigurationUnchanged": true + }, + { + "section": "routingFilters", + "selectedConfigurationUnchanged": true + } + ], + "selectedConfigurationUnchanged": true, + "appType": "home-router" + }, + { + "serverId": 2, + "host": "104.165.244.7", + "version": "7.24.5 (stable)", + "boardName": "CHR OpenStack Foundation OpenStack Nova", + "enabled": true, + "inventory": [ + { + "section": "interfaces", + "status": "read", + "count": 2, + "disabled": 0, + "dynamic": 0, + "types": { + "ether": 1, + "loopback": 1 + } + }, + { + "section": "addresses", + "status": "read", + "count": 2, + "disabled": 0, + "dynamic": 1 + }, + { + "section": "routes", + "status": "read", + "count": 5, + "disabled": 0, + "dynamic": 4 + }, + { + "section": "wireguard", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "wireguardPeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ipsecPeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ipsecPolicies", + "status": "read", + "count": 1, + "disabled": 0, + "dynamic": 0, + "templates": 1 + }, + { + "section": "ipsecActivePeers", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "gre", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "vxlan", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "bgpConnections", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "bgpSessions", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfInstances", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfTemplates", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "ospfNeighbors", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallFilter", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallNat", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "firewallMangle", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + }, + { + "section": "routingFilters", + "status": "read", + "count": 0, + "disabled": 0, + "dynamic": 0 + } + ], + "rechecks": [ + { + "section": "interfaces", + "selectedConfigurationUnchanged": true + }, + { + "section": "addresses", + "selectedConfigurationUnchanged": true + }, + { + "section": "routes", + "selectedConfigurationUnchanged": true + }, + { + "section": "wireguard", + "selectedConfigurationUnchanged": true + }, + { + "section": "wireguardPeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecPeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecPolicies", + "selectedConfigurationUnchanged": true + }, + { + "section": "ipsecActivePeers", + "selectedConfigurationUnchanged": true + }, + { + "section": "gre", + "selectedConfigurationUnchanged": true + }, + { + "section": "vxlan", + "selectedConfigurationUnchanged": true + }, + { + "section": "bgpConnections", + "selectedConfigurationUnchanged": true + }, + { + "section": "bgpSessions", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfInstances", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfTemplates", + "selectedConfigurationUnchanged": true + }, + { + "section": "ospfNeighbors", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallFilter", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallNat", + "selectedConfigurationUnchanged": true + }, + { + "section": "firewallMangle", + "selectedConfigurationUnchanged": true + }, + { + "section": "routingFilters", + "selectedConfigurationUnchanged": true + } + ], + "selectedConfigurationUnchanged": true, + "appType": "home-router" + } + ], + "controlBefore": { + "servers": 2, + "speed_history": 9, + "retention_days": 14 + }, + "controlAfter": { + "servers": 2, + "speed_history": 9, + "retention_days": 14 + }, + "controlsUnchanged": true, + "limits": [ + "Counts and selected configuration rechecks, not full exports or packet connectivity proof", + "Private keys/passwords/identities/raw responses discarded in memory, no secrets in report", + "Existing default IPsec templates do not prove a configured tunnel", + "No create/update/delete/ping/bandwidth commands issued; live counters and dynamic state may change independently" + ] +} \ No newline at end of file