Конфигурация модуля osmax-provisioner
Конфигурация бэкенда выполняется в файле application.properties, помещенном в каталог
/opt/osmax-provisioner. Файл создается автоматически при
установке
deb/rpm-пакета osmax-core и содержит значения по умолчанию.
Пример конфигурационного файла с настройками по умолчанию
## This is an example of `application.properties` file as main configuration file for osmax-provisioner backend
###############################################################################
# HTTP server properties section #
###############################################################################
## Main application port
quarkus.http.port=8082
###############################################################################
# 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
###############################################################################
# Security section #
###############################################################################
## Enable/disable authentication
lcm.provisioner.security.disable-authentication=false
## Enable/disable role-based authorization
lcm.provisioner.security.rbac.enabled=false
## osmax-core base url (source of user permissions info)
# Should be set even if lcm.provisioner.security.rbac.enabled is false
# To enable access via HTTPS use corresponding prefix in base url
# and configure REST client using REST clients common configuration section above
quarkus.rest-client."tech.inno.lcm.provisioner.security.OsmaxPermissionsService".url=<osmax-core base url>
## Kerberos authentication configuration section
## There are 2 alternative options for defining Kerberos credentials [principal realm, name and password]:
## 1) via setting values in properties directly
## 2) via setting path to keytab file
##
## Direct Kerberos credentials definition:
quarkus.kerberos.service-principal-name=<service_principal_name>
quarkus.kerberos.service-principal-realm=<service.domain>
quarkus.kerberos.service-principal-password=<service_principal_password>
## Direct Kerberos credentials definition for REST client, reuse service settings:
kerberos-client.user-principal-name=${quarkus.kerberos.service-principal-name}
kerberos-client.user-principal-password=${quarkus.kerberos.service-principal-password}
kerberos-client.user-principal-realm=${quarkus.kerberos.service-principal-realm}
kerberos-client.service-principal-name=${quarkus.kerberos.service-principal-name}
## Kerberos keytab file definition:
#quarkus.kerberos.keytab-path=</path/to/keytab/file>
#kerberos-client.keytab-path=</path/to/keytab/file>
## Enables Kerberos authentication debug mode
#quarkus.kerberos.debug=true
#kerberos-client.debug=true
## REST client debug
#quarkus.rest-client.logging.scope=request-response
#quarkus.rest-client.logging.body-limit=50
#quarkus.log.category."org.jboss.resteasy.reactive.client.logging".level=DEBUG
###############################################################################
# Database properties section #
###############################################################################
## Common configuration for datasources
quarkus.datasource.username=<db-username>
quarkus.datasource.password=<db-password>
## Reactive datasource configuration for app
quarkus.datasource.reactive.url=postgresql://<db-host>:<db-port>/<db-name>
## Datasource configuration for Liquibase
quarkus.datasource.jdbc.url=jdbc:postgresql://<db-host>:<db-port>/<db-name>
## Liquibase parameters which are used in changelog files
quarkus.liquibase.change-log-parameters.index_tablespace=pg_default
quarkus.liquibase.change-log-parameters.data_tablespace=pg_default
quarkus.liquibase.change-log-parameters.installation_distro_repository_url=http://<astra-linux-repository-location>
quarkus.liquibase.change-log-parameters.installation_distro_kernel=</path/to/kernel>
quarkus.liquibase.change-log-parameters.installation_distro_initrd=</path/to/initrd>
quarkus.liquibase.change-log-parameters.distro_repository_hostname=<astra-linux-repository-location>
quarkus.liquibase.change-log-parameters.distro_repository_directory=</path/to/repository>
###############################################################################
# Template engine properties section #
###############################################################################
## To specify custom template placeholders which can be used in Jinja templates use a key-value format like
## 'lcm-provisioner.template-engine.template-placeholders.my-custom-placeholder=my-value-for-custom-placeholder'
## Be aware that specified custom template placeholders
## should be used in exact format as they are specified in this configuration
lcm.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url=http://<osmax-provisioner-host>:<port>
lcm.provisioner.template-engine.template-placeholders.unattended_install_file_url=/v1/unattended_install_files
###############################################################################
# Installation process properties section #
###############################################################################
lcm.provisioner.installation-process.steps.READY_TO_INSTALL=\u0413\u043E\u0442\u043E\u0432\u043E \u043A \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435
lcm.provisioner.installation-process.steps.IN_PROCESS_EARLY=\u0417\u0430\u043F\u0443\u0449\u0435\u043D \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 Astra Linux SE
lcm.provisioner.installation-process.steps.INSTALL_ERROR_KERNEL=\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u0430 kernel
lcm.provisioner.installation-process.steps.INSTALL_ERROR_INITRD=\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u0430 initrd
lcm.provisioner.installation-process.steps.INSTALL_ERROR_BOOT=\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u044F\u0434\u0440\u0430
lcm.provisioner.installation-process.steps.FINISHED=\u041E\u0421 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430
# Installed machines export scheduler configuration
lcm.provisioner.os-installed-machine-scheduler.cron.expression=0 */10 * ? * *
lcm.provisioner.completed-machines.search.limit.size=100
###############################################################################
# S3 integration section #
###############################################################################
## S3 server configuration
lcm.provisioner.s3.server-uri=http://<s3-host>:<s3-port>
lcm.provisioner.s3.access-key-id=<s3-access-key-id>
lcm.provisioner.s3.secret-access-key=<s3-secret-access-key>
lcm.provisioner.s3.region=ru-location-1
## Path to ISO images bucket where generated ISO images will be located
lcm.provisioner.s3.bootable-images-bucket-name=os-installation-iso-images-bucket
###############################################################################
# Kafka integration section #
###############################################################################
mp.messaging.connector.smallrye-kafka.bootstrap.servers=localhost:19092
mp.messaging.outgoing.machine.topic=provisioner-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
## To enable mutual TLS connection mode uncomment three following parameters, along with configuration above:
#mp.messaging.connector.smallrye-kafka.ssl.keystore.location=/opt/osmax-provisioner/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
###############################################################################
# Logging section #
###############################################################################
# Common logging config
quarkus.log.file.enable=true
quarkus.log.json.file.enable=true
quarkus.log.json.console.enable=false
# Json log 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
# File logging config
quarkus.log.file.path=/var/log/osmax/provisioner/osmax-provisioner.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
# Audit logging config
quarkus.log.handler.file.audit-handler.enable=true
quarkus.log.handler.file.audit-handler.path=/var/log/osmax/provisioner/audit-osmax-provisioner.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
Перед запуском systemd-службы osmax-provisioner измените права доступа к конфигурационному файлу, предоставив
доступ только для пользователя, от имени которого она будет запускаться.
|
Для корректной работы продукта задайте пользовательские значения параметров, описанных в таблицах ниже.
Подключение к HTTP-серверу
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Основной порт подключения |
|
|
Настройка REST-клиентов
| Настройки, описанные в разделе, являются опциональными и используются только при подключении по протоколу SSL. |
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Путь к файлу хранилища доверенных сертификатов (truststore), который содержит сертификаты доверенных центров сертификации |
|
|
|
Пароль для доступа к хранилищу доверенных сертификатов |
|
|
|
Тип хранилища, например |
|
|
|
Отключение проверки SSL-соединения |
|
Аутентификация и авторизация
Параметры quarkus.kerberos.keytab-path и
quarkus.kerberos.service-principal-<name/password/real> являются опциональными и
взаимозаменяемыми. С точки зрения безопасности рекомендуется использовать keytab-файл для
аутентификации в домене и указывать параметр quarkus.kerberos.keytab-path.
|
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Включение/выключение аутентификации Kerberos. Возможные значения: |
|
|
|
Включение/выключение авторизации RBAC |
|
|
|
(Опциональный параметр) базовый URL-адрес модуля |
|
|
|
(Опциональный параметр) имя принципала для аутентификации Kerberos |
<service_principal_name> |
|
|
(Опциональный параметр) наименование области безопасности (realm) принципала |
<service.domain> |
|
|
(Опциональный параметр) пароль принципала |
<service_principal_password> |
|
|
(Опциональный параметр) путь к keytab-файлу, который содержит зашифрованные ключи и сертификаты, необходимые для аутентификации в домене |
|
|
|
(Опциональный параметр) включение/выключение отправки сообщений для отладки Kerberos. Возможные значения: |
|
|
|
(Опциональный параметр) включение/выключение отправки сообщений для отладки Kerberos-клиента. Возможные значения: |
|
|
|
(Опциональный параметр) уровень журналирования для REST-клиента. Значение |
|
|
|
(Опциональный параметр) лимит на количество символов в теле запроса или ответа |
|
Подключение к БД
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Имя пользователя для подключения к БД |
|
|
|
Пароль пользователя для подключения к БД |
|
|
|
Адрес подключения серверной части продукта к БД |
|
|
|
Адрес подключения к БД. Параметр используется утилитой Liquibase для актуализации схемы БД |
|
|
|
Таблица пространства имен (tablespace) для индексов, создаваемых Liquibase |
|
|
|
Таблица пространства имен (tablespace) для данных, создаваемых Liquibase |
|
|
|
URL-адрес репозитория, который используется для установки дистрибутива |
|
|
|
Путь к ядру дистрибутива, которое используется при установке |
|
|
|
Путь к initrd (initial ramdisk) дистрибутива, которое используется при установке |
|
|
|
Имя хоста репозитория c дистрибутивами устанавливаемой ОС |
<astra-linux-repository-location> |
|
|
Путь к директории репозитория |
|
Параметры шаблонов установки ОС
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
(Опциональный параметр) пользовательский заполнитель (placeholder) шаблона, который может использоваться в шаблонах Jinja; задается в формате
«ключ - значение»; например, пользовательскому заполнителю шаблона с именем |
|
|
|
Базовый URL модуля установки ОС |
|
|
|
URL-адрес API модуля |
|
Параметры отображения шагов в истории процесса установки
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения | ||
|---|---|---|---|---|---|
|
Преобразование названий шагов (событий) процесса установки ОС в русскоязычные значения для отображения в пользовательском интерфейсе «Кабинет Администратора». Значения по умолчанию:
|
|
Регистрация устройств в модуле osmax-core
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Cron-выражение в формате quartz, которое задает расписание оповещения
об устройствах, зарегистрированных в |
|
|
|
Количество сообщений, которые можно извлечь при выполнении задания |
|
|
Интеграция с S3-совместимым хранилищем
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения | ||
|---|---|---|---|---|---|
|
URI для подключения к S3-совместимому хранилищу, в котором будут храниться файлы модуля
|
|
|
||
|
Идентификатор ключа (access Key) S3-совместимого хранилища |
|
|
||
|
Секретный ключ (Secret Key) S3-совместимого хранилища |
|
|
||
|
Название региона S3
NOTE: Для хранилища Ceph данный параметр не учитывается. Если вы используете Сeph
в качестве хранилища, укажите значение |
|
|
||
|
Путь к бакету, в котором хранятся ISO-образы |
|
|
Интеграция с Apache Kafka
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Адрес сервера для подключения к брокеру Apache Kafka, который будет использоваться для получения сообщений
от модуля |
|
|
|
Название топика в Kafka, в который модуль |
|
|
Настройка SSL-соединения с Apache Kafka
| Параметры из данного блока являются опциональными и задаются, только если требуется SSL для Apache kafka. |
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
SSL-протокол для защищенного соединения |
|
|
|
Путь к файлу с сертификатами в хранилище доверенных сертификатов (truststore) |
|
|
|
Пароль для доступа к хранилищу доверенных сертификатов |
|
|
|
Тип хранилища, например |
|
|
Параметры ниже задаются в дополнение к другим настройкам SSL, если необходимо настроить работу в режиме mTLS (mutual TLS) |
|||
|
Путь к файлу с закрытыми ключами и сертификатами клиента в хранилище ключей (keystore) |
|
|
|
Пароль для доступа к хранилищу ключей |
|
|
|
Тип хранилища, например |
|
|
Логирование
| Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
|---|---|---|---|
|
Активация логирования в файл. Возможные значения: |
|
|
|
Включение/выключение форматирования логов в JSON при записи в файл |
|
|
|
Включение/выключение форматирования логов в JSON при выводе в консоль |
|
|
|
Параметр, который указывает, что контекст MDC (Mapped Diagnostic Context) должен быть записан в плоском формате |
|
|
|
Формат даты и времени для поля timestamp в JSON |
|
|
|
Часовой пояс для поля timestamp в JSON |
|
|
|
Путь для сохранения файлов с логами продукта |
|
|
|
Максимальный размер одного файла с логами, после чего будет произведена ротация (создан следующий файл и продолжена запись) |
|
|
|
Предельное количество сохраняемых файлов с логами при ротации |
|
|
|
Суффикс для имен файлов логов после их ротации |
|
|
|
Включение/выключение обработчика для логов аудита |
|
|
|
Путь к файлу, в который будут записываться логи аудита |
|
|
|
Максимальный размер файла логов аудита до переноса в исторический файл |
|
|
|
Максимальное количество исторических файлов логов аудита |
|
|
|
Суффикс для имен файлов логов аудита после их ротации |
|
|
|
Настройка уровня логирования. Возможные значения:
При необходимости вы можете указать уровни логирования для конкретных компонентов системы, используя маску: quarkus.log.category.<"system module"> Пример: quarkus.log.category."AUDIT".level=DEBUG |
|
|
|
Обработчик, который будет использоваться для категории "AUDIT" |
|
|
|
Включение/выключение использования родительских обработчиков для категории "AUDIT" |
|
|