Предварительная конфигурация бэкенда

Предварительная конфигурация бэкенда (модуля inno-lcm-core) выполняется перед его установкой и включает в себя настройку параметров в файле конфигурации application.properties, который должен быть помещен в каталог /opt/inno-lcm-core.

Пример конфигурационного файла
#Настройка БД
quarkus.datasource."lcm-db".username=lcmadmin
quarkus.datasource."lcm-db".password=lcmpassword
quarkus.datasource."lcm-db".jdbc.url=jdbc:postgresql://10.6.32.156:5432/lcm
quarkus.datasource."lcm-db".reactive.url=postgresql://10.6.32.156:5432/lcm
quarkus.liquibase."lcm-db".default-schema-name=lcm

#Синхронизация пользователей c LDAP-сервера
lcm.inventory.ldap.datasource[0].name=lcm-1583.terra.inno.tech
lcm.inventory.ldap.datasource[0].host=10.6.32.204
lcm.inventory.ldap.datasource[0].port=636
lcm.inventory.ldap.datasource[0].username=Administrator@lcm-1583.terra.inno.tech
lcm.inventory.ldap.datasource[0].password=Welkom123
lcm.inventory.ldap.datasource[0].ssl=true
lcm.inventory.ldap.datasource[0].ssl-certificate=/opt/inno-lcm-core/samba_cert.pem
lcm.inventory.ldap.datasource[0].query-prefix=CN=Users
lcm.inventory.ldap.datasource[0].base-dn=DC=lcm-1583,DC=terra,DC=inno,DC=tech
lcm.inventory.job.sync-users.cron.expr=0/10 * * * * ?
lcm.inventory.ldap.search-page-size=500
lcm.inventory.ldap.datasource[0].connect-timeout-millis=10000
lcm.inventory.ldap.datasource[0].response-timeout=10000
lcm.inventory.ldap.datasource[0].abandon-on-timeout=true
lcm.inventory.ldap.datasource[0].allow-concurrent-socket-factory-use=true

#Интеграция с Kafka
mp.messaging.incoming.salt-events-kafka.bootstrap.servers=10.6.32.156:9092
mp.messaging.incoming.salt-events-kafka.topic=salt-topic

#Интеграция с S3
lcm.salt-adapter.s3.server-uri=http://10.6.32.156:9000
lcm.salt-adapter.s3.access-key-id=minioadmin
lcm.salt-adapter.s3.secret-access-key=minioadmin123
lcm.salt-adapter.s3.region=ru-location-1
lcm.multimedia.s3.server-uri=http://10.6.32.156:9000
lcm.multimedia.s3.icons-bucket-name=icons-bucket
lcm.multimedia.s3.images-bucket-name=images-bucket
lcm.multimedia.s3.others-bucket-name=others-bucket
lcm.multimedia.s3.access-key-id=minioadmin
lcm.multimedia.s3.secret-access-key=minioadmin123

#Интеграция с SaltStack
lcm.salt-adapter.command-runner.http-scheme=http
lcm.salt-adapter.command-runner.master-api-port=8000
lcm.salt-adapter.command-runner.global-auth.eauth=pam
lcm.salt-adapter.command-runner.global-auth.login=salt_api
lcm.salt-adapter.command-runner.global-auth.password=salt123
#lcm.inventory.job-sync-collection-pillars.cron.expr=0 0/15 * ? * * *

#Логирование
quarkus.log.file.enable=true
quarkus.log.file.path=application.log
quarkus.log.file.rotation.max-backup-index=5
quarkus.log.file.rotation.max-file-size=10M

#Аутентификация
lcm.application.auth.disabled=false
quarkus.kerberos.debug=true
quarkus.kerberos.service-principal-name=lcm_backend_svc
quarkus.kerberos.service-principal-password=Qwerty123
quarkus.kerberos.service-principal-realm=LCM.TERRA.INNO.TECH

В разделах ниже приводится описание логических блоков параметров из файла.

Параметры настройки подключения к БД

Наименование Описание Значение по умолчанию Пример значения

quarkus.datasource."lcm-db".username

Имя пользователя для подключения к БД

lcmadmin

quarkus.datasource."lcm-db".password

Пароль пользователя для подключения к БД

lcmpassword

quarkus.datasource."lcm-db".jdbc.url

Адрес подключения к БД. Формат: jdbc:postgresql://{db_host}:{db_port}/{db_name}

jdbc:postgresql://10.6.32.156:5432/lcm

quarkus.datasource."lcm-db".reactive.url

Адрес подключения серверной части продукта к БД. Формат: postgresql://{db_host}:{db_instance_name}/{schema_name}

postgresql://10.6.32.156:5432/lcm

quarkus.liquibase."lcm-db".default-schema-name

Имя схемы данных

lcm

