Конфигурация модуля inno-lcm-core

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

Пример конфигурационного файла с настройками по умолчанию
## This is an example of `application.properties` file as main configuration file for lcm-core backend

###############################################################################
# HTTP server properties section                                              #
###############################################################################

## Main application port
quarkus.http.port=8081

## SSL configuration section.
## To enable serving requests via HTTPS uncomment the following parameters:
#quarkus.http.insecure-requests=disabled
#quarkus.http.ssl-port=8081
#quarkus.http.ssl.certificate.key-store-file=/opt/inno-lcm-core/keystore.jks
#quarkus.http.ssl.certificate.key-store-password=keystore@12345

###############################################################################
# Authentication & Authorization section                                      #
###############################################################################

## Enable/disable authentication
lcm.application.auth.disabled=false
## Enables kerberos authentication debug mode
#quarkus.kerberos.debug=true
## There are 2 alternative options for the kerberos credentials [principal realm, name and password] defining:
## 1) via direct defining;
## 2) via keytab file path defining
##
## Direct kerberos credentials defining:
quarkus.kerberos.service-principal-name=lcm_backend_svc
quarkus.kerberos.service-principal-realm=my.domain.com
quarkus.kerberos.service-principal-password=Password123
## Path to keytab:
#quarkus.kerberos.keytab-path=/opt/inno-lcm-core/my_file.keytab

## Old deprecated authorization based on LDAP-groups only
## List of LDAP groups whose users are authorized in Admin Console
#lcm.authorization.user-groups-white-list[0]=CN=testGroup,CN=Users,DC=inno,DC=test

# New RBAC
lcm.authorization.rbac.enabled=false
# The following users will be mapped to the superuser role when the application starts
#lcm.authorization.rbac.super-users[0]=alice@INNO.TEST
#lcm.authorization.rbac.super-users[1]=bob@INNO.TEST

###############################################################################
# Database properties section                                                 #
###############################################################################

## Main datasource
quarkus.datasource."lcm-db".username=lcm
quarkus.datasource."lcm-db".password=password
quarkus.datasource."lcm-db".reactive.url=postgresql://localhost:5432/lcm
## If you need to specify default DB schema use the syntax below
#quarkus.datasource."lcm-db".reactive.url=postgresql://localhost:5432/lcm?search_path=lcm_schema_name

## Main datasource Liquibase config
quarkus.datasource."lcm-db".jdbc.url=jdbc:postgresql://localhost:5432/lcm
quarkus.liquibase."lcm-db".default-schema-name=lcm
quarkus.liquibase."lcm-db".migrate-at-start=True

## Readonly datasource
quarkus.datasource."lcm-db-readonly".username=readonly
quarkus.datasource."lcm-db-readonly".password=password
quarkus.datasource."lcm-db-readonly".reactive.url=postgresql://localhost:5432/lcm
quarkus.datasource."lcm-db-readonly".jdbc.url=jdbc:postgresql://localhost:5432/lcm

###############################################################################
# Hardware inventory properties section                                       #
###############################################################################

# Schedule for collections pillars synchronization with S3 (quartz cron format)
# [At second :00, every 15 minutes starting at minute :00, of every hour]
lcm.inventory.job.sync-collection-pillars.cron.expr=0 0/15 * ? * * *

# Determines how long session history data should be stored before deletion, 90 days by default
lcm.inventory.job.user-sessions-cleanup.storage-days-count=90

# Schedule for session history cleaning (quartz cron format)
# [At 00:00:00am every day]
lcm.inventory.job.user-sessions-cleanup.cron-expr=0 0 0 ? * * *

# Determines the maximum amount of machine custom attributes in one section
lcm.inventory.machine-attribute.section.size=20

# Determines the maximum amount of user custom attributes in one section
lcm.inventory.user-attribute.section.size=20

# The number of minutes since the last agent activity before the device goes into "Offline" status
lcm.inventory.settings.agent.minutes-to-become-offline=5
# Absolute file path to `wtmp` file which stores historical data of user logins and logouts
lcm.inventory.settings.agent.user-session-file-path=/var/log/wtmp
# Absolute file path to `utmp` file which stores user sessions in real time
lcm.inventory.settings.agent.active-user-session-file-path=/var/run/utmp
# Option, which determines the considered Salt mode (single- or multimaster), can be true or false
lcm.inventory.settings.agent.multi-master-mode=true
# Absolute path, containing all files which are to be included into bootstrap script configuration archive (.tar.gz)
lcm.inventory.settings.agent.bootstrap-script-config-path=/config/script-configs/bootstrap/
# Optional parameters, matching salt-ssh connection settings,
# see https://docs.saltproject.io/en/latest/ref/runners/all/salt.runners.manage.html#salt.runners.manage.bootstrap
#lcm.inventory.settings.agent.bootstrap-ssh-user=
#lcm.inventory.settings.agent.bootstrap-ssh-password=
#lcm.inventory.settings.agent.bootstrap-ssh-private-key-path=

