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

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

Набор требуемых параметров может отличаться для разных версий продукта. Для удобства в разделе «Сравнение конфигурационных файлов» приведено сравнение файлов для текущей и предыдущей версий.
Пример конфигурационного файла
## This is an example of `application.properties` file as main configuration file for osmax-core backend

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

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

## HTTP body limit, can be changed to big files uploading
quarkus.http.limits.max-body-size=100M

## 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/osmax-core/keystore.jks
#quarkus.http.ssl.certificate.key-store-password=keystore@12345

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

## Enable/disable authentication
osmax.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/osmax-core/my_file.keytab

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

# New RBAC
osmax.authorization.rbac.enabled=false
# The following users will be mapped to the superuser role when the application starts
#osmax.authorization.rbac.super-users[0]=alice@INNO.TEST
#osmax.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

## If you need to specify few datasource connections for load-balancing or work with clustered db use the syntax below
#quarkus.datasource."lcm-db".reactive.url=postgresql://host1:5432/lcm,postgresql://host2:5432/lcm,postgresql://host3:5432/lcm
## Or this can also be written with indexed property syntax
#quarkus.datasource."lcm-db".reactive.url[0]=postgresql://host1:5432/lcm
#quarkus.datasource."lcm-db".reactive.url[1]=postgresql://host2:5432/lcm
#quarkus.datasource."lcm-db".reactive.url[2]=postgresql://host3:5432/lcm

## 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                                       #
###############################################################################

# Remote operation orders
# Every 10 minutes
osmax.inventory.job.remote-operation-expired-orders.cron.expression=0 */10 * ? * *

# Schedule for checking dynamic machine collections refresh executing time (quartz cron format), every 2 min
osmax.inventory.job.dynamic-collections-refresh-executing-time.cron.expr=0 */2 * ? * *
# Splay value in seconds for one-time task of dynamic machine collections refresh
osmax.inventory.job.dynamic-collections-refresh.splay=10

# Schedule for starting entity cleanup tasks (quartz cron format)
# Every 2 minutes
osmax.inventory.job.cleanup-tasks-starter-scheduler.cron.expr=0 */2 * ? * *

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

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

# The number of minutes since the last agent activity before the device goes into "Offline" status
osmax.inventory.settings.agent.minutes-to-become-offline=5
# Absolute file path to `wtmp` file which stores historical data of user logins and logouts
osmax.machines.user-sessions.linux.wtmp-absolute-path=/var/log/wtmp
# Absolute file path to `utmp` file which stores user sessions in real time
osmax.machines.user-sessions.linux.utmp-absolute-path=/var/run/utmp
# Option, which determines the considered Salt mode (single- or multimaster), can be true or false
osmax.agent-installation.settings.multi-master-mode=true
# Absolute path, containing all files which are to be included into bootstrap script configuration archive (.tar.gz)
osmax.salt.scripts.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
#osmax.agent-installation.settings.bootstrap-ssh-user=
#osmax.agent-installation.settings.bootstrap-ssh-password=
#osmax.agent-installation.settings.bootstrap-ssh-private-key-path=

###############################################################################
# LDAP integration properties section                                       #
###############################################################################

#enable JNDI for the LDAP server discovery inside the MS AD domain when you define option 'osmax.inventory.ldap.datasource[i].dns-srv-record'
quarkus.naming.enable-jndi=true
## Determines the page size for any ldap query
osmax.inventory.ldap.search-page-size=200
## The first LDAP datasource configuration
osmax.inventory.ldap.datasource[0].name=my.domain.com
osmax.inventory.ldap.datasource[0].base-dn=DC=my,DC=domain,DC=com
## There are 2 options to set LDAP hostname pools
## 1) direct addresses defining
## 2) using DNS SRV records to discover LDAP servers from MS AS domain
##
## For the direct addresses defining of LDAP datasource please use the following options:
## osmax.inventory.ldap.datasource[i].host=
## osmax.inventory.ldap.datasource[i].port=
##
## extra hosts section is optional
## osmax.inventory.ldap.datasource[i].extra-hosts[j].host=
## osmax.inventory.ldap.datasource[i].extra-hosts[j].port=

