krona-front/docs/handoff/control-center/ROUTES.md

4.4 KiB
Raw Blame History

Реестр маршрутов Krona Control Center

1. Базовые маршруты и изоляция

Все маршруты Control Center размещены в отдельном префиксе /control/* и изолированы от клиентских приложений платформы (/app/*) и лендинга (/).

Путь Название Компонент Доступ (Минимальная роль) Описание
/control/gate PIN-шлюз авторизации ControlGatePage Публичный внутри подсети (ввод PIN) Инженерный шлюз ввода операторского PIN (по умолчанию: 8492 для демо). Выдаёт сессионный токен kcc_gate_pass.
/control Редирект в пульт ControlRouteGuard Любая подтверждённая роль Автоматический редирект на /control/overview
/control/overview Сводка платформы OverviewPage support_operator+ (control_center:read) Общий дашборд здоровья платформы, метрик MRR, статусов нод и инцидентов
/control/organizations Реестр тенантов OrganizationsPage support_operator+ (control_center:read) Список организаций, фильтрация, быстрый поиск и вызов 360° Drawer
/control/billing Биллинг и Подписки BillingPage billing_manager+ (control_center:billing_manage) Реестр подписок, контроль просрочек, счета в minor units
/control/installations Парк инсталляций InstallationsPage support_operator+ (control_center:read) Мониторинг POS/Android/Desktop терминалов, отзыв токенов
/control/nodes Узлы инфраструктуры NodesPage platform_admin+ (control_center:node_evacuate) Мониторинг CPU/RAM кластера, эвакуация нод, тест Circuit Breaker
/control/modules Rollout-конвейер ModulesPage release_manager+ (control_center:rollout_manage) Управление версиями, запуск Canary/Pilot/GA фаз, пауза раскатки
/control/incidents Инциденты и Алерты IncidentsPage support_operator+ (control_center:incident_manage) Реестр инцидентов P1-P4, назначение дежурного, перевод статусов
/control/broadcasts Системные рассылки BroadcastsPage platform_admin+ (control_center:write) Отправка баннеров тенантам с таргетингом по тарифам и модулям
/control/audit Журнал аудита AuditPage security_auditor+ (control_center:operator_audit) Неизменяемый журнал операций с проверкой валидности SHA-256 хеш-цепочки

2. Шлюз защиты (ControlRouteGuard)

Компонент ControlRouteGuard реализует многоуровневую защиту:

  1. Проверка PIN-доступа: Читает сессионный флаг sessionStorage.getItem('kcc_gate_pass'). Если отсутствует — перенаправляет на /control/gate.
  2. Проверка сессии оператора: Читает активную роль из sessionStorage.getItem('kcc_operator_session'). Если отсутствует — инициализирует сессию по умолчанию (platform_owner).
  3. Проверка гранулярных разрешений: Для защищенных разделов валидирует наличие необходимого permission в текущей роли оператора. При отсутствии прав рендерит защитное уведомление с предложением сменить роль или запросить доступ.
  4. Error Boundary: Все дочерние экраны обёрнуты в локальный обработчик ошибок с кнопкой сброса кэша и перезагрузки интерфейса.