Общие сведения

Руководство включает полное поэтапное описание процесса установки продукта «Служба управления конфигурациями "Осмакс"» на операционные системы:

  • Astra Linux Special Edition версии 1.7.5 и выше;

  • РЕД ОС версии 7.3.

Подготовка к установке

Требования к серверам

Минимальная конфигурация

Система Состав Цп (ядер по 2,4 GHz) ОЗУ (Gb) ПЗУ (Gb) ОС

СУК-cm

  • osmax-core;

  • osmax-webadmin;

  • osmax-app-shop

2

4

30

Astra Linux 1.7.5 или выше

СУК-pg

  • Postgres

  • Minio

  • Kafka

2

2

30

Astra Linux 1.7.5 или выше

СУК-ma

  • salt-master

  • salt-api

2

2

30

Astra Linux 1.7.5 или выше

СУК-gc

  • guacamole-server

  • guacamole-client

2

2

30

Astra Linux 1.7.5 или выше

Конечные устройства

СУК-mi

  • salt-minion

2

2

30

Astra Linux 1.7.5 или выше

Рекомендуемая конфигурация

Система Состав Цп (ядер по 2,4 GHz) ОЗУ (Gb) ПЗУ (Gb) ОС Масштабирование

СУК-cm

  • osmax-core;

  • osmax-provisioner;

  • osmax-webadmin;

  • osmax-app-shop

4

8

100

Astra Linux 1.7.5

СУК-pg

  • Postgres

  • Minio

  • Kafka

4

8

100

Astra Linux 1.7.5

СУК-ma

  • salt-master

  • salt-api

4

8

100

Astra Linux 1.7.5

x/20000 (например, 10 серверов для обслуживания 20 000 устройств)

СУК-gc

  • guacamole-server

  • guacamole-client

4

8

30

Astra Linux 1.7.5

Конечные устройства

СУК-mi

  • salt-minion

2

2

30

Astra Linux 1.7.5

x (например, 20 000 устройств)

Предварительные настройки

На этапе подготовки к установке:

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

  2. Выполните настройку окружения.

  3. Убедитесь, что у вас есть доступ к дистрибутиву продукта требуемой версии.

Требования к программному обеспечению

Установка продукта возможна на операционных системах:

  • Astra Linux Special Edition версии не ниже 1.7.5 (лицензия: GNU General Public License от ООО «РусБИТехАстра»);

  • РЕД ОС версии 7.3.

Убедитесь, что для выбранной ОС установлена подсистема инициализации systemd версии 245 и выше.

Требования к системному и прикладному программному обеспечению приведены в таблице:

Название Описание Версия Тип лицензии Правообладатель

Apache Kafka

Распределенная платформа для обработки потоков данных

3.6.0 и выше

Apache 2.0

Open Source

LDAP-сервер

Сервер, предоставляющий доступ к каталогу объектов, таких как пользователи, группы, компьютеры и другие ресурсы в сети.

Допускается использование любых серверов со стандартной схемой БД Microsoft (Active Directory Schema)

«Служба каталогов» 1.1.0 и выше

GPL-3.0 license

ГК «Иннотех»

Microsoft Windows Server 2012 (или более новый)

Microsoft EULA

Microsoft

Unboundid LDAP 4.0.16

GPL-2.0 license

Open Source

PostgreSQL

СУБД для хранения и обработки данных продукта

Не ниже 15.0

PostgreSQL Licence

Open Source

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

Система хранения контента (например, Ceph, Minio и др.)

Веб-сервер

ПО для обработки запросов от веб-браузеров и ответа на них, а также для предоставления доступа к веб-ресурсам, таким как веб-страницы, изображения, файлы и другие данные (например, Nginx)

Настройка окружения

Ниже приведены минимальные требования к настройке следующего программного обеспечения:

Apache Kafka

Создайте топики:

  1. Для передачи данных с серверов управления (masters) в модуль osmax-core (например, salt-topic).

  2. Для передачи информации о новых устройствах из модуля osmax-provisioner в БД (например, provisioner-topic).

  3. Dead Letter Queue (DLQ) для приема сообщений, которые не могут быть успешно обработаны в основной очереди при передаче информации о новых устройствах в БД (например, provisioner-dlq-topic). Такие сообщения в дальнейшем будут обрабатываться администраторами системы.

  4. Для передачи данных из модуля osmax-core в модуль osmax-provisioner об устройствах, на которые назначена переустановка (например, osmax-core.os.reinstallation.machines).

  5. Для передачи статуса переустановки из модуля osmax-provisioner в модуль osmax-core (например, osmax-provisioner.os.reinstallation.machines.registration.statuses).

Рекомендуемые параметры для топиков:

  • retention — время, в течение которого сообщения будут храниться в топике до момента удаления;

  • partitions — способ физического разделения данных в топике на несколько частей.

Параметры могут быть настроены в зависимости от требований к производительности и надежности системы.

LDAP-сервер

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

  2. Создайте учетную запись для валидации билетов Kerberos (можно использовать ту же учетную запись, что и в п.1).

  3. Создайте сервисную учетную запись Kerberos.

  4. Убедитесь, что все компьютеры, которые будут использоваться для работы с модулями «Кабинет администратора» и «Магазин приложений», находятся в составе домена под управлением службы каталогов (Active Directory Domain Services, Samba, FreeIPA или др.), использующей для проверки подлинности протокол Kerberos.

    При использовании PAM-аутентификации для корректной работы сервера управления (master) необходим root-доступ — полный доступ к системе, который предоставляется пользователю с правами администратора (root). Если аутентификация выполняется при помощи LDAP-сервера, то root-доступ необязателен.

    Для корректной работы агентов (minions) root-доступ обязателен.

    Для работы остальных компонентов продукта root-доступ не требуется.

