Конфигурация модуля 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 ############################################################################### # SSL configuration section. # ############################################################################### ## To enable serving requests via HTTPS uncomment the following parameters: #quarkus.http.insecure-requests=disabled #quarkus.http.ssl-port=8082 #quarkus.http.ssl.certificate.key-store-file=/opt/osmax-provisioner/keystore.jks #quarkus.http.ssl.certificate.key-store-password=keystore@12345 ############################################################################### # 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 osmax.provisioner.security.authentication.enabled=true ## Enable/disable role-based authorization osmax.provisioner.security.rbac.enabled=false ## osmax-core base url (source of user permissions info) # Should be set even if osmax.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.common.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 ## 'osmax.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 ## To enable SSL connection mode replace ## 'osmax.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url' parameter with following value: #osmax.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url=https://<osmax-provisioner-host>:<port> osmax.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url=http://<osmax-provisioner-host>:<port> osmax.provisioner.template-engine.template-placeholders.unattended_install_file_url=/v1/unattended_install_files osmax.provisioner.template-engine.template-placeholders.repository_cert_url=</path/to/certificate> ############################################################################### # Installation process properties section # ############################################################################### osmax.provisioner.installation-process.steps.READY_TO_INSTALL=\u0413\u043E\u0442\u043E\u0432\u043E \u043A \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435 osmax.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 osmax.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 osmax.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 osmax.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 osmax.provisioner.installation-process.steps.FINISHED=\u041E\u0421 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430 osmax.provisioner.installation-process.machine-export.scheduler-cron-expression=0 */10 * ? * * osmax.provisioner.installation-process.machine-export.batch-size=100 ############################################################################### # Scheduler properties section ############################################################################### osmax.provisioner.scheduler.polling-interval=10s ############################################################################### # S3 integration section # ############################################################################### ## S3 server configuration ## To enable SSL connection mode replace 'osmax.provisioner.s3.server-uri' parameter with following value: #osmax.provisioner.s3.server-uri=https://<s3-host>:<s3-port> osmax.provisioner.s3.server-uri=http://<s3-host>:<s3-port> osmax.provisioner.s3.access-key-id=<s3-access-key-id> osmax.provisioner.s3.secret-access-key=<s3-secret-access-key> osmax.provisioner.s3.region=ru-location-1 ## Path to ISO images bucket where generated ISO images will be located osmax.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-installation-status.topic=provisioner-topic mp.messaging.incoming.reinstallation-machines-import.topic=osmax-core.os.reinstallation.machines mp.messaging.outgoing.reinstallation-machines-import-result.topic=osmax-provisioner.os.reinstallation.machines.registration.statuses ## 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 # Universal boot image paths osmax.provisioner.universal-boot-image.ipxe_lkrn_url=insert-your-path osmax.provisioner.universal-boot-image.isohdpxf_bin_url=insert-your-path osmax.provisioner.universal-boot-image.isolinux_bin_url=insert-your-path osmax.provisioner.universal-boot-image.ldlinux_c32_url=insert-your-path osmax.provisioner.universal-boot-image.menu_c32_url=insert-your-path osmax.provisioner.universal-boot-image.ipxe_x86_64_efi_url=insert-your-path
Перед запуском systemd-службы osmax-provisioner измените права доступа к конфигурационному файлу, предоставив
доступ только для пользователя, от имени которого она будет запускаться.
|
Для корректной работы продукта задайте пользовательские значения параметров, описанных в таблицах ниже.
Подключение к HTTP-серверу
Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
---|---|---|---|
|
Основной порт подключения |
|
|
Подключение к HTTPS-серверу
Настройки, описанные в разделе, являются опциональными и используются только при подключении по протоколу SSL. |
Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
---|---|---|---|
|
Возможные значения:
|
|
|
|
Порт для подключения к HTTPS-серверу |
|
|
|
Путь к хранилищу (keystore-файлу), где хранятся закрытые ключи и сертификаты, необходимые для установки защищенного HTTPS-соединения |
|
|
|
Пароль для доступа к keystore-файлу |
|
Настройка 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> |
|
Группа параметров для переиспользования учетных данных Kerberos для REST-клиента |
|||
|
Имя принципала для клиента Kerberos, которое указывается из заданной переменной |
|
|
|
Пароль принципала для клиента Kerberos, которое указывается из заданной переменной |
|
|
|
Наименование области безопасности (realm) принципала, которое указывается из заданной переменной |
|
|
|
Имя сервисного принципала для клиента Kerberos, которое указывается из заданной переменной |
|
|
|
(Опциональный параметр) путь к keytab-файлу, который содержит зашифрованные ключи и сертификаты, необходимые для аутентификации в домене |
|
|
|
(Опциональный параметр) путь к keytab-файлу, который используется для аутентификации клиента в системе Kerberos |
|
|
|
(Опциональный параметр) включение/выключение отправки сообщений для отладки Kerberos. Возможные значения: |
|
|
|
(Опциональный параметр) включение/выключение отправки сообщений для отладки Kerberos-клиента. Возможные значения: |
|
|
|
(Опциональный параметр) уровень журналирования для REST-клиента. Значение |
|
|
|
(Опциональный параметр) лимит на количество символов в теле запроса или ответа |
|
|
|
(Опциональный параметр) уровень логирования для для библиотеки RESTEasy Reactive Client |
|
Подключение к БД
Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
---|---|---|---|
|
Имя пользователя для подключения к БД |
|
|
|
Пароль пользователя для подключения к БД |
|
|
|
Адрес подключения серверной части продукта к БД |
|
|
|
Адрес подключения к БД. Параметр используется утилитой 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
|
|
|
||
|
Путь к бакету, в котором хранятся ISO-образы |
|
|
Интеграция с Apache Kafka
Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
---|---|---|---|
|
Адрес сервера для подключения к брокеру Apache Kafka, который будет использоваться для получения сообщений
от модуля |
|
|
|
Название топика в Kafka, в который модуль |
|
|
|
Топик Apache Kafka, для входящих сообщений при взаимодействии с модулем |
|
|
|
Топик Apache 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" |
|
|
Артефакты для создания универсального загрузочного образа
Наименование | Описание | Значение по умолчанию/Шаблон значения | Пример значения |
---|---|---|---|
|
Путь к файлу iPXE-загрузчика для BIOS |
|
|
|
Путь к файлу для создания MBR-раздела на носителе для BIOS |
|
|
|
Путь к файлу для поддержки загрузки носителя в BIOS |
|
|
|
Путь к файлу для поддержки загрузки носителя в BIOS |
|
|
|
Путь к файлу для поддержки загрузки носителя в BIOS |
|
|
|
Путь к файлу iPXE-загрузчика универсального для UEFI |
|