## For the using DNS SRV records to discover LDAP servers from MS AS domain use the following options:
### osmax.inventory.ldap.datasource[i].dns-srv-record=
##
## example below:
osmax.inventory.ldap.datasource[0].host=localhost
osmax.inventory.ldap.datasource[0].port=636
osmax.inventory.ldap.datasource[0].username=administrator@my.domain.com
osmax.inventory.ldap.datasource[0].password=Welkom123
## Optional section for the LDAP datasource
# osmax.inventory.ldap.datasource[0].connect-timeout-millis=10000
# osmax.inventory.ldap.datasource[0].response-timeout=10000
# osmax.inventory.ldap.datasource[0].abandon-on-timeout=true
# osmax.inventory.ldap.datasource[0].allow-concurrent-socket-factory-use=true

## The second and subsequent LDAP datasource configurations are optional
#osmax.inventory.ldap.datasource[1].name=my2.domain.com
#osmax.inventory.ldap.datasource[1].base-dn=DC=my2,DC=domain,DC=com
#osmax.inventory.ldap.datasource[1].dns-srv-record=_ldap._tcp.dc._msdcs.mydomain.com
#osmax.inventory.ldap.datasource[1]...

## LDAPS (LDAP over SSL) parameters section.

# To configure LDAPS please use the following option
#osmax.inventory.ldap.datasource[i].ssl=...
# There are 3 options available for this option:
# value `false` - use this mode when you want to use LDAP without SSL (usually 389 port)
# value `true` - use this mode when you want to use LDAPS (usually 636 port), requires path to the certificate file or truststore file
# value `start-tls` - use this mode when you want to establish an insecure connection (usually 389 port),
#                     but then to immediately use the StartTLS extended operation to convert that insecure connection to a secure one

# If you want to trust all SSL certificates without direct certificate/truststore definition you can use the option
# osmax.inventory.ldap.datasource[i].trust-all-ssl-certificates=true

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

## The following example shows how to configure LDAPS with truststore file definition for the datasource
#osmax.inventory.ldap.datasource[0].ssl=true
#osmax.inventory.ldap.datasource[0].ssl-trust-store=/opt/osmax-core/keystore.jks
#osmax.inventory.ldap.datasource[0].ssl-trust-store-type=PKCS12
#osmax.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
#osmax.inventory.ldap.ssl-trust-store=/opt/osmax-core/keystore.jks
#osmax.inventory.ldap.ssl-trust-store-type=JKS
#osmax.inventory.ldap.ssl-trust-store-password=keystore@12345


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

# Determines the amount of hours after which order is considered failed
osmax.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]
osmax.order-management.autocomplete.cron.expr=0 0 * ? * * *

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

## Kafka bootstrap servers (comma separated)
mp.messaging.connector.smallrye-kafka.bootstrap.servers=localhost:9092
# Kafka topic name
mp.messaging.incoming.salt-events-kafka.topic=salt-topic
mp.messaging.outgoing.core-os-reinstallation-machines.topic=osmax-core.os.reinstallation.machines
mp.messaging.incoming.provisioner-os-reinstallation-machine-registration-statuses.topic=osmax-provisioner.os.reinstallation.machines.registration.statuses
mp.messaging.incoming.provisioner-os-installed-events-kafka.topic=provisioner-topic
mp.messaging.incoming.provisioner-os-installed-events-kafka.dead-letter-queue.topic=provisioner-dlq-topic

## The provisioner-os-installed-events-kafka listener support retry strategy,
## default values are maxRetries=3, delay=100ms and jitter=0, to change retry settings use
#tech.inno.lcm.provisioner.events.ProvisionerEventsListener/consume/Retry/maxRetries=0
## See more info https://quarkus.io/guides/smallrye-fault-tolerance#runtime-configuration
## and available options https://github.com/eclipse/microprofile-fault-tolerance/blob/main/api/src/main/java/org/eclipse/microprofile/faulttolerance/Retry.java

## 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

## To enable mutual TLS connection mode uncomment three following parameters, along with configuration above:
#mp.messaging.connector.smallrye-kafka.ssl.keystore.location=/opt/osmax-core/keystore.jks
#mp.messaging.connector.smallrye-kafka.ssl.keystore.password=keystore@12345
## Optionally if the custom keystore is used:
## To change the format use one of JKS, JCEKS, P12, PKCS12, PFX. Default format is JKS
#mp.messaging.connector.smallrye-kafka.ssl.keystore.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                                               #
###############################################################################