## Determines the page size for any ldap query
lcm.inventory.ldap.search-page-size=200
## The first LDAP datasource configuration
lcm.inventory.ldap.datasource[0].name=my.domain.com
lcm.inventory.ldap.datasource[0].base-dn=DC=my,DC=domain,DC=com
lcm.inventory.ldap.datasource[0].host=localhost
lcm.inventory.ldap.datasource[0].port=636
lcm.inventory.ldap.datasource[0].username=administrator@my.domain.com
lcm.inventory.ldap.datasource[0].password=Welkom123
## Optional section for the LDAP datasource
# 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

## The second and subsequent LDAP datasource configurations are optional
#lcm.inventory.ldap.datasource[1].name=my2.domain.com
#lcm.inventory.ldap.datasource[1].base-dn=DC=my2,DC=domain,DC=com
#lcm.inventory.ldap.datasource[1].host=192.168.0.1
#lcm.inventory.ldap.datasource[1]...

## LDAPS (LDAP over SSL) parameters section.
## There are 3 options available for LDAP datasource:
## value `false` - disable LDAPS
## value `trust_all` - enable LDAPS, allow any SSL certificate without validation
## value `true` - enable LDAPS, requires path to the certificate file or truststore file

## The following example shows how to configure LDAPS with certificate file definition for the datasource
#lcm.inventory.ldap.datasource[0].ssl=true
#lcm.inventory.ldap.datasource[0].ssl-certificate=/opt/inno-lcm-core/samba_cert.pem

## The following example shows how to configure LDAPS with truststore file definition for the datasource
#lcm.inventory.ldap.datasource[0].ssl=true
#lcm.inventory.ldap.datasource[0].ssl-trust-store=/opt/inno-lcm-core/keystore.jks
#lcm.inventory.ldap.datasource[0].ssl-trust-store-type=PKCS12
#lcm.inventory.ldap.datasource[0].ssl-trust-store-password=keystore@12345

## The following example shows how to configure LDAPS with truststore file definition for all datasource
#lcm.inventory.ldap.ssl-trust-store=/opt/inno-lcm-core/keystore.jks
#lcm.inventory.ldap.ssl-trust-store-type=JKS
#lcm.inventory.ldap.ssl-trust-store-password=keystore@12345


###############################################################################
# Application Store properties section                                        #
###############################################################################

# Determines the amount of hours after which order is considered failed
lcm.order-management.completion.time.hours=12
# Schedule for tracking long-running orders as failed (quartz cron format)
# [At second :00 of minute :00 of every hour]
lcm.order-management.autocomplete.cron.expr=0 0 * ? * * *

###############################################################################
# Kafka messages section                                                      #
###############################################################################

## Kafka bootstrap servers (comma separated)
mp.messaging.incoming.salt-events-kafka.bootstrap.servers=localhost:9092
# Kafka topic name
mp.messaging.incoming.salt-events-kafka.topic=salt-topic

## Kafka SSL connection parameters section.
## To enable SSL connection mode uncomment three following parameters:
#mp.messaging.connector.smallrye-kafka.security.protocol=SSL
#mp.messaging.connector.smallrye-kafka.ssl.truststore.location=/etc/ssl/certs/java/cacerts
#mp.messaging.connector.smallrye-kafka.ssl.truststore.password=changeit
## Optionally if the custom truststore is used:
## To change the format use one of JKS, JCEKS, P12, PKCS12, PFX. Default format is JKS
#mp.messaging.connector.smallrye-kafka.ssl.truststore.type=PKCS12

###############################################################################
# REST clients common configuration                                           #
###############################################################################

## SSL connection parameters sections.
## To enable accessing REST endpoints via HTTPS uncomment two following parameters:
#quarkus.rest-client.trust-store=/etc/ssl/certs/java/cacerts
#quarkus.rest-client.trust-store-password=changeit
## Optionally if the custom truststore is used:
## To change the format use one of JKS, JCEKS, P12, PKCS12, PFX. Default format is JKS
#quarkus.rest-client.trust-store-type=PKCS12
## For disabling SSL connection verification you can use option below
#quarkus.rest-client.remote-access.trust-all=true

###############################################################################
# SaltStack integration section                                               #
###############################################################################

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=123
lcm.salt-adapter.command-runner.retry.number-of-attempts=5
lcm.salt-adapter.command-runner.retry.initial-back-off=1s
lcm.salt-adapter.command-runner.retry.max-back-off=1s

## Salt masters configuration section.
## Optional, this section should be used when backend server can't resolve salt master by DNS name
#lcm.salt-adapter.command-runner.override-masters[0].id=salt-master1
#lcm.salt-adapter.command-runner.override-masters[0].uri=http://192.168.0.1:8000

## The second and other Salt masters can be configured in the same way
#lcm.salt-adapter.command-runner.override-masters[1].id=salt-master2
#lcm.salt-adapter.command-runner.override-masters[1].uri=http://192.168.0.2:8000

###############################################################################
# Remote access service integration section                                   #
###############################################################################