PostgreSQL

  1. Модуль osmax-core:

    1. Создайте техническую учетную запись пользователя.

    2. Техническому пользователю назначьте схему. В схеме при установке продукта будут автоматически созданы необходимые таблицы.

    3. Выдайте права пользователю на выполнение DDL-операций.

    4. Создайте дополнительного пользователя для доступа к схеме с правами только на чтение данных (read-only).

  2. Модуль osmax-provisioner:

    1. Создайте техническую учетную запись пользователя.

    2. Техническому пользователю назначьте схему. В схеме при установке продукта будут автоматически созданы необходимые таблицы.

    3. Выдайте права пользователю на выполнение DDL-операций.

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

  1. Создайте техническую учетную запись.

  2. Создайте бакеты для хранения:

    • формул модуля координации (SaltStack), например: salt-bucket;

    • данных хранилища Pillar модуля координации (SaltStack), например: pillar-bucket;

    • иконок, например: icons-bucket;

    • изображений и скриншотов, например: images-bucket;

    • прочего мультимедиа-контента, например: others-bucket;

    • исполняемых файлов (скриптов), предназначенных для установки агентов (minions) на устройства, например: script-bucket;

    • образов ISO, например: os-installation-iso-images-bucket;

    • для исполняемых файлов (скриптов) IPXE-загрузчиков, например: bootloader-bucket.

Состав дистрибутива

Дистрибутив продукта распространяется в виде архивов в формате tar.gz, доступных для загрузки из репозитория:

https://<repository.domain.name>/repository/<клиент>-<редакция>-raw-packages

Доступ к репозиторию осуществляется с использованием учетной записи, полученной от ГК «Иннотех». Архивы в репозитории сгруппированы по версиям.

Предоставляемые архивы:

Архив с основными модулями (бэкенд, фронтенд, модуль «Удаленный доступ») и компонентами продукта

Архив включает:

  • deb-пакеты, которые используются только при установке продукта на ОС Astra Linux:

    • osmax-core — сборка бэкенда продукта, содержащая скомпилированный код для массовой установки ПО на устройствах и обработки полученных событий;

    • osmax-provisioner — модуль, реализующий автоматическую установку операционной системы;

    • osmax-webadmin — пользовательский интерфейс «Кабинет администратора»;

    • osmax-app-shop — пользовательский интерфейс «Магазин приложений»;

    • osmax-ira-tigervnc — VNC-пакет для работы модуля «Удаленный доступ» на агентах (minions);

    • osmax-ira-openssh — SSH-пакет для работы модуля «Удаленный доступ» на агентах (minions);

    • osmax-ira-xrdp — XRDP-пакет для работы модуля «Удаленный доступ» на агентах (minions);

    • osmax-ira-guacamole-server — сервер шлюза удаленного доступа;

    • libinnovncserver — зависимый пакет компонента osmax-ira-guacamole-server;

    • libinnofreerdp — зависимый пакет компонента osmax-ira-guacamole-server;

    • osmax-ira-guacamole-client — WEB-клиент шлюза удаленного доступа;

    • osmax-ira-guacamole-schema — БД удаленного доступа;

  • rpm-пакеты, которые используются только при установке продукта на РЕД ОС:

    • osmax-core — сборка бэкенда продукта, содержащая скомпилированный код для массовой установки ПО на устройствах и обработки полученных событий;

    • osmax-provisioner — модуль, реализующий автоматическую установку операционной системы;

    • osmax-webadmin — пользовательский интерфейс «Кабинет администратора»;

    • osmax-app-shop — пользовательский интерфейс «Магазин приложений»;

    • inno-ira-guacamole-schema — БД удаленного доступа;

    • inno-ira-guacamole-client — WEB-клиент шлюза удаленного доступа;

    • inno-ira-guacamole-server — сервер шлюза удаленного доступа;

    • libinnofreerdp — зависимый пакет компонента osmax-ira-guacamole-server;

    • libinnovncserver — зависимый пакет компонента osmax-ira-guacamole-server;

  • confluent_kafka — wheel-пакет для работы с Kafka Returner (используется только при установке продукта на РЕД ОС);

  • файлы:

    • kafka_return_custom.py — файл с инструментом, который перенаправляет сообщения от агентов в топик Kafka;

    • CHANGELOG.md — файл, содержащий журнал изменений проекта в виде упорядоченного списка версий продукта с датами их выхода и описанием;

    • osmax-doc — файлы в формате PDF с сопроводительной документацией, соответствующей версии продукта.

Архив с модулем координации (SaltStack)

Архив включает:

  • deb-пакеты, которые используются только при установке продукта на ОС Astra Linux:

    • osmax-salt-formulas — пакет с формулами — специальными шаблонами для установки ПО на устройствах;

    • salt-api — пакет, предоставляющий REST API для SaltStack;

    • salt-common — пакет, содержащий библиотеки, необходимые для работы SaltStack;

    • salt-master — пакет для установки сервера управления (master), который управляет всеми агентами (minions) в инфраструктуре;

    • salt-minion — пакет для установки агентов (minions) на удаленных серверах;

    • salt-cloud — пакет для управления облачными провайдерами (опциональный модуль);

    • salt-dbg — пакет для отладки установки и поиска ошибок в настройках (опциональный модуль);

    • salt-ssh — пакет для взаимодействия с агентами (minions) через протокол SSH, который может использоваться в качестве альтернативы, не требующей удаленного агента (опциональный модуль);

    • salt-syndic — пакет, который используется для настройки среды с несколькими (masters) серверами управления и позволяет связывать их в единую сеть и управлять ими из одного места (опциональный модуль);

  • rpm-пакеты, которые используются только при установке продукта на РЕД ОС:

    • osmax-salt-formulas — пакет с формулами — специальными шаблонами для установки ПО на устройствах;

    • salt — пакет, содержащий библиотеки, необходимые для работы SaltStack;

    • salt-master — пакет для установки сервера управления (master), который управляет всеми агентами (minions) в инфраструктуре;

    • salt-api — пакет, предоставляющий REST API для SaltStack;

    • salt-minion — пакет для установки агентов (minions) на удаленных серверах.