osmax.salt-adapter.command-runner.http-scheme=http
osmax.salt-adapter.command-runner.master-api-port=8000
osmax.salt-adapter.command-runner.global-auth.eauth=pam
osmax.salt-adapter.command-runner.global-auth.login=salt_api
osmax.salt-adapter.command-runner.global-auth.password=123
osmax.salt-adapter.command-runner.retry.number-of-attempts=5
osmax.salt-adapter.command-runner.retry.initial-back-off=1s
osmax.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
#osmax.salt-adapter.command-runner.override-masters[0].id=salt-master1
#osmax.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
#osmax.salt-adapter.command-runner.override-masters[1].id=salt-master2
#osmax.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
# Timeout specified in milliseconds to wait to connect to the remote endpoint.
#quarkus.rest-client.remote-access.connect-timeout=<millis>
# Timeout specified in milliseconds to wait for a response from the remote endpoint.
#quarkus.rest-client.remote-access.read-timeout=<millis>
#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
osmax.inventory.remote-access.username=admin
# system account login password for the guacamole remote access service
osmax.inventory.remote-access.password=password

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

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

# Schedule for pillar top.sls update
# Every 30 seconds
osmax.inventory.job.salt-assignment-mapping-update.cron.expr=0/30 * * ? * *
# Schedule for fetching tasks for update salt s3 files (pillars and highstate)
# Every 5 seconds
osmax.inventory.job.salt-assignment-update.cron.expr=0/5 * * ? * *

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

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

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

# Determines maximum amount of categories per one configuration
osmax.catalog.category.configuration-limit=5
# Determines total amount of categories
osmax.catalog.category.total-limit=15
# Determines maximum salt-agent installation script file size in megabytes
osmax.catalog.script.max-script-size-mbytes=10
# Determines allowed interval in milliseconds between comparing dates
# Under this interval the two dates will be considered equal
# Deprecated since 1.11.0
# osmax.catalog.common.dates-comparing-accuracy-millis=100
# use osmax.optimistic-locks.dates-comparing-accuracy-millis

###############################################################################
# Software inventory section                                                  #
###############################################################################
osmax.inventory.software.sync-cache-data-cron=0 0 0/1 ? * *
osmax.inventory.software.stale-cache-data-age-minutes=120
osmax.inventory.software.executable-files.base-path-scan=/home/
# Comma separated sections list which packages will be ignored
osmax.inventory.software.packages.sections-blacklist=libs,non-free/libs,devel

###############################################################################
# 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=/var/log/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=/var/log/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}/osmax_core_uploads
quarkus.management.body.uploads-directory=${java.io.tmpdir}/osmax_core_uploads

###############################################################################
# Locks section                                                               #
###############################################################################
osmax.pessimistic-locks.enabled=true
osmax.pessimistic-locks.auto-unlock.threshold.seconds=3600
osmax.pessimistic-locks.auto-unlock.job.interval.seconds=600

osmax.optimistic-locks.enabled=true
# Determines allowed interval in milliseconds between comparing dates
# Under this interval the two dates will be considered equal hen checking optimistic lock by date
#osmax.optimistic-locks.dates-comparing-accuracy-millis=100

###############################################################################
# Predefined objects properties section                                       #
###############################################################################
osmax.predefined-objects-import.enabled=true
osmax.predefined-objects-import.custom-grains.src=custom-grains
osmax.predefined-objects-import.execution-modules.src=execution-modules
osmax.predefined-objects-import.salt-scripts.src=salt-scripts
osmax.predefined-objects-import.formulas.src=formulas
osmax.predefined-objects-import.formulas.meta.src=formulas-meta
osmax.predefined-objects-import.configurations.meta.src=specifications/meta
osmax.predefined-objects-import.scripts.src=scripts
Перед запуском systemd-службы osmax измените права доступа к конфигурационному файлу, предоставив доступ только для пользователя, от имени которого она будет запускаться.

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

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

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

quarkus.http.port

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

8081

8081

quarkus.http.limits.max-body-size