# URL to the guacamole remote access service
quarkus.rest-client.remote-access.url=https://guacamole-host.net:9099/guacamole
# for an advanced configuration of the quarkus REST client to the guacamole service you can set up the following settings group
#quarkus.rest-client.remote-access.connect-timeout
#quarkus.rest-client.remote-access.trust-store
#quarkus.rest-client.remote-access.trust-store-password
#quarkus.rest-client.remote-access.trust-store-type
#quarkus.rest-client.remote-access.key-store
#quarkus.rest-client.remote-access.key-store-password
#quarkus.rest-client.remote-access.key-store-type
#quarkus.rest-client.remote-access.hostname-verifier
#quarkus.rest-client.remote-access.connection-ttl
#and others
#quarkus.rest-client.remote-access.***

# system account login for the guacamole remote access service
lcm.inventory.remote-access.username=admin
# system account login password for the guacamole remote access service
lcm.inventory.remote-access.password=password

###############################################################################
# S3 integration section                                                      #
###############################################################################

# contains a list of S3 server URIs
lcm.salt-adapter.s3.server-uri-list=http://localhost:9000,http://localhost:9900
## To enable SSL connection mode replace 'lcm.salt-adapter.s3.server-uri-list' parameter with following value:
#lcm.salt-adapter.s3.server-uri-list=https://localhost:9000,https://localhost:9900
lcm.salt-adapter.s3.access-key-id=s3adminSalt
lcm.salt-adapter.s3.secret-access-key=s3adminSaltPassword
lcm.salt-adapter.s3.region=ru-location-1
lcm.salt-adapter.s3.connection-timeout=1s
lcm.salt-adapter.s3.num-retries=3
lcm.salt-adapter.s3.initial-retry-delay-millis=100
lcm.salt-adapter.s3.max-retry-delay-millis=1000
lcm.salt-adapter.s3.state-bucket-name=salt-bucket
lcm.salt-adapter.s3.pillar-bucket-name=pillar-bucket
lcm.salt-adapter.s3.script-bucket-name=script-bucket

###############################################################################
# Multimedia service section                                                  #
###############################################################################

# contains a list of S3 server URIs
lcm.multimedia.s3.server-uri-list=http://localhost:9000,http://localhost:9900
## To enable SSL connection mode replace 'lcm.multimedia.s3.server-uri-list' parameter with following value:
#lcm.multimedia.s3.server-uri-list=https://localhost:9000,https://localhost:9900
lcm.multimedia.s3.access-key-id=s3adminMultimedia
lcm.multimedia.s3.secret-access-key=s3adminMultimediaPassword
lcm.multimedia.s3.region=ru-location-1
lcm.multimedia.s3.connection-timeout=1s
lcm.multimedia.s3.num-retries=3
lcm.multimedia.s3.initial-retry-delay-millis=100
lcm.multimedia.s3.max-retry-delay-millis=1000
lcm.multimedia.s3.icons-bucket-name=multimedia-bucket
lcm.multimedia.s3.images-bucket-name=multimedia-bucket
lcm.multimedia.s3.others-bucket-name=multimedia-bucket
lcm.multimedia.s3.script-bucket-name=script-bucket
lcm.multimedia.common.max-file-size-kb=1024
lcm.multimedia.common.download-token-ttl-seconds=3600
lcm.multimedia.common.expired-tokens-deletion-cron=0 0 * ? * *
# Contains current nginx frontend uri, used to form bootstrap script installation link
lcm.multimedia.common.frontend-uri=http://localhost:8081

###############################################################################
# Configurations manager section                                              #
###############################################################################

# Determines maximum amount of categories per one configuration
lcm.catalog.category.configuration-limit=5
# Determines total amount of categories
lcm.catalog.category.total-limit=15
# Determines maximum salt-agent installation script file size in megabytes
lcm.catalog.category.max-script-size-mbytes=10

###############################################################################
# Logging section                                                             #
###############################################################################

# Common logging config
quarkus.log.file.enable=true
quarkus.log.json.file.enable=true
quarkus.log.json.console.enable=false

# File logging config
quarkus.log.file.path=/app/inno-osmax/logs/osmax/core/osmax-core.log
quarkus.log.file.rotation.max-file-size=10M
quarkus.log.file.rotation.max-backup-index=5
quarkus.log.file.rotation.file-suffix=.yyyy-MM-dd.gz

# Json format config
quarkus.log.json.fields.mdc.flat-fields=true
quarkus.log.json.fields.timestamp.date-format=yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
quarkus.log.json.fields.timestamp.zone-id=UTC

# Audit logging config
quarkus.log.handler.file.audit-handler.enable=true
quarkus.log.handler.file.audit-handler.path=/app/inno-osmax/audit/osmax/core/audit-osmax-core.log
quarkus.log.handler.file.audit-handler.rotation.max-file-size=10M
quarkus.log.handler.file.audit-handler.rotation.max-backup-index=50
quarkus.log.handler.file.audit-handler.rotation.file-suffix=.yyyy-MM-dd

quarkus.log.category."AUDIT".level=INFO
quarkus.log.category."AUDIT".handlers=audit-handler
quarkus.log.category."AUDIT".use-parent-handlers=false

