Федерация

Раздел виден только глобальному администратору (global_admin). Его четыре вторичные вкладки берутся из единого источника, поэтому одни и те же вкладки видны с любой страницы федерации: Состояние, Тенанты, Регистрационные токены, Продвижение каталога.

6.1. Состояние — здоровье федерации

Маршрут: /admin/federation/health

Почему это важно. Мониторинг связи с узлами тенантов (RPC-задержки, лаг outbox, реконнекты) — чтобы вовремя заметить проблемы федерации.

Дашборд состояния per тенант (обновление каждые 10 с): карточки Tenants online и Generated at; таблица per тенант (индикатор online/offline, Connected since, Last HB, Reconnects, RPC calls, p50/p95/p99, Timeouts, Outbox pending/dead).

6.2. Тенанты

Маршрут: /admin/tenants (детально — /admin/tenants/:tenantId)

Почему это важно. Управление жизненным циклом федеративных тенантов и их участников — основа модели множества инстансов (каждый заказчик = своя инсталляция).

Список: колонки Name, Slug, Members, Status (Active / Revoked / Decommissioned / Purge Pending / Deleted), Created, Actions. Меню действий: Revoke Access, Deactivate, Schedule Decommission (с периодом хранения 7–365 дней, по умолчанию 90), Hard Delete и Edit (имя/описание).

Детально о тенанте: для локальной строки — вкладка Members (таблица User / Role / Joined / Actions, Add Member, смена роли tenant_admin / analyst / viewer) и вкладка Settings (name, description, maxUsers, maxCases). Для федеративного узла — вкладка Health (статус связи, heartbeat, реконнекты, RPC p50/p95/p99, outbox pending/dead — обновление каждые 5 с) и вкладка Registry (метаданные узла).

6.3. Регистрационные токены

Маршрут: /admin/federation/tokens

Почему это важно. Токен — безопасный одноразовый способ подключить новый тенант к федерации (без передачи постоянных секретов).

Выпуск и отзыв токенов регистрации тенантов. Reload, Issue token (tenant slug, display name, TTL 1–168 ч). Колонки: Tenant slug, Status (active / consumed / revoked / expired), Issued, Expires, Consumed, Revoked, Actions (Revoke). Токен показывается один раз после выпуска — скопируйте его; он передаётся тенанту через TENANT_REGISTRATION_TOKEN.

6.4. Продвижение каталога

Маршрут: /admin/federation/catalog/promotions

Почему это важно. Ревью предложений тенантов в общий каталог — контроль качества и целостности контента, попадающего на главный узел.

Очередь ревью предложений тенантов в канонический каталог. Фильтр статуса (All / Pending / Approved / Rejected). Колонки: Status, Kind (playbook / automation / indicator_type / connector), Name, Source, Base version, Submitted. Клик по строке открывает drawer с метаданными и предлагаемым контентом; для pendingApprove + merge и Reject (с заметкой ревьюера).

Runbook-и оператора. Day-2-операции федерации (mTLS-энроллмент, жизненный цикл тенанта, миграция) описаны в docs/ops/06-federation-tenant-lifecycle.md, docs/ops/federation-operator-runbook.md и docs/ops/federation-mtls.md.