Максимальный размер тела HTTP-сообщения. Влияет на загрузку больших файлов, например, при загрузке формул. Рекомендуется не устанавливать значение больше 100M

100M

100M

Подключение к 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/osmax-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.
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

osmax.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/osmax-core/my_file.keytab

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

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

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

osmax.authorization.rbac.enabled

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

false

false

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

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

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

osmax.authorization.rbac.super-users[0]=alice@INNO.TEST
osmax.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.

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

Вариант 1:

quarkus.datasource."lcm-db".reactive.url=postgresql://host1:5432/lcm,postgresql://host2:5432/lcm,postgresql://host3:5432/lcm

Вариант 2:

quarkus.datasource."lcm-db".reactive.url[0]=postgresql://host1:5432/lcm
quarkus.datasource."lcm-db".reactive.url[1]=postgresql://host2:5432/lcm
quarkus.datasource."lcm-db".reactive.url[2]=postgresql://host3:5432/lcm

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

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

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

osmax.inventory.job.remote-operation-expired-orders.cron.expression

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

0 */10 * ? * *

0 */10 * ? * *

osmax.inventory.job.dynamic-collections-refresh-executing-time.cron.expr

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

0 */2 * ? * *

0 */2 * ? * *

osmax.inventory.job.dynamic-collections-refresh.splay

Значение сплэя (splay) в секундах для одноразовой задачи обновления динамических коллекций устройств

10

10

osmax.inventory.job.cleanup-tasks-starter-scheduler.cron.expr

Cron-выражение в формате Quartz, которое задает расписание удаления устаревших данных из БД

0 */2 * ? * *

0 */2 * ? * *

osmax.inventory.machine-attribute.section.size

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

20

20

osmax.inventory.user-attribute.section.size

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

20

20

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

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

5

5

osmax.machines.user-sessions.linux.wtmp-absolute-path

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

/var/log/wtmp

/var/log/wtmp

osmax.machines.user-sessions.linux.utmp-absolute-path

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

/var/run/utmp

/var/run/utmp

osmax.agent-installation.settings.multi-master-mode

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

true

true

osmax.salt.scripts.bootstrap-script-config-path

Абсолютный локальный путь до каталога, который содержит файлы скриптов загрузки агентов (minions).

Параметр используется для включения опции удаленной установки агентов (minions) при подключении к серверу управления (master) в отказоустойчивом режиме мульти-мастер с автоматическим переключением (failover). Чтобы опция работала корректно, предварительно сформируйте локально каталог (используя команду mkdir -p /config/script-configs/bootstrap/) и поместите в него:

  • файл с публичным SSH-ключом сервера управления (master) для взаимодействия с агентом (minion);

  • файл конфигурации агента (minion) для подключения к серверу управления (master), работающему в режиме мульти-мастер.

При установке продукта эти файлы будут автоматически запакованы в архив в формате .tar.gz и перенесены из указанной директории в S3-совместимое хранилище в бакет script-bucket (создание SSH-ключей и конфигурационных файлов описаны в разделе «Конфигурация агента (minion)»)

/config/script-configs/bootstrap/

/config/script-configs/bootstrap/

osmax.agent-installation.settings.bootstrap-ssh-user

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

osmax.agent-installation.settings.bootstrap-ssh-password

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

osmax.agent-installation.settings.bootstrap-ssh-private-key-path

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

Интеграция с источниками данных LDAP

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

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

Пример:

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

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

  • osmax.inventory.ldap.datasource[1].port=389.

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

quarkus.naming.enable-jndi

Включение JNDI (Java Naming and Directory Interface) для обнаружения в домене MS AD при определении параметра osmax.inventory.ldap.datasource[i].dns-srv-record

false

true

osmax.inventory.ldap.search-page-size

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

200

200

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

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

my.domain.com

osmax-1583.terra.inno.tech

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

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

DC=my,DC=domain,DC=com

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

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

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

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

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

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

administrator@my.domain.com

Administrator@osmax-1583.terra.inno.tech

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

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

Welkom123

Welkom123

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

Параметры являются взаимозаменяемыми с параметром osmax.inventory.ldap.datasource[i].dns-srv-record

osmax.inventory.ldap.datasource[i].host

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

10.6.32.204

osmax.inventory.ldap.datasource[i].port

Порт для соединения по протоколу LDAP

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

