ПРИЛОЖЕНИЯ
Приложение 1. Примеры файлов конфигураций
Файл конфигурации spectrum-api (пример для KeyCloak)
# Параметры подключения к БД Спектра
[database_config]
host_db=127.0.0.1
port_db=5432
dbname=spectrum
username_db=admin
[bottle]
# Путь к модулям управления кластером
modules_dir=/opt/skala-r/spectrum/modules
# Путь к файлам дашбордов
dashboards_dir=/opt/skala-r/spectrum/dashboards
# Параметры API Генома-У
[genome_config]
host=192.168.190.90
port=50888
base_url=/api/genome/v001/spectrum
# Параметры подключения к БД Сервисов кластера
username_db=genome
# Пути к сертификатам для обращения к Геному-У, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
# Параметры Визион
[vision_config]
host=192.168.190.133
port=8428
base_url=/vision/victoriametrics/api/v1
# Пути к сертификатам для обращения к Визиону, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
# Параметры API Агента Спектра
[agent_config]
port=9000
# Пути к сертификатам для обращения к агенту Спектра, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
# Параметры конфигурации для аутентификации, по умолчанию закомментированы символом ';' или '#' в начале строки
[auth]
auth_server=https://192.168.1.2:8080
realm=spectrum
client_id=spectrum-users
client_secret=xxx
cert=/opt/skala-r/spectrum/certs/keycloak-chain.pem
enabled=1
Файл конфигурации spectrum-tasks
[app]
# Путь к модулям управления кластером
modules_dir=/opt/skala-r/spectrum/modules
# Уровень логирования
log_level=DEBUG
# Параметры подключения к БД сервисов в кластере
[database_config]
database_config.dbname=postgres
database_config.username_db=genome
# Параметры доступа к API Спектра
[spectrum_api]
host=localhost
port=8000
# Пути к сертификатам для обращения к API Спектра, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
# Параметры доступа к Агенту Спектра
[agent_config]
# Пути к сертификатам для обращения к Агенту Спектра, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
Файл конфигурации spectrum-scheduler
[app]
# Путь к модулям управления кластером
modules_dir=/opt/skala-r/spectrum/modules
# Уровень логирования log_level=DEBUG
# Параметры подключения к БД сервисов в кластере
[database_config]
database_config.dbname=postgres
database_config.username_db=genome
# Параметры доступа к API Спектра [spectrum_api]
host=localhost
port=8000
# Пути к сертификатам для обращения к API Спектра, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
# Параметры доступа к Агенту Спектра
[spectrum_agent]
port=9000
# Пути к сертификатам для обращения к Агенту Спектра, по умолчанию закомментированы символом ';' или '#' в начале строки
cert=/opt/skala-r/spectrum/certs/ca.crt
client_cert=/opt/skala-r/spectrum/certs/client.crt
client_key=/opt/skala-r/spectrum/certs/client.key
Файл конфигурации spectrum-agent
{
"log": {
"level": "debug",
"type": "file",
"path": "/var/log/spectrum/"
},
"host": {
"port": "9000"
},
"status": {
"frequency": 5
},
"cert": {
"server_cert": "",
"server_key": "",
"ca_cert": ""
}
}
Описание полей файла конфигурации:
| Поле файла конфигурации | Описание поля |
|---|---|
|
Параметры логирования |
|
Уровень логирования |
|
Тип логирования. В примере используетя логирование в файл |
|
Путь к каталогу, в котором располагаются файлы логов Агента "Спектра" |
|
Порт, на котором запущен Агент "Спектра" |
|
Частота расчета конфигурации кластера в секундах |
|
Параметры сертификатов Агента Спектра |
|
Путь к серверному сертификату. Может быть пустым |
|
Путь к ключу серверного сертификата. Может быть пустым |
|
Путь к корневому сертификату. Может быть пустым |
Файл .vault_store с зашифрованными секретами
spectrum_db_pass: xx
password_db: x
client_secret: xxx
variable: value
Файл конфигурации Агента уведомлений "Спектра"
{
"spectrum_host": "192.168.186.136",
"spectrum_port": "8092",
"cluster_id": "cc83acb8-e553-44ce-adb4-a30c75a3af2c", "proto": "https"
,"ca_cert": "/opt/skala-r/spectrum/certs/ca.crt"
,"cert": "/opt/skala-r/spectrum/certs/client.crt",
"key": "/opt/skala-r/spectrum/certs/client.key"
}
Описание полей файла конфигурации:
| Поле файла конфигурации | Описание поля |
|---|---|
|
IP-адрес Спектра, на который будут отправляться уведомления о событиях кластера |
|
Порт, на котором запущен API Спектра |
|
ID кластера в Спектре, для которого настраиваются уведомления |
|
Протокол, с помощью которого будут отправляться уведомления. Может принимать значения |
|
Путь к корневому сертификату. Поле может отсутствовать в файле конфигурации |
|
Путь к серверному сертификату. Поле может отсутствовать в файле конфигурации |
|
Путь к ключу серверного сертификата. Поле может отсутствовать в файле конфигурации |
Приложение 2. Настройка KeyCloak
|
Пользовательский интерфейс консоли администратора KeyCloak может отличаться от приведенного в данном руководстве. |
Для работы со "Спектром" при включенной авторизации необходимо настроить пользователей в KeyCloak.
-
Выбрать нужный Realm (рабочее пространство) в выпадающем списке над меню или создать новый (на скриншоте ниже выбрано значение "test-docs-realm"). После задания нужного Realm перейти в раздел "Клиенты" (Clients) и нажать кнопку Создать клиента (Create client):
-
В поле "Client ID" нужно ввести идентификатор клиента и нажать кнопку "Далее" (Next). Заданный ID клиента будет в дальнейшем использоваться в параметрах конфигурации “Спектра”.
-
На следующей странице:
-
включить переключатель "Аутентификация клиента" (Client authentication),
-
выставить флаг "Standart Flow",
-
выставить флаг "Direct access grants", и далее нажать кнопку "Сохранить" (Save).
Эти параметры позднее можно изменить в настройках клиента.
-
-
Перейти во вкладку "Настройки" (Settings), в поле "Валидация URI перенаправления" (Valid redirect URIs) добавить IP-адрес "Спектра" в формате:
PROTO://IP:XXXX/*где
-
PROTO- http или https, в зависимости от настроек SSL "Спектра" (см. п. 3.3); -
IP- IP адрес "Спектра"; -
XXXX- порт "Спектра" для доступа к веб-интерфейсу.Нажать кнопку Сохранить (Save).
-
-
Во вкладке "Учетные данные" (Credentials) есть поле "Секрет" (Client secret), значение которого будет в дальнейшем использоваться в параметрах конфигурации "Спектра". Значение можно скопировать в буфер обмена, нажав на соответствующую кнопку возле поля.
-
Перейти во вкладку "Роли" (Roles), нажать кнопку "Создать роль (Create role).
-
На экране создания роли ввести имя роли и нажать "Сохранить" (Save). В примере, приведенном в данном руководстве, должны быть созданы две роли: "spectrum-ro" и "spectrum-rw".
-
Перейти в пункт меню "Пользователи" (Users) и на странице "Пользователи" (User list) нажать кнопку Создать пользователя (Create new user).
-
На экране создания пользователя:
-
ввести желаемое имя пользователя,
-
включить "E-mail подтвержден" (Email verified),
-
нажать кнопку Создать (Create).
В примере, приведенном в данном руководстве, будет создано два пользователя: "sprtest" и "sprtest-rw".
-
-
Перейти в пункт меню "Пользователи" и выбрать созданного пользователя, нажав на его имя.
-
Перейти во вкладку "Учетные данные" (Credentials), нажать кнопку Установить пароль (Set password).
-
В появившемся окне задать пароль, повторить пароль и выключить признак "Временный" (Temporary), если не требуется смена пароля пользователем при первом входе. Нажать кнопку Сохранить (Save).
-
Перейти во вкладку "Сопоставление ролей" (Role mapping), нажать кнопку Назначить роль (Assign role).
-
На экране назначения ролей:
(1) в выпадающем списке фильтра выбрать "Отсортировать по клиентам" (Filter by client),
(2) ввести полностью или частично имя необходимой роли / общей части имени ролей, созданной ранее,
(3) выбрать роли для назначения данному пользователю, выставив соответствующие флаги,
нажать кнопку Назначить (Assign).
В примере, приведенном в данном руководстве, пользователю
sprtestназначается рольspectrum-ro, а пользователюsprtest-rw—spectrum-roиspectrum-rw. -
После настройки включить настроенный Realm, если этого не было сделано ранее. Для этого перейти в пункт меню "Настройки реалма" (Realm settings) и включить переключатель "Включен" (Enabled)в правом верхнем углу окна.
Приложение 3. Настройка Avanpost FAM
|
Пользовательский интерфейс консоли администратора Avanpost может отличаться от приведенного в данном руководстве. |
-
Создать приложение — перейти во вкладку "Приложения" и нажать кнопку Добавить приложение.
-
В окнах 1–3 выбрать / указать следующие данные:
-
Выбрать Open ID;
-
Указать secret;
-
Указать необходимые Redirect URLs (их можно будет изменить в дальнейшем);
-
В разделе "Allowed grant types" активировать пункты "Authorization code", "Refresh token".
-
В разделе "Scope" (default) указать "openid profile email permissions groups".
В результате будет создано приложение, которое отобразится в списке на странице "Приложения". Пример настроенного приложения Spectrum, с возможностью запускать веб-приложение на localhost:
-
-
Нажать на имя приложения и перейти на вкладку "Модель доступа", где задать следующие параметры:
-
Код
-
Описание
-
Права.
Нажать кнопку Сохранить.
-
-
Перейти на вкладку "Сервис", в раздел "Настройка ролей и прав" и нажать кнопку + Добавить.
-
Указать наименование и описание.
-
Для создаваемой роли выбрать необходимые права.
-
Создать группы для добавления пользователей: перейти на вкладку "Группы" и нажать кнопку Добавить группу.
-
На вкладке "Приложения" указать приложение, для которого будет активна создаваемая группа.
-
На вкладке "Роли" выбрать роли, которыми будут обладать пользователи, входящие в создаваемую группу.
-
Создать пользователя: перейти на вкладку "Пользователи", нажать кнопку Добавить пользователя и указать следующие данные:
-
Логин
-
Фамилия
-
Имя
-
Адрес электронной почты
Нажать кнопку Сохранить.
-
-
Настроить пароль: перейти на вкладку "Пользователи" и нажать имя требуемого пользователя.
Перейти на вкладку "Безопасность" и нажать ссылку "Задать новый пароль". Ввести новый пароль, подтверждение пароля и нажать кнопку Сохранить.
-
Добавить пользователя в созданную группу: перейти на вкладку "Группы" и нажать на имя созданной группы.
Отобразится вкладка "Пользователи" созданной группы.
Нажать кнопку Добавить пользователей, выбрать в списке требуемого пользователя и нажать кнопку Сохранить.
-
Проверка.
Перейти во вкладки "Приложения" и "Группы и роли" и убедиться, что добавленный пользователь присутствует в созданных приложении и группе.