64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
# DPD/Dioxus Pilot Portal
|
|
|
|
`detmir-dpd-portal` - параллельный DPD-портал DetMir. Основной режим работает
|
|
как полный mirror текущего `detmir-portal`, а экспериментальный компактный экран
|
|
оставлен отдельно как preview.
|
|
|
|
## Назначение
|
|
|
|
Портал не заменяет текущий `detmir-portal`. Он работает рядом с ним и
|
|
проксирует все функции текущего портала через отдельный маршрут `/dpd/`:
|
|
|
|
- вкладки;
|
|
- API;
|
|
- действия проверки;
|
|
- дела;
|
|
- расследования;
|
|
- markdown/download endpoints;
|
|
- материалы проверки.
|
|
|
|
Компактный experimental preview доступен отдельно и показывает:
|
|
|
|
- главный вывод;
|
|
- события безопасности;
|
|
- полнота данных;
|
|
- риски подразделений;
|
|
- очередь проверки;
|
|
- связь рисков и активности.
|
|
|
|
## Почему отдельный бинарник
|
|
|
|
Dioxus 0.7 fullstack использует разделение client/server и отдельные web/server
|
|
feature flags. Для безопасного первого этапа создан параллельный Rust shell,
|
|
который не меняет боевой портал, но уже повторяет его функциональность через
|
|
mirror-proxy. Это оставляет место для постепенного переноса UI на
|
|
Dioxus-компоненты без риска разъезда данных и API.
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
detmir-dpd-portal \
|
|
--bind 127.0.0.1:8722 \
|
|
--upstream-base http://127.0.0.1:8720
|
|
```
|
|
|
|
Переменные окружения:
|
|
|
|
- `DETMIR_DPD_BIND`;
|
|
- `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
|
|
|
|
- DPD gateway не добавляет новые бизнес-сущности;
|
|
- без замены текущего портала;
|
|
- данные берутся из существующего портала/API;
|
|
- preview-экран остается read-only.
|