Группа (массив) опциональных адресов/портов дополнительных LDAP-серверов (контроллеров доменов):

Для каждого элемента массива osmax.inventory.ldap.datasource[i].extra-hosts должны быть заданы оба параметра host и port, например:

  • osmax.inventory.ldap.datasource[0].extra-hosts[0].host=reserve-server.domain.com;

  • osmax.inventory.ldap.datasource[0].extra-hosts[0].port=389;

  • osmax.inventory.ldap.datasource[0].extra-hosts[1].host=old-server.domain.com;

  • osmax.inventory.ldap.datasource[0].extra-hosts[1].port=390;

  • osmax.inventory.ldap.datasource[0].extra-hosts[2].host=test-server.domain.com;

  • osmax.inventory.ldap.datasource[0].extra-hosts[2].port=390

osmax.inventory.ldap.datasource[i].extra-hosts[j].host

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

test-server.domain.com

osmax.inventory.ldap.datasource[i].extra-hosts[j].port

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

390

Опциональный параметр, который используются для настройки пулов имен хостов через использование записей DNS SRV для обнаружения LDAP-серверов из домена MS AD.

Параметр является взаимозаменяемым с параметрами, описанными выше

osmax.inventory.ldap.datasource[i].dns-srv-record

(Опциональный параметр) Запись SRV (Service) в DNS, которая используется для обнаружения и автоматического определения конфигурации LDAP-сервера.

Чаще всего при публикации сервисов в DNS SRV контроллеры доменов MS AD публикуют LDAP-сервис на незащищенном порту 389 (без SSL). Чтобы при такой конфигурации с автоматичекским обнаружением контроллеров домена со службами LDAP использовать защищенное соединение, рекомендуется использовать опцию osmax.inventory.ldap.datasource[i].ssl=start-tls

ldap._tcp.dc._msdcs.mydomain.com

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

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

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

10000

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

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

10000

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

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

true

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

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

true

Интеграция с источниками данных LDAP по протоколу SSL

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

osmax.inventory.ldap.datasource[i].ssl

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

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

  • false — использование LDAP без SSL (обычно порт 389);

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

  • start-tls — использование небезопасного соединения (обычно порт 389) вместе с расширенной операцией StartTLS для преобразования этого небезопасного соединения в безопасное

true

osmax.inventory.ldap.datasource[i].trust-all-ssl-certificates

Параметр, определяющий, должна ли система доверять всем SSL-сертификатам при подключении к LDAP-серверу

true

osmax.inventory.ldap.datasource[i].ssl-certificate

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

/opt/osmax-core/samba_cert.pem

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

osmax.inventory.ldap.datasource[i].ssl-trust-store

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

/opt/osmax-core/keystore.jks

osmax.inventory.ldap.datasource[i].ssl-trust-store-type

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

PKCS12

osmax.inventory.ldap.datasource[i].ssl-trust-store-password

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

keystore@12345

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

osmax.inventory.ldap.ssl-trust-store

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

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

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

Тип хранилища доверенных сертификатов для источника данных LDAP, например JKS, JCEKS, P12, PKCS12, PFX

JKS

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

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

keystore@12345

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

#путь к трастору от cacert по умолчанию
osmax.inventory.ldap.datasource[2].ssl-trust-store=/etc/ssl/certs/java/cacerts
osmax.inventory.ldap.datasource[2].ssl-trust-store-type=JKS
#пароль к трастору от cacert по умолчанию
osmax.inventory.ldap.datasource[2].ssl-trust-store-password=changeit

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

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

osmax.order-management.completion.time.hours

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

12

12

osmax.order-management.autocomplete.cron.expr

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

0 0 * ? * * *

0 0 * ? * * *

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

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

mp.messaging.connector.smallrye-kafka.bootstrap.servers

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

localhost:9092

10.6.32.156:9092

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

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

salt-topic

salt-topic

mp.messaging.outgoing.core-os-reinstallation-machines.topic

Топик Apache Kafka для исходящих сообщений при взаимодействии с модулем osmax-provisioner

osmax-core.os.reinstallation.machines

osmax-core.os.reinstallation.machines

mp.messaging.incoming.provisioner-os-reinstallation-machine-registration-statuses.topic

