feat(portal): make DPD portal a full mirror
This commit is contained in:
+29
-12
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user