###############################################################################
# Debug section                                                               #
# Enable all logging events via environment variable `QUARKUS_PROFILE=debug`  #
# or delete `%debug.` prefix                                                  #
###############################################################################

# HTTP server access logs (uri + status)
%debug.quarkus.http.access-log.enabled=true

# Internal rest-client
%debug.quarkus.rest-client.logging.scope=request-response
%debug.quarkus.rest-client.logging.body-limit=500
%debug.quarkus.log.category."org.jboss.resteasy.reactive.client.logging".level=DEBUG
%debug.quarkus.log.category."org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext".level=DEBUG

# SaltStack events
%debug.quarkus.log.category."tech.inno.lcm.salt.events".level=DEBUG

# All backend services
%debug.quarkus.log.category."tech.inno.lcm".level=DEBUG

# Kerberos
%debug.quarkus.kerberos.debug=true
%debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".level=TRACE
%debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".min-level=TRACE

# AWS client
%debug.quarkus.log.category."software.amazon.awssdk.request".level=DEBUG

###############################################################################
# Quarkus framework section                                                   #
###############################################################################

# application is run under specific user, those settings allow not clashing with other quarkus apps on the same server
quarkus.http.body.uploads-directory=${java.io.tmpdir}/inno_osmax_core_uploads
quarkus.management.body.uploads-directory=${java.io.tmpdir}/inno_osmax_core_uploads
Перед запуском systemd-службы lcm измените права доступа к конфигурационному файлу, предоставив доступ только для пользователя, от имени которого она будет запускаться.

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

Подключение к HTTP-серверу

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

quarkus.http.port

Основной порт подключения

8081

8081

Подключение к HTTPS-серверу

Настройки, описанные в разделе, являются опциональными и используются, только при подключении по протоколу SSL.
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

quarkus.http.insecure-requests

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

  • enabled — HTTP-порт открыт;

  • disabled — HTTP-порт закрыт;

  • redirect — HTTP-порт открыт, но все запросы будут перенаправляться на HTTPS-порт

disabled

quarkus.http.ssl-port

Порт для подключения к HTTPS-серверу

8081

quarkus.http.ssl.certificate.key-store-file

Путь к хранилищу (keystore-файлу), где хранятся закрытые ключи и сертификаты, необходимые для установки защищенного HTTPS-соединения

/opt/inno-lcm-core/keystore.jks

quarkus.http.ssl.certificate.key-store-password

Пароль для доступа к keystore-файлу

keystore@12345

Аутентификация и авторизация

Параметры quarkus.kerberos.keytab-path и quarkus.kerberos.service-principal-<name/password/real> являются опциональными и взаимозаменяемыми. С точки зрения безопасности рекомендуется использовать keytab-файл для аутентификации в домене и указывать параметр quarkus.kerberos.keytab-path.
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

lcm.application.auth.disabled

Включение/выключение аутентификации Kerberos. Возможные значения: true и false

false

false

quarkus.kerberos.debug

(Опциональный параметр) включение/выключение отправки сообщений для отладки Kerberos. Возможные значения: true и false

true

quarkus.kerberos.service-principal-name

(Опциональный параметр) имя принципала для аутентификации Kerberos

lcm_backend_svc

quarkus.kerberos.service-principal-realm

(Опциональный параметр) наименование области безопасности (realm) принципала

my.domain.com

quarkus.kerberos.service-principal-password

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

Password123

quarkus.kerberos.keytab-path

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

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

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

(Устаревший опциональный параметр) список групп LDAP, пользователи которых авторизованы в графическом интерфейсе администратора

CN=testGroup,CN=Users,DC=inno,DC=test

lcm.authorization.rbac.enabled

Включение/выключение авторизации RBAC

false

false

lcm.authorization.rbac.super-users[0]

Пользователи, которым будут выданы права суперпользователя при запуске продукта. Параметр задается, если включена Авторизация RBAC (lcm.authorization.rbac.enabled=true).

Параметр задается отдельно для каждого пользователя, начиная с 0, например:

lcm.authorization.rbac.super-users[0]=alice@INNO.TEST
lcm.authorization.rbac.super-users[1]=bob@INNO.TEST

alice@INNO.TEST

Подключение к БД

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

quarkus.datasource."lcm-db".username

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

lcm

lcmadmin

quarkus.datasource."lcm-db".password

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

password

qwerty123

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

Адрес подключения серверной части продукта к БД. Формат:

