feat(portal): make DPD portal a full mirror

This commit is contained in:
igor04091968
2026-06-05 00:32:31 +03:00
parent a74fa24996
commit ec9de0e039
2 changed files with 216 additions and 67 deletions
+29 -12
View File
@@ -1,12 +1,23 @@
# DPD/Dioxus Pilot Portal
`detmir-dpd-portal` - первый параллельный read-only портал для проверки нового
подхода к интерфейсу DetMir.
`detmir-dpd-portal` - параллельный DPD-портал DetMir. Основной режим работает
как полный mirror текущего `detmir-portal`, а экспериментальный компактный экран
оставлен отдельно как preview.
## Назначение
Портал не заменяет текущий `detmir-portal`. Он работает рядом с ним, читает уже
существующий `/api/reports` и показывает компактный управленческий срез:
Портал не заменяет текущий `detmir-portal`. Он работает рядом с ним и
проксирует все функции текущего портала через отдельный маршрут `/dpd/`:
- вкладки;
- API;
- действия проверки;
- дела;
- расследования;
- markdown/download endpoints;
- материалы проверки.
Компактный experimental preview доступен отдельно и показывает:
- главный вывод;
- события безопасности;
@@ -19,28 +30,34 @@
Dioxus 0.7 fullstack использует разделение client/server и отдельные web/server
feature flags. Для безопасного первого этапа создан параллельный Rust shell,
который не меняет боевой портал и оставляет место для постепенного переноса UI на
Dioxus-компоненты.
который не меняет боевой портал, но уже повторяет его функциональность через
mirror-proxy. Это оставляет место для постепенного переноса UI на
Dioxus-компоненты без риска разъезда данных и API.
## Запуск
```bash
detmir-dpd-portal \
--bind 127.0.0.1:8722 \
--upstream-api http://127.0.0.1:8720/portal/api
--upstream-base http://127.0.0.1:8720
```
Переменные окружения:
- `DETMIR_DPD_BIND`;
- `DETMIR_DPD_UPSTREAM_API`;
- `DETMIR_DPD_UPSTREAM_BASE`;
- `DETMIR_DPD_TIMEOUT_SECONDS` - по умолчанию 60 секунд, чтобы первый
холодный `/api/reports` после рестарта не выглядел как отказ DPD-портала.
## Маршруты
- `/dpd/` - полный параллельный mirror текущего портала.
- `/dpd/_dpd/health` - health самого DPD gateway.
- `/dpd/preview/` - компактный preview-экран для будущего Dioxus-подхода.
## Ограничения v0.1
- только read-only;
- без новых бизнес-сущностей;
- DPD gateway не добавляет новые бизнес-сущности;
- без замены текущего портала;
- данные берутся из существующего API;
- внешний reverse proxy настраивается отдельно.
- данные берутся из существующего портала/API;
- preview-экран остается read-only.