Параметры настройки синхронизации пользователей c LDAP-сервера

Нумерация массива lcm.inventory.ldap.datasource начинается с 0.

Параметры подключения к домену №2 аналогичны параметрам домена №1.

Пример:

  • lcm.inventory.ldap.datasource[1].host=192.168.0.1;

  • lcm.inventory.ldap.datasource[1].name=domain_alias2;

  • lcm.inventory.ldap.datasource[1].port=389;

  • lcm.inventory.ldap.datasource[1].username=username2@domain2_name;

  • lcm.inventory.ldap.datasource[1].ssl=false;

  • lcm.inventory.ldap.datasource[1].base-dn=DC=domain_name2,DC=local.

Наименование Описание Значение по умолчанию Пример значения

lcm.inventory.ldap.datasource[0].name

Имя домена

lcm-1583.terra.inno.tech

lcm.inventory.ldap.datasource[0].host

IP-адрес или сетевое имя контроллера домена

10.6.32.204

lcm.inventory.ldap.datasource[0].port

Порт для соединения по протоколу LDAP. Опциональный параметр

389; для LDAP over SSL обычно используется порт 636

636

lcm.inventory.ldap.datasource[0].username

Имя пользователя для подключения к домену LDAP-сервера.

Может быть указано в одном из следующих форматов:

  • <имя_пользователя>@<имя домена>, например, ivanov@INNO;

  • пользователь в формате LDAP, например, CN=ivanov,CN=Users,DC=inno,DC=local

Administrator@lcm-1583.terra.inno.tech

lcm.inventory.ldap.datasource[0].password

Пароль пользователя для подключения к домену LDAP-сервера

Welkom123

lcm.inventory.ldap.datasource[0].ssl

Параметр, отвечающий за соединение по протоколу LDAP over SSL (LDAPS).

Возможные значения:

  • false — соответствует выключенному протоколу LDAPS, используется обычный LDAP;

  • true — соответствует включенному протоколу LDAPS, требует наличия файла с сертификатом для SSL-соединения (задается отдельным параметром);

  • trust-all — соответствует включенному протоколу LDAPS, принимает любые сертификаты без подтверждения.

Опциональный параметр

false

true

lcm.inventory.ldap.datasource[0].ssl-certificate

Относительный или абсолютный путь к файлу с сертификатом для подключения через LDAPS. Опциональный параметр

certificate.pem

/opt/inno-lcm-core/samba_cert.pem

lcm.inventory.ldap.datasource[0].query-prefix

Параметр для указания исходной директории для сканирования пользователей LDAP-сервера.

Итоговое значение предиката поиска пользователей:

"${cm.inventory.ldap.datasource[].query-prefix},${lcm.inventory.ldap.datasource[].base-dn}"

CN=Users

lcm.inventory.ldap.datasource[0].base-dn

Базовое имя домена для поиска пользователей в формате записи LDAP

DC=lcm-1583,DC=terra,DC=inno,DC=tech

lcm.inventory.job.sync-users.cron.expr

Cron-выражение для настройки запуска синхронизации пользователей LDAP.

Подробнее о cron-формате см. в разделе «Импорт данных по учетным записям пользователей c сервера LDAP».

0/10 * * * * ?

lcm.inventory.ldap.search-page-size

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

200

200

lcm.inventory.ldap.datasource[0].connect-timeout-millis

Максимальная длительность подключения к LDAP-серверу в миллисекундах. Значение 0 означает бесконечное ожидание. Опциональный параметр

10000

10000

lcm.inventory.ldap.datasource[0].response-timeout

Максимальная длительность выполнения запроса к LDAP-серверу в миллисекундах. Значение 0 означает бесконечное ожидание. Опциональный параметр

10000

10000

lcm.inventory.ldap.datasource[0].abandon-on-timeout

Параметр, который отвечает за освобождение соединения в случае превышения максимальной длительности ожидания запроса. Возможные значения: true и false. Опциональный параметр

true

true

lcm.inventory.ldap.datasource[0].allow-concurrent-socket-factory-use

Параметр, указывающий, разрешать ли использование экземпляра фабрики сокетов (который может совместно использоваться несколькими соединениями) для одновременного создания нескольких сокетов

true

true

Параметры настройки интеграции с Apache Kafka

Наименование Описание Значение по умолчанию Пример значения

mp.messaging.incoming.salt-events-kafka.bootstrap.servers

Адрес сервера для подключения к брокеру Apache Kafka, который будет использоваться для получения сообщений

localhost:19092

10.6.32.156:9092

mp.messaging.incoming.salt-events-kafka.topic

Топик Apache Kafka, из которого будут поступать сообщения

salt-topic

salt-topic

Параметры настройки интеграции с S3-совместимым хранилищем

Наименование Описание Значение по умолчанию Пример значения