Топик Apache Kafka для входящих сообщений при взаимодействии с модулем osmax-provisioner

osmax-provisioner.os.reinstallation.machines.registration.statuses

osmax-provisioner.os.reinstallation.machines.registration.statuses

mp.messaging.incoming.provisioner-os-installed-events-kafka.topic

Топик Apache Kafka, в который поступают сообщения от модуля osmax-provisioner

provisioner-topic

provisioner-topic

mp.messaging.incoming.provisioner-os-installed-events-kafka.dead-letter-queue.topic

Топик Apache Kafka для сообщений об ошибках при передаче информации о новых устройствах в БД

provisioner-dlq-topic

provisioner-dlq-topic

Группа опциональных параметров (подробнее о настройке параметров см. в официальной документации Quarkus)

tech.inno.lcm.provisioner.events.ProvisionerEventsListener/consume/Retry/maxRetries

Максимальное количество попыток повторной обработки сообщения в случае возникновения ошибки

3

tech.inno.osmax.lcm.events.ProvisionerEventsListener/consume/Retry/delay

Задержка между попытками повторной обработки (в миллисекундах)

100ms

tech.inno.lcm.provisioner.events.ProvisionerEventsListener/consume/Retry/jitter

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

0

Настройка 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

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

Путь к файлу с закрытыми ключами и сертификатами клиента в хранилище ключей (keystore)

/opt/osmax-core/keystore.jks

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

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

Пароль для доступа к хранилищу ключей

keystore@12345

keystore@12345

mp.messaging.connector.smallrye-kafka.ssl.keystore.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

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

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

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

http

http

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

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

8000

8000

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

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

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

pam

pam

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

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

salt_api

salt_api

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

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

salt123

salt123

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

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

5

5

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

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

1s

1s

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

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

1s

1s

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

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

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

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

salt-master2

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

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

При использовании нескольких серверов управления (masters) значение задается отдельно для каждого; нумерация массива начинается с [0]. Пример: osmax.salt-adapter.command-runner.override-masters[0].http://192.168.0.1:8000, osmax.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

osmax.inventory.remote-access.username

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

admin

admin

osmax.inventory.remote-access.password

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

12345

12345

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

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

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

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

Время ожидания ответа у удаленной конечной точки (endpoint) в миллисекундах

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-совместимым хранилищем

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

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

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

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

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

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

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

http://10.6.32.156:9000

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

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

s3adminSalt

minionadmin

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

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

s3adminSaltPassword

minionadmin123

osmax.salt-adapter.s3.region

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

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

ru-location-1

ru-location-1

osmax.salt-adapter.s3.connection-timeout

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

1s

1s

osmax.salt-adapter.s3.num-retries

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

3

3

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

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

100

100

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

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

1000

1000

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

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

salt-bucket

salt-bucket

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

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

script-bucket

script-bucket

osmax.inventory.job.salt-assignment-mapping-update.cron.expr

Cron-выражение в формате Quartz задающее расписание, согласно которому выполняется задание на синхронизацию pillar-файлов top.sls

0/30 * * ? * *

0/30 * * ? * *

smax.inventory.job.salt-assignment-update.cron.expr

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

0/5 * * ? * *

0/5 * * ? * *

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

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

osmax.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

osmax.multimedia.s3.access-key-id

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

s3adminMultimedia

minioadmin

osmax.multimedia.s3.secret-access-key

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

s3adminMultimediaPassword

minioadmin123

osmax.multimedia.s3.region

Название региона S3 для хранилища мультимедиа-контента

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

ru-location-1

ru-location-1

osmax.multimedia.s3.connection-timeout

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

1s

1s

osmax.multimedia.s3.num-retries

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

3

3

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

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

100

100

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

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

1000

1000

osmax.multimedia.s3.icons-bucket-name

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

multimedia-bucket

icons-bucket

osmax.multimedia.s3.images-bucket-name

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

multimedia-bucket

images-bucket

osmax.multimedia.s3.others-bucket-name

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

multimedia-bucket

others-bucket

osmax.multimedia.s3.script-bucket-name

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

script-bucket

script-bucket

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

Максимальный размер загружаемого в S3-совместимое хранилище файла (например, формулы SaltStack) в килобайтах

1024

1024