Архив с модулем fluent-bit

Архив включает deb-пакет fluent-bit c системой Fluent Bit, которая используется для сбора, преобразования и передачи лог-файлов аудита в систему-получатель клиента.

Принципы формирования имен пакетов

Имена пакетов с основными модулями продукта (osmax) и модулем fluent-bit формируются по шаблону:

<package_name>_<build_version>-<edition>_<architecture>.<package format>

Где:

  • package_name — наименование модуля продукта;

  • build_version — версия пакета в соответствии с принципами семантического версионирования (мажорная_версия.минорная_версия.патч-версия);

  • edition — редакция дистрибутива;

  • architecture — архитектура;

  • package format — формат пакета; возможные варианты: .deb, rpm.

Пример имени deb-пакета:

osmax-core_1.11.0_amd64.deb
fluent-bit_3.0.7_amd64.deb

Пример имени rpm-пакета:

osmax-core-1.11.0*.rpm

Имена пакетов модуля координации (salt) формируются по шаблону:

<package_name>_<build_version>_<architecture>.<package format>

Где:

  • package_name — наименование модуля продукта;

  • build_version — версия пакета в соответствии с принципами семантического версионирования (мажорная_версия.минорная_версия.патч-версия);

  • architecture — архитектура;

  • package format — формат пакета; возможные значения: .deb, .rpm.

Пример имени deb-пакета:

salt-common_3006.4_amd64.deb

Пример имени rpm-пакета:

salt-3006.4-0.x86_64.rpm

Схема развертывания

На Рис. 1 представлена схема развертывания продукта.

deploy new
Рис. 1. Схема развертывания

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-overview.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-01-install-salt.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-02-download-arch-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-03-install-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-04-configure-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-05-kafka-returner-settings.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-05-01-user-sessions-settings.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-06-start-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-07-start-salt-api.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-08-download-arch-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-09-install-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-10-configure-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-11-create-public-keys.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-salt/astra-12-start-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-01-install-back-front.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-02-download-arch-core.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-03-install-backend.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-04-install-core.adoc[]

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

Конфигурация модуля выполняется в файле application.properties, помещенном в каталог /opt/osmax-core. Файл создается автоматически при установке deb-пакета 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

## 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.pillar-bucket-name=pillar-bucket
osmax.salt-adapter.s3.script-bucket-name=script-bucket

###############################################################################
# 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                                                  #
###############################################################################
# Base directory for executable files scan
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
Перед запуском systemd-службы osmax измените права доступа к конфигурационному файлу, предоставив доступ только для пользователя, от имени которого она будет запускаться.

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

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

quarkus.http.port

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

8081

8081

quarkus.http.limits.max-body-size

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

10M

10M

Подключение к 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, которое задает расписание выполнения удаленных операций (см. описание формата в разделе «Cron-выражение в формате Quartz» документа «Руководство по эксплуатации»)

0 */10 * ? * *

0 */10 * ? * *

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