lcm.salt-adapter.s3.server-uri

URI для подключения к S3-совместимому хранилищу, в котором будут храниться файлы для SaltStack

http://10.6.32.156:9000

lcm.salt-adapter.s3.access-key-id

Идентификатор ключа (access Key) S3-совместимого хранилища

minioadmin

lcm.salt-adapter.s3.secret-access-key

Секретный ключ (Secret Key) S3-совместимого хранилища

minioadmin123

lcm.salt-adapter.s3.region

Название региона S3

ru-location-1

lcm.multimedia.s3.server-uri

URI для подключения к S3-совместимому хранилищу, в котором будут храниться мультимедиа-файлы LCM (иконки, скриншоты)

http://10.6.32.156:9000

lcm.multimedia.s3.icons-bucket-name

Название бакета S3 для хранения иконок

icons-bucket

icons-bucket

lcm.multimedia.s3.images-bucket-name

Название бакета S3 для хранения изображений и скриншотов

images-bucket

images-bucket

lcm.multimedia.s3.others-bucket-name

Название бакета S3 для хранения прочего контента

others-bucket

others-bucket

lcm.multimedia.s3.access-key-id

Ключ доступа к сервису S3 (логин)

login

minioadmin

lcm.multimedia.s3.secret-access-key

Секретный ключ для доступа к сервису S3 (пароль)

password

minioadmin123

Параметры настройки интеграции с API SaltStack

Наименование Описание Значение по умолчанию Пример значения

lcm.salt-adapter.command-runner.http-scheme

Протокол, который будет использоваться для отправки HTTP-запросов между компонентами Salt Adapter и Command Runner модуля координации. Возможные значения: http или https

http

lcm.salt-adapter.command-runner.master-api-port

Порт, на котором будет запущен API-модуль сервера управления

8000

lcm.salt-adapter.command-runner.global-auth.eauth

Тип аутентификации для запросов. Возможные значения: ldap или pam. ldap — аутентификация через внешний LDAP-сервер, pam — аутентификация с помощью локальной учетной записи на машине, на которой установлен сервер управления (master).

Если установлено значение pam, для сервера управления требуется root-доступ

pam

lcm.salt-adapter.command-runner.global-auth.login

Логин для подключения к серверу управления

salt_api

lcm.salt-adapter.command-runner.global-auth.password

Пароль для подключения к серверу управления

salt123

lcm.inventory.job-sync-collection-pillars.cron.expr

Cron-выражение, которое задает частоту синхронизации состава коллекций на бэкенде LCM и на сервере управления (master)

0 0/15 * ? * * * (каждые 15 минут)

0 0/15 * ? * * *

Параметры настройки логирования

Наименование Описание Значение по умолчанию Пример значения

quarkus.log.file.enable

Активация логирования в файл

false

true

quarkus.log.file.path

Путь для сохранения файлов с логами продукта

quarkus.log

application.log

quarkus.log.file.rotation.max-backup-index

Предельное количество сохраняемых файлов с логами при ротации

5

5

quarkus.log.file.rotation.max-file-size

Максимальный размер одного файла с логами, после чего будет произведена ротация (создан следующий файл и продолжена запись)

10М

10М

Параметры настройки авторизации и аутентификация

Наименование Описание Значение по умолчанию Пример значения

lcm.authorization.user-groups-white-list[0]

Группы пользователей через запятую, которым выдается доступ на выполнение определенных операций в кабинете администратора

CN=PlusUltra,CN=Users,DC=lcm,DC=terra,DC=inno,DC=tech

lcm.application.auth.disabled

Полное отключение аутентификации. Значение по умолчанию: false. При установленном значении true, бэкенд будет обрабатывать и корректно отвечать на запросы без аутентификационного заголовка Authorization Negotiate. Но если со стороны клиента будут приходить запросы с этим заголовком (то есть аутентификация будет включена на стороне клиента), то будут задействованы механизмы аутентификации Kerberos, и он все равно будет пытаться аутентифицировать запрос

false

quarkus.kerberos.debug

Включение/выключение отправки сообщений для отладки Kerberos

true

true

quarkus.kerberos.service-principal-name

Имя принципала

lcm_backend_svc

quarkus.kerberos.service-principal-password

(Опциональный параметр) пароль принципала. С точки зрения безопасности рекомендуется не использовать этот параметр, а использовать keytab-файл для аутентификации в домене (см. параметр quarkus.kerberos.keytab-path ниже)

Qwerty123

quarkus.kerberos.keytab-path

(Опциональный параметр) путь к keytab-файлу, который содержит зашифрованные ключи и сертификаты, необходимые для аутентификации в домене

/opt/inno-lcm-core/kerberos.keytab

quarkus.kerberos.service-principal-realm

Наименование области безопасности (realm) принципала

LCM.TERRA.INNO.TECH