osmax.multimedia.common.download-token-ttl-seconds

Время жизни токена для загрузки в секундах (TTL — Time To Live)

3600

3600

osmax.multimedia.common.expired-tokens-deletion-cron

Cron-выражение в формате Quartz задающее расписание, согласно которому удаляются устаревшие токены

0 0 * ? * *

0 0 * ? * *

osmax.multimedia.common.frontend-uri

Текущий Nginx URI фронтенда (модуля osmax-webadmin), который используется для формирования корректной ссылки на скачивание boostrap-script при установке агента (minion)

http://${osmax-nginx-ui-uri}/api
http://${osmax-nginx-ui-uri}/api

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

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

osmax.catalog.category.configuration-limit

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

5

5

osmax.catalog.category.total-limit

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

15

15

osmax.catalog.script.max-script-size-mbytes

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

10

10

Инвентаризация ПО

Основные настройки сбора данных о ПО на устройстве выполняются в пользовательском интерфейсе «Кабинет администратора»:

  • настройка расписания сбора данных;

  • настройки исключений:

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

    • возможность задать список пакетов, которые должны быть исключены из сканирования.

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

osmax.inventory.software.sync-cache-data-cron

Cron-выражение в формате Quartz, которое задает расписание выполнения задания на синхронизацию кэша software_inventory и постоянного хранилища

0 0 0/1 ? * *

0 0 0/1 ? * *

osmax.inventory.software.stale-cache-data-age-minutes

Время в минутах, через которое некомплектные данные в кэше начинают считаться невалидными и подлежат удалению

120

120

osmax.inventory.software.executable-files.base-path-scan

Базовый каталог для сканирования исполняемых файлов

/home/

/home/

osmax.inventory.software.packages.sections-blacklist

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

libs,non-free/libs,devel

libs,non-free/libs,devel

Логирование

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

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

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

/var/log/osmax/core/osmax-core.log

/var/log/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

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

/var/log/osmax/core/audit-osmax-core.log

/var/log/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

Для того чтобы в лог файле на стандартном уровне логирования подробно отображались все события Kerberos:

  1. Уберите %debug. в начале строк:

    %debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".level=TRACE
    %debug.quarkus.log.category."io.quarkiverse.kerberos.runtime.KerberosIdentityProvider".min-level=TRACE
  2. Проверьте наличие строк:

    quarkus.kerberos.debug=true
    quarkus.http.access-log.enabled=true

Фреймворк Quarkus

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

quarkus.http.body.uploads-directory

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

${java.io.tmpdir}/osmax_core_uploads

${java.io.tmpdir}/osmax_core_uploads

quarkus.management.body.uploads-directory

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

${java.io.tmpdir}/osmax_core_uploads

${java.io.tmpdir}/osmax_core_uploads

Блокировка объектов при одновременной работе нескольких администраторов

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

osmax.pessimistic-locks.enabled

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

true

true

osmax.pessimistic-locks.auto-unlock.threshold.seconds

Период времени, через который захваченная блокировка автоматически снимется

3600

3600

osmax.pessimistic-locks.auto-unlock.job.interval.seconds

Интервал запуска задания, которое снимает «зависшие» блокировки

600

600

osmax.optimistic-locks.enabled

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

true

true

osmax.optimistic-locks.dates-comparing-accuracy-millis

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

100

Импорт предустановленных объектов

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

osmax.predefined-objects-import.enabled

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

true

true

osmax.predefined-objects-import.custom-grains.src

Директория для хранения пользовательских grain-файлов

custom-grains

custom-grains

osmax.predefined-objects-import.execution-modules.src

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

execution-modules

execution-modules

osmax.predefined-objects-import.salt-scripts.src

Директория для хранения файлов Salt-скриптов, исполняемых на агентах (minions)

salt-scripts

salt-scripts

osmax.predefined-objects-import.formulas.src

Директория для хранения файлов формул

formulas

formulas

osmax.predefined-objects-import.formulas.meta.src

Директория для хранения файлов с метаданными формул

formulas-meta

formulas-meta

osmax.predefined-objects-import.configurations.meta.src

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

specifications/meta

specifications/meta

osmax.predefined-objects-import.scripts.src

Директория для хранения файлов скриптов установки агента (minion)

scripts

scripts