Cron-выражение в формате Quartz, которое задает расписание обновления данных динамических коллекций устройств (см. описание формата в разделе «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, которое задает расписание удаления устаревших данных из БД (см. описание формата в разделе «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

Включение/выключение режима мульти-мастер (см. документ «Руководство по эксплуатации» раздел «Настройка режима мульти-мастер с автоматическим переключением (failover)»)

true

true

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

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

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

  • файл с публичным 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, задающее расписание выполнения проверки долго выполняющихся заказов, после которой они будут считаться невыполненными (см. описание формата в разделе «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.pillar-bucket-name

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

pillar-bucket

pillar-bucket

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

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

script-bucket

script-bucket

Хранение мультимедиа-файлов в 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, согласно которому удаляются устаревшие токены (см. описание формата в разделе «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.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

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-07-install-provisioner.adoc[]

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

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

Набор требуемых параметров может отличаться для разных версий продукта. Для удобства в «Приложении А» приведено сравнение файлов для текущей и предыдущей версий.

Пример конфигурационного файла

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

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

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

quarkus.http.port

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

8082

8082

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

quarkus.http.insecure-requests

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

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

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

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

disabled

quarkus.http.ssl-port

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

8082

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

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

/opt/osmax-provisioner/keystore.jks

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

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

keystore@12345

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

quarkus.rest-client.trust-store

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

/etc/ssl/certs/java/cacerts

quarkus.rest-client.trust-store-password

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

changeit

truststore@12345

quarkus.rest-client.trust-store-type

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

PKCS12

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

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

true

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

osmax.provisioner.security.authentication.enabled

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

true

true

osmax.provisioner.security.rbac.enabled

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

false

false

quarkus.rest-client."tech.inno.lcm.provisioner.common.security.OsmaxPermissionsService".url

(Опциональный параметр) базовый URL-адрес модуля osmax-core (источник информации о разрешениях пользователя). Должен быть установлен, даже если для параметра osmax.provisioner.security.rbac.enabled установлено значение false

<osmax-core base url>

quarkus.kerberos.service-principal-name

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

<service_principal_name>

quarkus.kerberos.service-principal-realm

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

<service.domain>

quarkus.kerberos.service-principal-password

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

<service_principal_password>

Группа параметров для переиспользования учетных данных Kerberos для REST-клиента

kerberos-client.user-principal-name

Имя принципала для клиента Kerberos, которое указывается из заданной переменной

${quarkus.kerberos.service-principal-name}

kerberos-client.user-principal-password

Пароль принципала для клиента Kerberos, которое указывается из заданной переменной

${quarkus.kerberos.service-principal-password}

kerberos-client.user-principal-realm

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

${quarkus.kerberos.service-principal-realm}

kerberos-client.service-principal-name

Имя сервисного принципала для клиента Kerberos, которое указывается из заданной переменной

${quarkus.kerberos.service-principal-name}

quarkus.kerberos.keytab-path

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

</path/to/keytab/file>

/opt/inno-provisioner/my_file.keytab

kerberos-client.keytab-path

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

</path/to/keytab/file>

quarkus.kerberos.debug

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

true

kerberos-client.debug

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

true

quarkus.rest-client.logging.scope

(Опциональный параметр) уровень журналирования для REST-клиента. Значение request-response позволяет журналировать как отправляемые запросы, так и полученные ответы

request-response

quarkus.rest-client.logging.body-limit

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

50

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

(Опциональный параметр) уровень логирования для для библиотеки RESTEasy Reactive Client

DEBUG

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

quarkus.datasource.username

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

<db-username>

db-provisioner-user

quarkus.datasource.password

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

<db-password>

db-qwerty123

quarkus.datasource.reactive.url

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

Если необходимо указать схему по умолчанию, используйте синтаксис: postgresql://localhost:5432/lcm?search_path=lcm_schema_name.

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

Вариант 1:

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

Вариант 2:

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

postgresql://<db-host>:<db-port>/<db-name>

postgresql://10.6.32.156:5432:db-8082/db-provisioner

quarkus.datasource.jdbc.url

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

jdbc:postgresql://<db-host>:<db-port>/<db-name>

jdbc:postgresql://10.6.32.157:8082/lcm

quarkus.liquibase.change-log-parameters.index_tablespace

Таблица пространства имен (tablespace) для индексов, создаваемых Liquibase

pg_default

pg_default

quarkus.liquibase.change-log-parameters.data_tablespace

Таблица пространства имен (tablespace) для данных, создаваемых Liquibase

pg_default

pg_default

quarkus.liquibase.change-log-parameters.installation_distro_repository_url

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

Путь к initrd (initial ramdisk) дистрибутива, которое используется при установке

</path/to/initrd>

quarkus.liquibase.change-log-parameters.distro_repository_hostname

Имя хоста репозитория c дистрибутивами устанавливаемой ОС

<astra-linux-repository-location>

quarkus.liquibase.change-log-parameters.distro_repository_directory

Путь к директории репозитория

</path/to/repository>

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

osmax-provisioner.template-engine.template-placeholders.my-custom-placeholder

(Опциональный параметр) пользовательский заполнитель (placeholder) шаблона, который может использоваться в шаблонах Jinja; задается в формате «ключ - значение»; например, пользовательскому заполнителю шаблона с именем my-custom-placeholder присвоено значение my-value-for-custom-placeholder

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

my-value-for-custom-placeholder

osmax.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url

Базовый URL модуля установки ОС

Чтобы включить режим SSL-соединения, замените значение на https://<osmax-provisioner-host>:<port>

http://<osmax-provisioner-host>:<port>

osmax.provisioner.template-engine.template-placeholders.unattended_install_file_url

URL-адрес API модуля osmax-provisioner, предоставляющего файл автоответов, сформированный по шаблону

/v1/unattended_install_files

osmax.provisioner.template-engine.template-placeholders.repository_cert_url

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

</path/to/certificate>

Параметры отображения шагов в истории процесса установки
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

osmax.provisioner.installation-process.steps.<step_code>

Преобразование названий шагов (событий) процесса установки ОС в русскоязычные значения для отображения в пользовательском интерфейсе «Кабинет Администратора». Значения по умолчанию:

  • READY_TO_INSTALL — ОС готова к установке;

  • IN_PROCESS_EARLY — ОС в процессе установки;

  • INSTALL_ERROR_KERNEL — ошибка в процессе установки ОС, связанная с ядром (kernel);

  • INSTALL_ERROR_INITRD — ошибка в процессе установки ОС, связанная с Initial RAM Disk;

  • INSTALL_ERROR_BOOT — ошибка в процессе установки ОС, связанная с загрузочным процессом;

  • FINISHED — установка ОС завершена.

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

\u0413\u043E\u0442\u043E\u0432\u043E \u043A \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0435

Регистрация устройств в модуле osmax-core
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

osmax.provisioner.installation-process.machine-export.scheduler-cron-expression

Cron-выражение в формате Quartz, которое задает расписание оповещения об устройствах, зарегистрированных в osmax-provisioner и на которых установлена операционная система (см. описание формата в разделе «Cron-выражение в формате Quartz» документа «Руководство по эксплуатации»)

0 */10 * ? * *

0 */10 * ? * *

osmax.provisioner.installation-process.machine-export.batch-size

Количество сообщений, которые можно извлечь при выполнении задания

100

100

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

osmax.provisioner.scheduler.polling-interval

Интервал опроса для планировщика в системе

10s

10s

Интеграция с S3-совместимым хранилищем
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

osmax.provisioner.s3.server-uri

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

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

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

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

http://<s3-host>:<s3-port>

http://10.6.32.156:9000

osmax.provisioner.s3.access-key-id

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

<s3-access-key-id>

provisioneradmin

osmax.provisioner.s3.secret-access-key

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

<s3-secret-access-key>

provisioneradmin

osmax.provisioner.s3.region

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

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

ru-location-1

ru-location-1

osmax.provisioner.s3.bootable-images-bucket-name

Путь к бакету, в котором хранятся ISO-образы

os-installation-iso-images-bucket

os-installation-iso-images-bucket

Интеграция с Apache Kafka
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

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

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

localhost:19092

localhost:19092

mp.messaging.outgoing.machine-installation-status.topic

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

provisioner-topic

provisioner-topic

mp.messaging.incoming.reinstallation-machines-import.topic

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

osmax-core.os.reinstallation.machines

osmax-core.os.reinstallation.machines

mp.messaging.outgoing.reinstallation-machines-import-result.topic

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

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

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

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

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

changeit

truststore@12345

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

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

PKCS12

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

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

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

/opt/osmax-core/keystore.jks

/opt/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

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

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.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.file.path

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

/var/log/osmax/provisioner/osmax-provisioner.log

/var/log/osmax/provisioner/osmax-provisioner.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.handler.file.audit-handler.enable

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

true

true

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

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

/var/log/osmax/provisioner/audit-osmax-provisioner.log

/var/log/osmax/provisioner/audit-osmax-provisioner.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

Артефакты для создания универсального загрузочного образа
Наименование Описание Значение по умолчанию/Шаблон значения Пример значения

osmax.provisioner.universal-boot-image.ipxe_lkrn_url

Путь к файлу iPXE-загрузчика для BIOS

insert-your-path

osmax.provisioner.universal-boot-image.isohdpxf_bin_url

Путь к файлу для создания MBR-раздела на носителе для BIOS

insert-your-path

osmax.provisioner.universal-boot-image.isolinux_bin_url

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

insert-your-path

osmax.provisioner.universal-boot-image.ldlinux_c32_url

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

insert-your-path

osmax.provisioner.universal-boot-image.menu_c32_url

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

insert-your-path

osmax.provisioner.universal-boot-image.ipxe_x86_64_efi_url

Путь к файлу iPXE-загрузчика универсального для UEFI

insert-your-path

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-09-start-provisioner-service.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/astra/astra-install-back-front/astra-10-install-frontend.adoc[]

Установка модуля fluent-bit

Установка модуля fluent-bit является опциональной и выполняется после установки модуля координации (SaltStack), бэкенда и фронтенда, в случае если вы используете Fluent Bit для сбора, преобразования и передачи лог-файлов аудита в систему-получатель.

Подробную информацию об использовании и настройке Fluent Bit см. в официальной документации.

Чтобы установить модуль fluent-bit, выполните шаги:

  1. Скачайте и распакуйте архив с модулем fluent-bit.

  2. Установите модуль fluent-bit.

  3. Выполните конфигурирование модуля fluent-bit.

  4. Запустите модуль fluent-bit

Скачивание и распаковка архива с модулем fluent-bit

Чтобы скачать и распаковать архив с модулем fluent-bit, выполните следующие шаги:

  1. Скачайте архив с deb-пакетом требуемой версии и соответствующие файлы контрольных сумм из предоставленного хранилища любым доступным способом.

  2. (Опционально) убедитесь в целостности архива, сравнив его контрольные суммы с контрольными суммами в соответствующих файлах.

    Пример команды, запускаемой в консоли для проверки целостности:

    shasum -a 512 -c inno-fluent-bit-3.0.7.tar.gz inno-fluent-bit-3.0.7.tar.gz.sha512
  3. Перенесите скачанный архив на машину, на которой установлен бэкенд продукта, выполнив команду scp (secure copy):

    Пример команды:

    scp inno-fluent-bit-3.0.7.tar.gz 10.6.32.218
  4. Создайте временный каталог для распаковки и распакуйте архив.

    Пример команд для создания каталога и распаковки архива:

    mkdir fluent-bit
    tar xvf inno-fluent-bit-3.0.7.tar.gz -C osmax

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

    x fluent-bit_3.0.7_amd64.deb

Установка модуля fluent-bit

На сервере, на котором установлен бэкенд продукта, установите пакет с модулем fluent-bit, выполнив команду:

sudo apt-get install ./<имя пакета>

Пример команды:

sudo apt install ./fluent-bit_3.0.7_amd64.deb

Конфигурация модуля fluent-bit

После установки для корректной работы модуля fluent-bit выполните следующие настройки:

  1. Отредактируйте юнит-файл systemd /lib/systemd/system/fluent-bit.service для службы fluent-bit: в поле ExecStart, где указывается команда для запуска службы, замените .conf на .yaml:

    Пример файла:

    [Unit]
    Description=Fluent Bit
    Documentation=https://docs.fluentbit.io/manual/
    Requires=network.target
    After=network.target
    
    [Service]
    Type=simple
    EnvironmentFile=-/etc/sysconfig/fluent-bit
    EnvironmentFile=-/etc/default/fluent-bit
    ExecStart=/opt/fluent-bit/bin/fluent-bit -c //etc/fluent-bit/fluent-bit.yaml
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
  1. Создайте конфигурационные файлы службы fluent-bit:

  1. /etc/fluent-bit/fluent-bit.yaml — главный файл конфигурации службы fluent-bit, который определяет параметры и настройки для сбора и передачи данных.

    Пример файла:

    ---
    service:
        flush: 1
        daemon: Off
        log_level: info
        parsers_file: parsers-audit-osmax-core.conf
        plugins_file: plugins.conf
        http_server: Off
        http_listen: 0.0.0.0
        http_port: 2020
    
    includes:
        - pipeline-inputs.yaml
        - pipeline-filters.yaml
        - pipeline-outputs.yaml

    Где:

    • service — служебный раздел, определяющий настройки службы fluent-bit:

      • flush — интервал сброса;

      • daemon — режим демона;

      • log_level — уровень журналирования;

      • parsers_file — файл с парсером;

      • plugins_file — файл с плагинам;

      • http_server — настройки HTTP-сервера;

      • http_listen — адрес прослушивания;

      • http_port — порт.

    • includes — файлы конфигурации, включенные в основной файл конфигурации:

      • pipeline-inputs.yaml — файл, описывающий источники входных данных;

      • pipeline-filters.yaml — файл, содержащий фильтры, применяющиеся к входящим данным для их обработки и преобразования;

      • pipeline-outputs.yaml — файл, в котором указываются конечные точки, куда должны быть отправлены обработанные данные после прохождения через фильтры.

  1. /etc/fluent-bit/parsers-audit-osmax-core.conf — файл для настройки парсеров, которые выполняют разбор (парсинг) логов аудита.

    Пример файла:

    [PARSER]
        Name        audit-osmax-core
        Format      json
        Time_Key    timestamp
        Time_Format %Y-%m-%dT%H:%M:%S.%L%z

    Где:

    • [PARSER] — секция, в которой задаются настройки используемых парсеров:

      • Name — имя парсера, который используется для анализа соответствующих записей при обработке данных журнала;

      • Format — формат входных данных для парсера;

      • Time_Key — ключ во входных данных, который содержит информацию о времени;

      • Time_Format — формат времени, используемый для разбора временных меток.

  1. /etc/fluent-bit/pipeline-inputs.yaml — файл, описывающий источники входных данных.

    Пример файла:

    ---
    pipeline:
        inputs:
          - name: tail
            path: /app/inno-osmax/audit/osmax/core/audit-osmax-core.log
            db: /app/inno-osmax/audit/osmax/core/audit-osmax-core-fluent-bit.db
            parser: audit-osmax-core

    Где:

    • inputs — список источников данных, из которых Fluent Bit читает информацию;

      • name — тип входного источника данных;

      • path — путь к файлу журнала, из которого Fluent Bit считывает данные;

      • db — путь к базе данных, используемой Fluent Bit для хранения состояния чтения файла журнала;

      • parser — парсер, который используется для обработки данных из указанного файла журнала.

  1. /etc/fluent-bit/pipeline-filters.yaml — файл, содержащий фильтры, которые применяются к входящим данным для их обработки и преобразования.

    Пример файла:

    ---
    pipeline:
        filters:
          - name: record_modifier
            match: '*'
            Allowlist_key:
                - correlationId
                - type
                - code
                - object.id
                - object.name
                - class
                - message
                - initiator.sub
                - ipAddress
                - context.sessionId
                - context.url
                - context.method
                - context.traceId
                - context.spanId
                - additionalParams.action
                - additionalParams.сomponentName
                - additionalParams.collectionId
                - additionalParams.collectionName
                - additionalParams.configurationId
                - additionalParams.configurationName
                - additionalParams.configurationPackageName
                - additionalParams.configurationVersionId
                - additionalParams.configurationVersionName
                - additionalParams.datasourceName
                - additionalParams.roleName
                - additionalParams.userName
                - additionalParams.trigger
                - additionalParams.installation
                - additionalParams.minion
                - additionalParams.store
                - additionalParams.formula
                - additionalParams.fileName
                - additionalParams.turn
                - additionalParams.object
                - additionalParams.format
                - additionalParams.relativeConfigurationId
                - additionalParams.reportName
                - additionalParams.user
                - additionalParams.fqdn
                - additionalParams.hostName
                - additionalParams.mac
                - additionalParams.salt_file_name
                - additionalParams.salt_file_status
                - additionalParams.import_result
                - additionalParams.protocol
                - additionalParams.softName
                - scmCategory
    
          - name: modify
            match: '*'
            condition: Key_Does_Not_Exist object.name
            add: object.name ""
    
          - name: modify
            match: '*'
            condition: Key_Does_Not_Exist scmCategory
            add: scmCategory ""
    
          - name: modify
            match: '*'
            add: initiator.channel <customer-channel>
            add: deploymentContext.namespace <customer-namespace>
            add: deploymentContext.podName <customer-podName>
    
          - name: nest
            match: '*'
            operation: nest
            wildcard: object.*
            nest_under: object
            remove_prefix: object.
    
          - name: nest
            match: '*'
            operation: nest
            wildcard: initiator.*
            nest_under: initiator
            remove_prefix: initiator.
    
          - name: nest
            match: '*'
            operation: nest
            wildcard: context.*
            nest_under: context
            remove_prefix: context.
    
          - name: nest
            match: '*'
            operation: nest
            wildcard: deploymentContext.*
            nest_under: deploymentContext
            remove_prefix: deploymentContext.
    
          - name: nest
            match: '*'
            operation: nest
            wildcard: additionalParams.*
            nest_under: additionalParams
            remove_prefix: additionalParams.
    
          - name: modify
            match: '*'
            copy: message operation
            copy: message title
            add: infoSystemCode 2158
            add: infoSystemId SCMM
            add: version 1.0
            add: mandatory true
            add: ipNearbyNode <customer-ipNearbyNode>
            add: ipRecepient <customer-ipRecepient>
    
          - name: modify
            match: '*'
            condition: Key_Exists exception
            hard_copy: exception message

    Где:

    • record_modifier — фильтр, который используется для изменения или модификации записей журналов, например, для добавления, изменения или удаление полей в записях журналов;

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

    • nest — фильтр, который используется для вложения полей журнальных записей в другие поля.

  1. /etc/fluent-bit/pipeline-outputs.yaml — файл, в котором указываются конечные точки, куда должны быть отправлены обработанные данные после прохождения через фильтры.

    Пример файла:

    ---
    pipeline:
        outputs:
          - name: kafka
            match: '*'
            brokers: 10.31.1.9:9092
            topics: audit
            message_key_field: correlationId
            timestamp_key: timestamp
            timestamp_format: iso8601

    Где:

    • outputs — список выходных потоков данных;

      • name — тип выходного потока данных;

      • match — параметр, который определяет, какие данные отправляются в указанный выходной поток;

      • brokers — переменная, содержащая адреса брокеров Kafka, к которым подключается Fluent Bit для отправки данных;

      • topics — переменная, определяющая имя темы Kafka, в которую отправляются данные;

      • message_key_field —  поле в сообщении, которое используется в качестве ключа (key) для Kafka-сообщения;

      • timestamp_key — поле в сообщении, которое используется для временной метки (timestamp) Kafka-сообщения;

      • timestamp_format — формат временной метки сообщения.

Запуск службы fluent-bit

После установки и настройки модуля, запустите службу fluent-bit, выполнив команду:

sudo systemctl start fluent-bit

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

sudo systemctl status fluent-bit

В случае ошибок проверьте логи системы (см. раздел «Рекомендации по сбору и предоставлению информации о проблеме/ошибке» документа «Руководство по эксплуатации»).

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/astra-ira/astra-install-ira-overview.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/astra-ira/astra-prequisites-ira.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/astra-ira/astra-deploy-ira.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/astra-ira/astra-install-ira.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/astra-ira/astra-ira-config/astra-ira-logging-audit/astra-ira-logging-audit.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-overview.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-01-install-salt.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-02-download-arch-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-03-install-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-04-configure-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-05-kafka-returner-settings.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-05-01-user-sessions-settings.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-06-start-master.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-07-start-salt-api.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-08-download-arch-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-09-install-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-10-configure-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-11-create-public-keys.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-salt/redos-12-start-minion.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-01-install-back-front.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-02-download-arch-core.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-03-install-backend.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-04-install-core.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-05-core-config.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-07-install-provisioner.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-08-provisioner-config.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-09-start-provisioner-service.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/redos/redos-install-back-front/redos-10-insatll-frontend.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/redos-ira/redos-install-ira-overview.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/redos-ira/redos-prequisites-ira.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/redos-ira/redos-install-ira.adoc[]

Unresolved include directive in modules/ROOT/pages/install-guide-toc.adoc - include::../../../content/pdf/pdf-ira/redos-ira/redos-ira-config/redos-ira-logging-audit/redos-ira-logging-audit.adoc[]

Настройка рабочего места администратора

В разделе приведено описание настройки рабочего места администратора на примере Astra Linux.

Шаги настройки:

  1. Разверните виртуальную машину с Astra Linux для рабочего места администратора.

  2. Установите пакеты, необходимые для работы с графическим интерфейсом по протоколу RDP, выполнив команду:

    sudo apt install fly-all-main xorgxrdp xrdp -y
    Установка компонентов может занять некоторое время.
  3. Установите Яндекс Браузер, выполнив команду:

    sudo apt install yandex-browser-stable -y
  4. Перезагрузите операционную систему (ОС) с пользовательским интерфейсом по умолчанию, выполнив команду:

    sudo systemctl set-default graphical.target
  5. Проверьте текущую конфигурацию загрузки, выполнив команду:

    sudo systemctl get-default
  6. Установите пакет для ввода компьютера в домен, выполнив команду:

    sudo apt install astra-ad-sssd-client -y
  7. В конфигурационном файле /etc/resolv.conf, который используется для настройки параметров Domain Name System (DNS), задайте IP-адрес контроллера домена стенда, например:

    search osmax.domain
    nameserver 10.10.10.2
  8. Введите компьютер в домен, выполнив команду:

    sudo astra-ad-sssd-client -d osmax.domain -u Administrator
    Не забудьте изменить имя домена и при необходимости имя доменной учетной записи с правами доменного администратора.
  9. После успешного ввода в домен создайте директорию для управления политиками Яндекс Браузера, выполнив команду:

    sudo mkdir -p /etc/opt/yandex/browser/policies/managed/
  10. Создайте политику Яндекс Браузера:

    1. Создайте и откройте файл политики, выполнив команду:

      sudo nano /etc/opt/yandex/browser/policies/managed/managed_policies.json
    2. Вставьте в файл следующее содержимое:

      {
      "AuthServerAllowlist": "*.osmax.domain, osmax-appshop, osmax-webadmin",
      "AuthNegotiateDelegateAllowlist": "*.osmax.domain",
      "HomepageLocation": "http://osmax-webadmin.osmax.domain",
      "StatisticsReporting": false,
      "DefaultBrowserSettingEnabled": false,
      "BookmarkBarEnabled": true
      }
      Используйте пользовательские значения домена, URL-адреса для модуля «Кабинет Администратора» и названия субдоменов (osmax-appshop, osmax-webadmin), если они были изменены.
  1. Перезагрузите машину, выполнив команду:

    sudo reboot
  2. Зайдите на машину по RDP под доменной учетной записью (УЗ), которая прописана как УЗ администратора в конфигурационном файле application.properties модуля osmax-core (параметр osmax.authorization.rbac.super-users[X]), откройте Яндекс Браузер и проверьте работоспособность кабинета администратора.

Appendix A: Сравнение конфигурационных файлов

В разделе приведено сравнение параметров конфигурационных файлов модулей osmax-core и osmax-provisioner для текущей и предыдущей версий продукта, где:

  • строки с символом «-», выделенные желтым цветом — устаревшие названия параметров/комментариев, которые были частично изменены, полностью заменены или удалены в текущей версии продукта;

  • строки с символом «+», выделенные бледно-зеленым цветом — обновленные названия параметров/комментариев, актуальные для текущей версии продукта;

  • строки с символом «+», выделенные зеленым цветом — новые строки в файле, появившиеся в текущей версии продукта.

  • дополнительно:

    • розовым цветом подсвечены измененные/удаленные элементы;

    • ярко-зеленым цветом подсвечены новые элементы.

Описание параметров см. в разделах «Конфигурация модуля osmax-core» и «Конфигурация модуля osmax-provisioner» соответственно.
horizontal
horizontal

Глоссарий

Apache Tomcat

Открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket и предоставляющее платформу для запуска веб-приложений, написанных на языке Java.

Certificate Revocation List (CRL)

Список отозванных сертификатов. Список сертификатов, которые удостоверяющий центр (Certificate Authority — CA) пометил как отозванные. Используется для проверки действительности сертификата. CRL содержит информацию о сертификатах, которые больше не должны использоваться, например, если они были скомпрометированы или утеряны.

Cron-формат

Формат времени, используемый в системах планирования задач в операционных системах Unix и Linux. Этот формат представляет собой строку, которая содержит шесть или семь полей, разделенных пробелами или табуляцией. В каждом поле задано значение времени или даты, когда задача должна быть выполнена. Поля могут содержать любые разрешенные значения, а также различные комбинации разрешенных специальных символов для этого поля.

Deb-пакет (Debian package)

Формат упаковки программного обеспечения для операционной системы Debian и ее производных, таких как Ubuntu. Deb-пакет содержит программу или библиотеку, а также информацию о зависимостях и конфигурации. Он может быть установлен с помощью менеджера пакетов, например, apt-get или dpkg. Deb-пакеты облегчают установку и обновление программного обеспечения в системе, а также позволяют управлять зависимостями между пакетами.

Java Naming and Directory Interface (JNDI)

Интерфейс в языке Java, который позволяет приложениям обращаться к различным сервисам и ресурсам через их имена. Используется для доступа к данным и объектам через различные протоколы, такие как LDAP (Lightweight Directory Access Protocol), файловые системы, JDBC и другие.

PKCS#12

Один из стандартов семейства Public-Key Cryptography Standards (PKCS), опубликованных RSA Laboratories.

Privacy Enhanced Mail (PEM)

Формат кодирования данных, который используется для хранения и передачи сертификатов, закрытых ключей, а также других конфиденциальных данных в виде текста. Формат PEM был разработан для безопасной передачи электронной почты, но сейчас широко используется в SSL/TLS-сертификатах и других системах безопасности.

Role Based Access Control (RBAC)

Управление доступом на основе ролей.

Service Principal Name (SPN)

Уникальное имя для аутентификации службы в рамках протокола Kerberos.

Агент (в терминологии SaltStack: Minion)

Служебный узел, который управляется с помощью модуля координации. Он может являться физической или виртуальной машиной, контейнером или сетевым устройством. Агент подключается к серверу управления и получает от него команды для выполнения различных задач, таких как установка программного обеспечения, настройка конфигурации или мониторинг состояния системы. Агенту присваивается свой уникальный идентификатор, который используется для идентификации узла на сервере управления.

Версия конфигурации

Сущность продукта, которая представляет собой отдельный файл в формате JSON. Файл загружается в модуль «Кабинет администратора» и позволяет изменять конфигурацию в соответствии с требованиями пользователя. В файле указывается идентификатор версии, мета-атрибуты версии и параметры формулы, доступные для переопределения.

Кабинет администратора

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

Коллекция устройств

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

Конфигурация

Сущность продукта, которая представляет собой отдельный файл в формате JSON, содержащий описание набора метаданных для формулы SaltStack. Файл загружается в модуль «Кабинет администратора», и, используя формулу, обеспечивает выполнение установки и настройки системы в соответствии с требованиями пользователя.

Магазин приложений

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

Сервер управления (в терминологии SaltStack: Master)

Центральный узел в инфраструктуре управления конфигурацией. Управляет всеми устройствами в инфраструктуре — агентами, отправляет команды на выполнение, хранит конфигурационные данные и предоставляет отчеты о выполнении задач. Также обеспечивает безопасную и защищенную связь между устройствами и сервером управления.

Формула

Сущность SaltStack, представляющая собой директорию с файлами состояний (файлы с расширением .sls) в формате YAML. Файлы состояний определяют поведение и конечное состояние системы, которого она должна достичь после применения формулы, и используются для установки, настройки и управления программным обеспечением, настройки сетевых параметров, создания пользователей и др. Виды формул:

  • готовые — загруженные на сервер готовые к использованию формулы с настройками по умолчанию; при необходимости могут быть переопределены пользователем;

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

  • формулы-шаблоны — формулы, которые используются в качестве примера для создания собственных формул подобного типа.

Сокращения

AD

Active Directory

CRL

Certificate Revocation List

JNDI

Java Naming and Directory Interface

RBAC

Role Based Access Control

SPN

Service Principal Name

ОС

Операционная система

ПО

Программное обеспечение