1 Описание межкомпонентного и межсистемного взаимодействия

1.1 Схема межкомпонентного и межсистемного взаимодействия

image$sheme

1.2 Перечень компонентов

Наименование Описание Используемый порт

Web-интерфейс "Спектра"

Предоставляет пользователю интерфейс для управления МБД.П

8092

Nginx

Маршрутизация входящего от конечных пользователей трафика до ядра "Спектра", отдача статических веб-страниц

8092

spectrum-api

Ядро "Спектра", предоставляет REST API для остальных компонентов "Спектра"

8000

spectrum-tasks

Служба выполнения фоновых заданий (операций), созданных пользователем

-

spectrum-scheduler

Служба фонового обновления информации об объектах управления

-

PostgreSQL

СУБД, используемая служебной spectrum-api для постоянного хранения информации об объектах управления и их статусе

5432

"Геном.БР"

Предоставляет REST API для получения информации о кластерах PostgreSQL в МБД.П.

50888

"Визион"

Предоставляет REST API для получения метрик, используемых для отображения дашбордов в "Спектре"

8092

Система аутентификации и авторизации (Keycloak / Avanpost)

Используется для аутентификации и авторизации пользователей веб-интерфейсов "Спектра", "Генома", "Визиона"

Определяется инсталляционной картой

Агент "Спектра"

Служба на узлах кластера, используемая "Спектром" для управления кластером, получения информации о кластере и формирования метрик для "Визиона"

9000

Pacemaker/Corosync

Служба, управляющая кластером PostgreSQL в МБД.П. Используется "Спектром" для управления кластером

-

Экземпляр PostgreSQL

СУБД в кластере МБД.П, является объектом управления с точки зрения "Спектра"

Определяется инсталляционной картой, по умолчанию 5432

1.3 Описание протоколов межкомпонентного взаимодействия

Инициатор Цель Протокол Средство аутентификации

Конечный пользователь (браузер)

Nginx

HTTPS

Логин / пароль. Вводятся на странице внешней системы аутентификации, используется Authorization code flow. Client secret для spectrum-api хранится на хосте "Спектра" в зашифрованном виде

Nginx

spectrum-api

HTTP

-

spectrum-api

Keycloak / Avanpost FAM

HTTPS

Логин / пароль. Вводятся на странице внешней системы аутентификации, используется Authorization code flow. Client secret для spectrum-api хранится на хосте "Спектра" в зашифрованном виде

PostgreSQL "Спектра"

Протокол PostgreSQL

Логин / пароль. Доступ только для локальных подключений

spectrum-agent

HTTPS

Bearer token, опционально – проверка сертификата клиента

"Визион"

HTTPS

Bearer token, опционально – проверка сертификата клиента

"Геном"

HTTPS

Bearer token, опционально – проверка сертификата клиента

PostgreSQL в кластере

Протокол PostgreSQL

Логин / пароль

spectrum-task-daemon

spectrum-api

HTTP

Отсутствует, используется только локальное взаимодействие внутри хоста "Спектра"

spectrum-agent

HTTPS

Bearer token, опционально – проверка сертификата клиента

PostgreSQL в кластере

Протокол PostgreSQL

Логин / пароль

spectrum-scheduler

spectrum-api

HTTP

Отсутствует, используется только локальное взаимодействие внутри хоста "Спектра"

spectrum-agent

HTTPS

Bearer token, опционально – проверка сертификата клиента

PostgreSQL в кластере

Протокол PostgreSQL

Логин / пароль

spectrum-agent

PostgreSQL в кластере

Протокол PostgreSQL

Логин / пароль

Pacemaker/Corosync

Запуск shell-команд, только локально на узле МБД.П под пользователем с ограниченными привилегиями (postgres)

PostgreSQL в кластере

Протокол PostgreSQL

Логин / пароль