pass:[postgresql://{db_host}:{db_port}/{db_name}]
Если необходимо указать схему по умолчанию используйте синтаксис: postgresql://localhost:5432/lcm?search_path=lcm_schema_name

postgresql://localhost:5432/lcm

postgresql://10.6.32.156:5432/lcm

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

Адрес подключения к БД. Параметр используется утилитой Liquibase для актуализации схемы БД. Формат:

pass:[jdbc:postgresql://{db_host}:{db_port}/{db_name}]

jdbc:postgresql://localhost:5432/lcm

jdbc:postgresql://10.6.32.156:5432/lcm

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

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

lcm

lcm

quarkus.liquibase."lcm-db".migrate-at-start

Включение/выключение автоматического обновления структуры БД с помощью утилиты Liquibase. Возможные значения: true и false

True

True

quarkus.datasource."lcm-db-readonly".username

Имя пользователя с правами только на чтение данных (read-only) для подключения к БД

readonly

lcmuser

quarkus.datasource."lcm-db-readonly".password

Пароль пользователя с правами только на чтение данных (read-only) для подключения к БД

password

lcmuserpassword

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

Адрес подключения серверной части продукта к БД. Формат:

pass:[postgresql://{db_host}:{db_port}/{db_name}]

postgresql://localhost:5432/lcm

postgresql://localhost:5432/lcm

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

Адрес подключения к БД. Формат:

pass:[jdbc:postgresql://{db_host}:{db_port}/{db_name}]

jdbc:postgresql://localhost:5432/lcm

jdbc:postgresql://10.6.32.156:5432/lcm

Инвентаризация оборудования

Нумерация массива 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.job-sync-collection-pillars.cron.expr

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

0 0/15 * ? * * *

0/10 * * ? * * *

lcm.inventory.job.user-sessions-cleanup.storage-days-count

Период хранения данных истории сессий пользователей (количество дней), по истечению которого они будут удалены

90

90

lcm.inventory.job.user-sessions-cleanup.cron-expr

Cron-выражение в формате quartz, которое задает расписание удаления данных истории сессий пользователей

0 0 0 ? * * *

0 0 0 ? * * *

lcm.inventory.machine-attribute.section.size

Максимальное количество атрибутов устройств в одном разделе

20

20

lcm.inventory.user-attribute.section.size

Максимальное количество пользовательских атрибутов в одном разделе

20

20

lcm.inventory.settings.agent.minutes-to-become-offline

Интервал в минутах, в течение которого на агенте (minion) нет активности. По истечению этого интервала сетевой статус агента (minion) будет изменен на неактивный (offline)

5

5

lcm.inventory.settings.agent.user-session-file-path

Путь к файлу на сервере с агентом (minion), в котором хранится информация о сессиях пользователей

/var/log/wtmp

/var/log/wtmp

lcm.inventory.settings.agent.active-user-session-file-path

Путь к файлу на сервере с агентом (minion), в котором хранится информация о текущих сессиях пользователей

/var/run/utmp

/var/run/utmp

lcm.inventory.settings.agent.multi-master-mode

Включение/выключение режима «мульти-мастер»

true

true

lcm.inventory.settings.agent.bootstrap-script-config-path

Абсолютный путь до всех файлов, которые должны быть включены в архив конфигурации скрипта загрузки агентов (формат: .tar.gz).

/config/script-configs/bootstrap/

/config/script-configs/bootstrap/

lcm.inventory.settings.agent.bootstrap-ssh-user

(Опциональный параметр) имя пользователя SSH, который будет использоваться при загрузке агента

lcm.inventory.settings.agent.bootstrap-ssh-password

(Опциональный параметр) пароль пользователя SSH, который будет использоваться при загрузке агента

lcm.inventory.settings.agent.bootstrap-ssh-private-key-path

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

lcm.inventory.ldap.search-page-size

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

200

200

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

Название источника данных (например, имя домена)

my.domain.com

lcm-1583.terra.inno.tech

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

Базовое имя домена в формате LDAP

DC=my,DC=domain,DC=com

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

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

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

localhost

10.6.32.204

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

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

636

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

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

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

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

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

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

administrator@my.domain.com

Administrator@lcm-1583.terra.inno.tech

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

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

Welkom123

Welkom123

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

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

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

10000

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

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

10000

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

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

true

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

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

true

Группа опциональных параметров, которая позволяет задать путь к файлу сертификата отдельно для каждого источника данных LDAP (значение задается с 0):

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

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

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

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

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

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

true

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

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

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

Группа опциональных параметров, которая позволяет задать путь к файлу доверенного хранилища сертификатов отдельно для каждого источника данных LDAP (значение задается с 0):

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

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

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

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

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

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

true

lcm.inventory.ldap.datasource[0].ssl-trust-store

Путь к файлу хранилища доверенных сертификатов (truststore) для указанного источника данных LDAP

/opt/inno-lcm-core/keystore.jks

lcm.inventory.ldap.datasource[0].ssl-trust-store-type

Тип хранилища доверенных сертификатов для указанного источника данных LDAP

PKCS12

lcm.inventory.ldap.datasource[0].ssl-trust-store-password

Пароль для доступа к хранилищу доверенных сертификатов указанного источника данных LDAP

keystore@12345

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

lcm.inventory.ldap.ssl-trust-store

Путь к файлу хранилища доверенных сертификатов (truststore) для источника данных LDAP

/opt/inno-lcm-core/keystore.jks

lcm.inventory.ldap.ssl-trust-store-type

Тип хранилища доверенных сертификатов для источника данных LDAP

JKS

lcm.inventory.ldap.ssl-trust-store-password

Пароль для доступа к хранилищу доверенных сертификатов источника данных LDAP

keystore@12345

Работа с пользовательским интерфейсом «Магазин приложений»

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

lcm.order-management.completion.time.hours

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

12

12

lcm.order-management.autocomplete.cron.expr

Cron-выражение в формате quartz задающее расписание выполнения проверки долго выполняющихся заказов, после которой они будут считаться невыполненными

0 0 * ? * * *

0 0 * ? * * *

Интеграция с Apache Kafka

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

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

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

localhost:9092

10.6.32.156:9092

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

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

salt-topic

salt-topic

Настройка SSL-соединения с Apache Kafka

Параметры из данного блока являются опциональными и задаются, только если требуется SSL для Apache Kafka.
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

mp.messaging.connector.smallrye-kafka.security.protocol

SSL-протокол для защищенного соединения

SSL

mp.messaging.connector.smallrye-kafka.ssl.truststore.location

Путь к файлу хранилища доверенных сертификатов (truststore), который содержит сертификаты доверенных центров сертификации

/etc/ssl/certs/java/cacerts

mp.messaging.connector.smallrye-kafka.ssl.truststore.password

Пароль для доступа к хранилищу доверенных сертификатов

truststore@12345

mp.messaging.connector.smallrye-kafka.ssl.truststore.type

Тип хранилища, например, JKS, JCEKS, P12, PKCS12, PFX. Если значение не задано, по умолчанию используется значение JKS

PKCS12

Настройки REST-клиентов

Настройки, описанные в разделе, являются опциональными и используются, только при подключении по протоколу SSL.
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

quarkus.rest-client.trust-store

Путь к файлу хранилища доверенных сертификатов (truststore), который содержит сертификаты доверенных центров сертификации

/etc/ssl/certs/java/cacerts

quarkus.rest-client.trust-store-password

Пароль для доступа к хранилищу доверенных сертификатов

truststore@12345

quarkus.rest-client.trust-store-type

Тип хранилища, например, JKS, JCEKS, P12, PKCS12, PFX. Если значение не задано, по умолчанию используется значение JKS

PKCS12

quarkus.rest-client.remote-access.trust-all

Отключение проверки SSL-соединения

true

Интеграция с API SaltStack

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

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

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

http

http

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

Порт, на котором будет запущен API-модуль сервера управления (master). Значение параметра задается для всех используемых серверов управления (masters)

8000

8000

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

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

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

pam

pam

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

Логин для подключения к серверу управления (master). Значение параметра задается для всех используемых серверов управления (masters)

salt_api

salt_api

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

Пароль для подключения к серверу управления (master). Значение параметра задается для всех используемых серверов управления (masters)

salt123

salt123

lcm.salt-adapter.command-runner.retry.number-of-attempts

Количество попыток выполнения команды, после неудачной попытки

5

5

lcm.salt-adapter.command-runner.retry.initial-back-off

Начальное время задержки перед повторной попыткой выполнения команды после неудачной попытки

1s

1s

lcm.salt-adapter.command-runner.retry.max-back-off

Максимальное время задержки перед повторной попыткой выполнения команды. Если команда не выполняется успешно даже после максимальной задержки, она завершится ошибкой

1s

1s

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

lcm.salt-adapter.command-runner.override-masters[0].id

Имя машины, на которой установлен сервер управления (master)

При использовании нескольких серверов управления (masters) значение задается отдельно для каждого; нумерация массива начинается с [0]. Пример: lcm.salt-adapter.command-runner.override-masters[0].id=salt-master1, lcm.salt-adapter.command-runner.override-masters[1].id=salt-master2

salt-master2

lcm.salt-adapter.command-runner.override-masters[0].uri

Полный адрес API-модуль сервера управления (master), указанного в параметре lcm.salt-adapter.command-runner.override-masters[0].id

При использовании нескольких серверов управления (masters) значение задается отдельно для каждого; нумерация массива начинается с [0]. Пример: lcm.salt-adapter.command-runner.override-masters[0].http://192.168.0.1:8000, lcm.salt-adapter.command-runner.override-masters[0].uri=http://192.168.0.2:8000

http://192.168.0.2:8000

Интеграция с модулем «Удаленный доступ»

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

quarkus.rest-client.remote-access.url

URL-адрес для подключения к модулю «Удаленный доступ»

https://guacamole-host.net:9099/guacamole

https://guacamole-host.net:9099/guacamole

lcm.inventory.remote-access.username

Аккаунт для входа в модуль «Удаленный доступ»

admin

admin

lcm.inventory.remote-access.password

Пароль от аккаунта для входа в модуль «Удаленный доступ»

12345

12345

Опциональные параметры, которые используются для расширенной настройки REST-клиента Quarkus модуля «Удаленный доступ»:

quarkus.rest-client.remote-access.connect-timeout

Таймаут соединения при обращении к удаленному серверу

quarkus.rest-client.remote-access.trust-store

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

quarkus.rest-client.remote-access.trust-store-password

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

quarkus.rest-client.remote-access.trust-store-type

Тип хранилища доверенных сертификатов (например, JKS)

quarkus.rest-client.remote-access.key-store

Путь к файлу с ключами (keystore) для аутентификации при обращении к удаленному серверу

quarkus.rest-client.remote-access.key-store-password

Пароль для доступа к файлу с ключами (keystore)

quarkus.rest-client.remote-access.key-store-type

Тип хранилища ключей (например, JKS)

quarkus.rest-client.remote-access.hostname-verifier

Параметр, определяющий, должно ли проверяться доменное имя удаленного сервера при установке соединения

quarkus.rest-client.remote-access.connection-ttl

Длительность соединения с удаленным сервером

Интеграция с S3-совместимым хранилищем

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

lcm.salt-adapter.s3.server-uri-list

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

Для переключения взаимодействия с S3-совместимым хранилищем по протоколу SSL:

  1. Измените URI c http на https.

  2. Разместите публичный сертификат сервера S3 или сертификат выдавшего его удостоверяющего центра в системное хранилище сертификатов

http://10.6.32.156:9000

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

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

s3adminSalt

minionadmin

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

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

s3adminSaltPassword

minionadmin123

lcm.salt-adapter.s3.region

Название региона S3 NOTE: Для хранилища Ceph данный параметр не учитывается. Если вы используете Сeph в качестве хранилища, укажите значение default

ru-location-1

ru-location-1

lcm.salt-adapter.s3.connection-timeout

Таймаут соединения с S3-совместимым хранилищем

1s

1s

lcm.salt-adapter.s3.num-retries

Максимальное количество попыток повторного подключения к S3-совместимому хранилищу, после неудачного подключения

3

3

lcm.salt-adapter.s3.initial-retry-delay-millis

Начальная задержка перед повторной попыткой подключения в миллисекундах

100

100

lcm.salt-adapter.s3.max-retry-delay-millis

Максимальная задержка перед повторной попыткой подключения в миллисекундах

1000

1000

lcm.salt-adapter.s3.state-bucket-name

Название бакета S3 для хранения общих файлов конфигураций и файлов состояний

salt-bucket

salt-bucket

lcm.salt-adapter.s3.pillar-bucket-name

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

pillar-bucket

pillar-bucket

lcm.salt-adapter.s3.script-bucket-name

Название бакета S3 для хранения исполняемых файлов (скриптов), предназначенных для установки агентов (minions) на устройства

script-bucket

script-bucket

Хранение мультимедиа-файлов в S3-совместимом хранилище

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

lcm.multimedia.s3.server-uri-list

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

Для переключения взаимодействия с S3-совместимым хранилищем по протоколу SSL:

  1. Измените URI c http на https.

  2. Разместите публичный сертификат сервера S3 или сертификат выдавшего его удостоверяющего центра в системное хранилище сертификатов

http://localhost:9000,http://localhost:9900

http://10.6.32.156:9000

lcm.multimedia.s3.access-key-id

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

s3adminMultimedia

minioadmin

lcm.multimedia.s3.secret-access-key

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

s3adminMultimediaPassword

minioadmin123

lcm.multimedia.s3.region

Название региона S3 для хранилища мультимедиа-контента NOTE: Для хранилища Ceph данный параметр не учитывается. Если вы используете Сeph в качестве хранилища, укажите значение default

ru-location-1

ru-location-1

lcm.multimedia.s3.connection-timeout

Таймаут соединения с S3-совместимым хранилищем

1s

1s

lcm.multimedia.s3.num-retries

Максимальное количество попыток повторного подключения к S3-совместимому хранилищу, после неудачного подключения

3

3

lcm.multimedia.s3.initial-retry-delay-millis

Начальная задержка перед повторной попыткой подключения в миллисекундах

100

100

lcm.multimedia.s3.max-retry-delay-millis

Максимальная задержка перед повторной попыткой подключения в миллисекундах

1000

1000

lcm.multimedia.s3.icons-bucket-name

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

multimedia-bucket

icons-bucket

lcm.multimedia.s3.images-bucket-name

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

multimedia-bucket

images-bucket

lcm.multimedia.s3.others-bucket-name

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

multimedia-bucket

others-bucket

lcm.multimedia.s3.script-bucket-name

Название бакета S3 для хранения исполняемых файлов (скриптов), предназначенных для установки агентов (minions) на устройства

script-bucket

script-bucket

lcm.multimedia.common.max-file-size-kb

Максимальный размер файла в килобайтах

1024

1024

lcm.multimedia.common.frontend-uri

URI для доступа к фронтенду

http://localhost:8081

http://localhost:8081

Управление конфигурациями

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

lcm.catalog.category.configuration-limit

Максимальное количество категорий для одной конфигурации

5

5

lcm.catalog.category.total-limit

Общее число категорий

15

15

lcm.catalog.category.max-script-size-mbytes

Максимальный размер файла скрипта установки агентов (minions) в мегабайтах

10

10

Логирование

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

quarkus.log.file.enable

Активация логирования в файл. Возможные значения: true и false

true

true

quarkus.log.json.file.enable

Включение/выключение форматирования логов в JSON при записи в файл

true

true

quarkus.log.json.console.enable

Включение/выключение форматирования логов в JSON при выводе в консоль

false

false

quarkus.log.file.path

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

/app/inno-osmax/logs/osmax/core/osmax-core.log

/app/inno-osmax/logs/osmax/core/osmax-core.log

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

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

10М

10М

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

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

5

5

quarkus.log.file.rotation.file-suffix

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

.yyyy-MM-dd.gz

.yyyy-MM-dd.gz

quarkus.log.json.fields.mdc.flat-fields

Параметр, который указывает, что контекст MDC (Mapped Diagnostic Context) должен быть записан в плоском формате

true

true

quarkus.log.json.fields.timestamp.date-format

Формат даты и времени для поля timestamp в JSON

yyyy-MM-dd’T’HH:mm:ss.SSS’Z'

yyyy-MM-dd’T’HH:mm:ss.SSS’Z'

quarkus.log.json.fields.timestamp.zone-id

Часовой пояс для поля timestamp в JSON

UTC

UTC

quarkus.log.handler.file.audit-handler.enable

Включение/выключение обработчика для логов аудита

true

true

quarkus.log.handler.file.audit-handler.path

Путь к файлу, в который будут записываться логи аудита

/app/inno-osmax/audit/osmax/core/audit-osmax-core.log

/app/inno-osmax/audit/osmax/core/audit-osmax-core.log

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

Максимальный размер файла логов аудита до переноса в исторический файл

10M

10M

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

Максимальное количество резервных копий файлов логов аудита

50

50

quarkus.log.handler.file.audit-handler.rotation.file-suffix

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

.yyyy-MM-dd

.yyyy-MM-dd

quarkus.log.category."AUDIT".level

Настройка уровня логирования. Возможные значения:

  • FATAL — сообщение об ошибке, которая привела к критическому сбою программы;

  • ERROR — сообщение об ошибке, которая привела к некритическому сбою программы;

  • WARN — предупреждение о потенциальной проблеме или необычном состоянии, которое не является ошибкой, но требует внимания;

  • INFO — информационное сообщение о ходе работы программы, которое может быть полезно для мониторинга и отладки;

  • DEBUG — детальная отладочная информация, которая помогает разработчикам выявлять и исправлять проблемы в коде;

  • TRACE — cамый низкий уровень важности, предоставляющий еще более детальную информацию, которая используется для отслеживания каждого шага алгоритма или функции.

При необходимости вы можете указать уровни логирования для конкретных компонентов системы, используя маску:

quarkus.log.category.<"system module">

Пример:

quarkus.log.category."AUDIT".level=DEBUG

INFO

INFO

quarkus.log.category."AUDIT".handlers

Обработчик, который будет использоваться для категории "AUDIT"

audit-handler

audit-handler

quarkus.log.category."AUDIT".use-parent-handlers

Включение/выключение использования родительских обработчиков для категории "AUDIT"

false

false

Отладка

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

%debug.quarkus.http.access-log.enabled

Включение/выключение логирования доступа к HTTP-серверу (uri и статус). Возможные значения: true и false

true

true

%debug.quarkus.rest-client.logging.scope

Уровень логирования для внутреннего REST-клиента, который будет записывать информацию о запросах и ответах

request-response

request-response

%debug.quarkus.rest-client.logging.body-limit

Размер тела запроса/ответа

500

500

%debug.quarkus.log.category."org.jboss.resteasy.reactive.client.logging".level

Уровень логирования для пакета org.jboss.resteasy.reactive.client.logging

DEBUG

DEBUG

%debug.quarkus.log.category."org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext".level

Уровень логирования для класса org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext

DEBUG

DEBUG

%debug.quarkus.log.category."tech.inno.lcm.salt.events".level

Уровень логирования для событий SaltStack

DEBUG

DEBUG

%debug.quarkus.log.category."tech.inno.lcm".level

Уровень логирования для всех сервисов бэкенда, начинающихся с tech.inno.lcm

DEBUG

DEBUG

%debug.quarkus.kerberos.debug

Включение/выключение дополнительного логирования для аутентификации Kerberos. Возможные значения: true и false

true

true

%debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".level

Уровень логирования для класса io.quarkiverse.kerberos.runtime.KerberosIdentityProvider

TRACE

TRACE

%debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".min-level

Минимальный уровень логирования для класса io.quarkiverse.kerberos.runtime.KerberosIdentityProvider

TRACE

TRACE

%debug.quarkus.log.category."software.amazon.awssdk.request".level

Уровень логирования для категории запросов к сервисам Amazon AWS SDK

DEBUG

DEBUG

Фреймворк Quarkus

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

quarkus.http.body.uploads-directory

Директория для временного хранения файлов, загружаемых посредством API

${java.io.tmpdir}/inno_osmax_core_uploads

${java.io.tmpdir}/inno_osmax_core_uploads

quarkus.management.body.uploads-directory

Директория для временного хранения файлов, загружаемых посредством служебных API

${java.io.tmpdir}/inno_osmax_core_uploads

${java.io.tmpdir}/inno_osmax_core_uploads