Подготовка окружения EDMS#

Общие пререквизиты установки#

  1. Установить пакеты или проверить, что пакеты установлены: Java, Unzip, Ansible (необходимо установить на сервер, с которого будет производиться установка).

  2. Для работы компонента EDMS необходима БД (Platform V Pangolin SE). База данных с созданной схемой edms. Пользователи и пароли от БД с правами на чтение и запись в эту схему необходимо уточнить у администратора БД.

  3. Создать пользователей установки (например:emc) и дать права на чтение и запись соответствующих директорий установки/логов/данных. Данные директории должны быть пустые.

  4. Создать системные и пользовательские сервисы обслуживания. Создавать необходимо согласно инструкции из подраздела по «Созданию системных и пользовательских сервисов обслуживания».

  5. Создание сертификатов по инструкции.

  6. Убедиться, что получены дистрибутивы компонента. Состав дистрибутивов описан в разделе Состав дистрибутива и информация о дистрибутиве EDMS.

  7. EDMS представляет собой консоль управления. Для использования приложения необходимо убедиться, что подготовлен и настроен транспорт Platform V Corax / Apache Kafka / Platform V Synapse Event Transfer Service. Подробная информация о настройках представлена в документации Руководство по установке к компоненту EVTP и продуктам: EVD (компонент SEDR), KFK (компонент KFKA).

Создание системных и пользовательских сервисов обслуживания#

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

Пререквизиты для создания системных сервисов обслуживания#

Выдать права пользователям (например: emc) на запуск, остановку и редактирование сервиса. Для этого под пользователем root добавить строки в файл /etc/sudoers:

Для EDMS:

   emc ALL= NOPASSWD: /bin/systemctl start emc
   emc ALL= NOPASSWD: /bin/systemctl stop emc
   emc ALL= NOPASSWD: /bin/systemctl status emc
   emc ALL= NOPASSWD: /bin/systemctl restart emc
   emc ALL= NOPASSWD: /bin/systemctl enable emc
   emc ALL= NOPASSWD: /bin/systemctl disable emc
   emc ALL= NOPASSWD: /bin/systemctl daemon-reload
   emc ALL= NOPASSWD: /bin/sudoedit /etc/systemd/system/emc.service

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

Добавить вашего пользователя (далее emc) в список исключений, чтобы пользовательский сервис приложения не завершался принудительно. Для этого под пользователем root:

  1. Дать возможность пользовательским сервисам работать как долговременные, выполнив команды:

systemctl restart systemd-logind
loginctl enable-linger emc

Автоматическое создание системных и пользовательских сервисов обслуживания#

Для автоматического создания сервисов обслуживания и пользовательских сервисов необходимо для начала заполнить настройки inventory из подраздела «Настройка inventory». Затем:

  1. Выбрать соответствующий playbook в Jenkins job, в параметре «playbook»:

  • emc_system_service.yml - создание системного сервиса обслуживания EDMS,

  • emc_user_service.yml - создание пользовательского сервиса обслуживания EDMS.

  1. Выбрать сервер (host), параметр «only_on_host».

  2. Запустить работу Jenkins Job.

  3. Проверить статус Jenkins Job, для успешной работы должно быть - Finished: SUCCESS.

Ручное создание системного сервиса обслуживания EDMS#

Под пользователем emc выполните следующие действия:

  1. Создать файл сервиса. Для этого выполнить команду sudo /bin/sudoedit /etc/systemd/system/emc.service.

  2. Будет создан файл emc.service, наполнить его следующим содержимым:

[Unit]
Description=EMC service
After=network.target local-fs.target

[Service]
Type=simple
User=emc
LimitNOFILE=65536
WorkingDirectory=/opt/emc/
ExecStart=/opt/emc/bin/emc run
Restart=always
RestartSec=30

[Install]
WantedBy=default.target

Здесь /opt/emc/ — абсолютный путь до директории установки EDMS, зависит от значения параметра installdir из подраздела «Настройка inventory».

  1. Для инициализации сервиса выполнить команду sudo systemctl daemon-reload.

Ручное создание пользовательского сервиса обслуживания EDMS#

Под пользователем emc выполнить следующие действия:

  1. Создать файл сервиса ~/.config/systemd/user/emc.service со следующим содержимым:

[Unit]
Description=EMC service

[Service]
Type=simple
WorkingDirectory=/opt/emc/
ExecStart=/opt/emc/bin/emc run
Restart=always
RestartSec=30

[Install]
WantedBy=default.target

Здесь /opt/emc/ — абсолютный путь до директории установки EDMS, зависит от значения параметра installdir из подраздела «Настройка inventory».

  1. Для инициализации сервиса выполнить команду sudo systemctl --user daemon-reload.

Настройка inventory#

Задание константных значений конфигурационным параметрам#

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

Для задания константных значений необходимо:

  • создать файл preferred_ansible_vars.yml в директории Pipeline, которая размещается в скриптах установки;

  • указать в файле preferred_ansible_vars.yml необходимые параметры с константными значениями. Параметры необходимо указывать в том же формате, как и в файле vars.yml в inventories (подраздел «Пример заполненного файла vars.yml»).

Логика приоритетов:

  • При наличии файла preferred_ansible_vars.yml в директории Pipeline значения, указанные в нем, применяются как самые приоритетные и не могут быть изменены через inventories;

  • При наличии файла preferred_ansible_vars.yml в директории Pipeline и попытке изменить значения параметров в файле vars.yml новые заданные параметры не применятся – остается приоритет у данных из файла preffered_ansible_vars.yml;

  • При отсутствии файла preferred_ansible_vars.yml все параметры применяются из файла vars.yml.

Заполнение файлов inventory#

  1. Создать в папке inventories свою директорию (с вашим названием) с параметрами. Пример настроек находится в папке !EXAMPLE! (внутри папки inventories).

  2. В созданной папке должны содержаться следующие элементы:

group_vars/all — директория, в которой лежат файл vars.yml и файл vault.yml;

ssl — директория с сертификатами;

inventory — файл, где прописываются группы host, на которых будут выполняться playbooks;

Пример структуры репозитория:

├── ...
├── files
├── inventories
│   ├── !EXAMPLE!
│   │   ├── group_vars
│   │   │   └── all
│   │   │       ├── vars.yml
│   │   │       └── vault.yml
│   │   ├── ssl
│   │   │   └──edms.jks
│   │   ├── inventory
│   ├── [новая директория]
│   │   ├── group_vars
│   │   │   └── all
│   │   │       ├── vars.yml
│   │   │       └── vault.yml
│   │   ├── ssl
│   │   │   └──edms.jks
│   │   ├── inventory
├── roles
│   │   ...
├── emc.yml
├── ***.yml
├──...
  1. В файл inventory добавить список серверов, на которые будет производиться установка. Используйте из папки !EXAMPLE!.

Параметр:

localhost ansible_connection=local

[emc]
hostname1
hostname2
  1. Перейти к заполнению файлов в директории group_vars/all. Файл vars.yml заполнить по аналогии с имеющимися примерами vars.yml в папке !EXAMPLE!. Весь список настраиваемых параметров с комментариями представлен в файлах ./roles/*{название компонента}/defaults/main.yml. Данные файлы находятся в архиве EDMS-scripts-{version}-distrib.zip.

inventories/<название вашей директории>/group_vars/all/vars.yml - указываются настройки параметров для установки.

Ознакомиться с примером заполненного файла vars.yml можно в подразделе «Пример заполненного файла vars.yml».

При этом необходимо задать пароли в зашифрованном виде (описано далее в п.5), а также учесть все настройки безопасности (подробно описано в разделе Настройки параметров безопасности).

  1. Продолжить заполнение файлов в директории group_vars/all. Файл vault.yml содержит пароли в зашифрованном виде.

При заполнении файла vars.yml необходимо зашифровать указываемые в нем пароли с помощью утилиты ansible-vault и занести их в файл vault.yml. Подробно данная процедура описана в разделе Использование утилиты «ansible-vault» для шифрования паролей.

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

Используемые сертификаты необходимо зашифровать с помощью утилиты ansible-vault. Подробно данная процедура описана в разделе Использование утилиты «ansible-vault» для шифрования паролей.

Создание Jenkins Job для автоматической установки EDMS#

Данный подраздел подготовки окружения относится только к разделу Установка EDMS, подраздел «Автоматическая установка с использованием Jenkins».

Настройка credentials для Ansible-Vault#

  1. Создать файл с паролем, с помощью которого при автоматической установке будут расшифровываться пароли, зашифрованные через ansible-vault в параметрах (vars) выбранного inventory.

    NewFile

  2. Зайти в Jenkins в свой проект, перейти во вкладку Credentials, далее выбрать ваш проект.

    Jenkins

  3. На отобразившейся странице необходимо выбрать Global credentials (unrestricted).

    Jenkins

  4. Далее нажать кнопку Add Credentials.

    Jenkins

  5. В отобразившемся окне заполнить поля:

  • в разделе Kind необходимо выбрать параметр «Secret file»;

  • далее нажать Выберите файл и загрузить файл (создание файла см в пункте 1);

  • в поле ID необходимо указать ID (значение ID придумывается самостоятельно, данный ID необходимо будет указать и в Jenkins Job в параметре vault_cred);

  • в поле Description: добавить краткое описание, либо можно оставить это поле незаполненным.

Credentials для Vault создаются после нажатия кнопки Create.

Jenkins

Создание Jenkins Job#

  1. Содержимое дистрибутива ./EDMS-scripts-{version}-distrib.zip поместить в Git репозиторий.

  2. Выбрать в Jenkins New Item для создания нового Jenkins Job.

    NewItem

2.1. Добавить название создаваемого Jenkins Job. Нельзя использовать в названии кириллицу и спецсимволы.

2.2. Выбрать Pipeline и нажать кнопку ОК.

NewItem_create

2.3. На появившейся странице необходимо заполнить поля в блоке Pipeline:

  • изменить значение параметра Definition на Pipeline script from SCM;

  • изменить значение параметра SCM на Git;

  • заполнить параметр Repository URL, в параметре указать путь до вашего Git репозитория;

  • заполнить параметр Credentials, в параметре указать ваши Credentials с правами на чтение;

  • в параметре Branches to build выбрать ветку, в которой находятся скрипты;

  • в параметре Script Path указать путь до groovy-скрипта Pipeline/emc_custom.groovy;

  • убедиться, что снята галочка Lightweight checkout.

  1. Сохранить получившийся Jenkins Pipeline.

  2. На появившейся странице в боковом меню выбрать Собрать сейчас. Запускается первоначальная сборка.

    Now

  3. Необходимо обновить страницу.

  4. Затем выбрать в боковом меню Собрать с параметрами.

    Params

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

  • jenkins_slave - имя агента Jenkins для сборки;

  • ansible_version - название Jenkins Tool, отвечающего за используемую версию Ansible.

  1. Необходимо обновить страницу и после окончания работы Jenkins Job снова нажать Собрать с параметрами.

  2. Появится страница со списком всех настраиваемых параметров, отвечающих за установку EDMS:

  • параметр job_config_renew отвечает за обновление Jenkins Job. При установке приложения должен быть выключен (false). Для обновления текущих параметров и сохранения значений по умолчанию должен быть включен (true);

  • в параметре kupolUrl указать ссылку на АС «Купол»;

  • в параметре inventory выбрать ранее созданный вами inventory. Inventory создавались на шаге Подготовка окружения раздел Подготовка окружения EDMS, подраздел «Настройка inventory»;

  • в параметре nexusUrl указать ссылку на переданный дистрибутив;

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

  • в параметре playbook выбрать необходимый сценарий установки:
    где emc.yml - устанавливает emc;
    <название сервиса>_system_service.yml - устанавливает system service по указанному сервису.
    <название сервиса>_user_service.yml - устанавливает user service по указанному сервису.

  • в параметре standType выбрать необходимый тип стенда для запроса к АС «Купол»;

  • первая установка приложения выполняется без выбора tags. Это позволит полностью выполниться playbook;

  • в случае, если необходима частичная установка, то можно выбрать определенные теги tags:
    для playbook «emc.yml»:
    backup_create — создание бэкап,
    backup_remove — удаление бэкап,
    backup_restore — восстановление из бэкап,
    change_config — изменение конфигурации EDMS без полной переустановки,
    distribute — распаковка дистрибутива,
    install — запуск блока установки,
    restart — перезапуск сервиса,
    start — запуск сервиса,
    stop — остановка сервиса;
    uninstall — удаление сервиса.


  • параметр install_all_hosts отвечает за выполнение playbook на всех host из выбранного inventory;

  • параметр only_on_host отвечает за выполнение playbook на выбранных host;

  • параметр custom_vault_password отвечает за ручной ввод пароля для Ansible Vault;

  • параметр jenkins_slave заполнить именем агента Jenkins для сборки;

  • в параметре jdk_tool указать Jenkins Tool с нужной версией JDK;

  • в параметре ansible_branch выбрать ветку, в которой находятся скрипты. При этом в настройках Jenkins Job в параметре Branches to build необходимо указать ${ansible_branch};

  • в параметре ansible_version указать название Jenkins Tool, отвечающим за используемую версию Ansible;

  • в параметре secman_url указать URL для подключения к Hashicorp Vault;

  • в параметре nexus_user_cred указать Jenkins Credential ID типа username with password для выкачивания дистрибутива из Nexus,
    при задании параметра secman_url — указать полный путь в Hashicorp Vault до пользователя и пароля,
    например {Jenkins Credential ID типа vault app role для получение секретов из Hashicorp Vault}/…/KV/nexus:{имя пользователя},{пароль};

  • в параметре vault_cred указать Jenkins Credential ID типа secret file со строкой для расшифровки паролей (ansible vault) (можно несколько через запятую),
    при задании параметра secman_url — указать полный путь в Hashicorp Vault до пароля,
    например {Jenkins Credential ID}|/…/KV/vault:{password_1},{ID Jenkins Credential_2}/…/KV/vault:{password_2}
    (в качестве пароля можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myVaultBase64);

  • в параметре server_ssh_cred указать Jenkins Credential ID типа ssh key для подключения к серверам при задании параметра secman_url — указать полный путь в Hashicorp Vault до секрета,
    например {Jenkins Credential ID типа vault app role для получение секретов из Hashicorp Vault}/…/KV/ssh:{юзер},{ключ},{passphrase}
    (в качестве ключа можно использовать не строку, а файл в base64 формате с ключом секрета, заканчивающимся на Base64, например myPrivateKeyBase64);

  • параметр ssl_verify отвечает за проверку сертификатов при подключении к Hashicorp Vault или Nexus;

  • параметр ssl_verify_kupol отвечает за проверку сертификатов при отправках данных в АС «КУПОЛ»;

  • параметр second_hand_approve — подтверждение запуска другим администратором (контроль «второй рукой»). Двухэтапное подтверждение запуска, требующее действия другого администратора для запуска задания Jenkins Job. При активации этой опции одному администратору будет недоступна возможность запуска задания Jenkins Job без подтверждения со стороны другого администратора;

  • в параметре inventories_repo указать URL репозитория с вашими inventory. Данный пункт применим, если inventory были созданы в другом репозитории, отличном от того, где лежат скрипты;

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

  • в параметре inventories_path указать путь до каталога, содержащего каталоги с inventory. В этом каталоге может быть несколько вложенных каталогов, они отобразятся в выпадающем списке/параметре inventory в jenkins job. Каждый вложенный каталог содержит отдельный inventory.

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

Для продолжения установки вернитесь к разделу Установка EDMS, подраздел «Автоматическая установка с использованием Jenkins».

Пример заполненного файла vars.yml#

Базовый файл#

Пример заполненного базового файла vars.yml: Базовый файл — это файл, содержащий минимум настроек для корректной установки приложения.

ansible_user: host_user # Пользователь под которым будет выполнятся Ansible
ansible_password: "{{ ansible_password }}"

emc:
  distr: emc-boot.zip # Название файла дистрибутива
  installdir: /u01/control-plane/ # Полный путь до директории установки
  logdir: /u01/control-plane/logs/ # Полный путь до директории для логов
  datadir: /u01/control-plane-data # Полный путь до директории с данными
generateApplication:
  # ======= EMC parameters and constants
  emc:
    users: # Блок настроек пользователей
      managers:
        - login: user # Логин  access менеджера
          pass: _PLACEHOLDER_ # Пароль access менеджера
      admins:
        - login: admin # Логин администратора
          pass: _PLACEHOLDER_ # Пароль администратора
    # ======= authentication configuration
    authentication:
      type: ldap # Тип аутентификации пользователей(ldap, database, sudir, sudir-scim)
      ldap: # Настройка параметров ldap
        url: # Блок настроек для подключения к ldap
          controller: CAB-VSP-DC00005 # Наименнование контроллера ldap
          server: hostname1 # Сервер ldap
          port: 636 # порт ldap(389,636)
        base: __PLACEHOLDER__  # Каталог для поиска пользователей
        fields: # Список аттрибутов возвращаемых из ldap
          displayName: __PLACEHOLDER__ # Название атрибута отображаемого имени пользователя
          employeeID: __PLACEHOLDER__ # Название атрибута табельного номера пользователя
          mail: __PLACEHOLDER__ # Название атрибута почтового адреса пользователя
          thumbnailPhoto: __PLACEHOLDER__ # Название атрибута фотографии пользователя
        ssl:  # Аутентификация через ssl
          active: true # Включение/выключение ssl
          keystore: __PLACEHOLDER__ # Сертификат для ssl
          keystore-password: __PLACEHOLDER__ # Пароль для ssl
          truststore: __PLACEHOLDER__ # Сертификат для ssl
          truststore-password: __PLACEHOLDER__ # Пароль для ssl

    # ======= Audit configuration
    audit: # Блок настроек аудита
      type: log # Выбор типа журналирования: log, tsaudit (При выборе необходимо заполнить соответствующий блок)

    # ======= Deploy configuration
    deploy:
      type: rlm
      timeout:
        cron: 0 */10 * * * * # Проверка установки
        delta: 600 #  Время ожидания установки
      rlm:
        rlm-url: https://rlm.ru # Адрес rlm
        service-token: __PLACEHOLDER__ # Токен для подключения к rlm
        table-id: kafka # Идентификатор таблицы с Kafka-ресурсами
        timeout:
          job-update-cron: 0 */5 * * * * # Задача cron, с помощью которой происходит периодическая проверка состояния RLM-джоб. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
          task-update-cron: 0 */2 * * * * # Задача cron, с помощью которой происходит обновление статусов заявок. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
        properties:
          "[security.protocol]": SSL
          "[ssl.keystore.location]": ssl/rlm.jks # Сертификат для rlm
          "[ssl.keystore.password]": __PLACEHOLDER__ # Пароль для сертификата rlm
          "[ssl.truststore.location]": ssl/rlm.jks # Сертификат для rlm
          "[ssl.truststore.password]": __PLACEHOLDER__ # Пароль для сертификата rlm
        jobs:
          create-topic: # Название джобы
            service: createtopicKafka # Параметр service джобы
            action: aktag_create_topic,aktag_modify_topic # Параметр action джобы
          add-acls: # Название джобы
            service: ak_add_acl # Параметр service джобы
            action: aktag_add_acls # Параметр action джобы
          modify-topic: # Название джобы
            service: ak_modify_topic # Параметр service джобы
            action: aktag_modify_topic # Параметр action джобы
          delete-topic: # Название джобы
            service: ak_delete_topic # Параметр service джобы
            action: aktag_delete_topics # Параметр action джобы
          delete-acls: # Название джобы
            service: ak_delete_acl # Параметр service джобы
            action: aktag_delete_acls # Параметр action джобы
    # ======= Server configuration
    server: # Блок настройки параметров сервера
      ssl: # Блок настройки ssl
        enabled: true # Флаг отвечающий за включение ssl, если true, то https иначе http
        key-store: ssl/edms.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
        key-password: _PLACEHOLDER__ # Пароль к сертификату
        key-store-password: ssl/edms.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
        trust-store-password: _PLACEHOLDER__ # Пароль к сертификату
        trust-store: _PLACEHOLDER__ # Пароль к сертификату
    # ======= Spring configuration
    spring: # Блок настройки параметров Spring
      datasource: # Блок настройки параметров подключения к базе данных
        url: jdbc:postgresql://BDhostname:5432/control_plane # адрес БД
        sslmode: verify-ca # Параметр ssl для БД: disable, verify-ca
        username: control_plane # Имя пользователя БД
        password: _PLACEHOLDER_ # Пароль подключения БД
        keystore: ssl/db.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
        keystore-password: _PLACEHOLDER_ # пароль для сертификата
        truststore: ssl/db.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
        truststore-password: _PLACEHOLDER_ # Пароль для сертификата

Расширенный файл настроек#

Пример всех изменяемых настроек со значением «по умолчанию». Любую из указанных настроек можно перенести в свой inventory для переопределения ее значения. Данный файл подразумевает включение всех блоков для работы с EDMS:

tmp_dir: /tmp/installer # Путь до временной директории на конечных серверах
wait_for_start: 120 # Время (в секундах) на корректный старт приложения (падает с ошибкой при превышении)
check_correct_start: true # Проверка корректности запуска приложения по наличию строки в логе
ansible_no_log: true # Маскирование сенситивных сообщений в ansible
password_encoder_cli_path: encryptor-cli-<version>-fatjar.jar # Путь до утилиты для шифрования паролей (helper/encode_passwords.yml)

# Авторизация под другим пользователем и его паролем
#ansible_become: 1
#ansible_become_method: su
#ansible_become_user: kafka
#ansible_become_pass: "{{ kafka_password }}"

# Авторизация под другим пользователем с использованием sudo (при добавлении в sudoers: user ALL=(new_user) NOPASSWD:ALL)
#ansible_become: 1
#ansible_become_user: new_user
emc: # Блок параметров для установки edms
  distr: emc-boot.zip # Название файла дистрибутива
  installdir: /opt/control-plane # Полный путь до директории установки
  logdir: /opt/control-plane/logs # Полный путь до директории для логов
  datadir: /opt/control-plane-data # Полный путь до директории с данными
  xms: 512M # Начальный heap size, минимальное значение 128М, максимальное значение ограничено оперативной памятью
  xmx: 2G # Максимальный heap size, минимальное значение 128М, максимальное значение ограничено оперативной памятью
  #  backup_installdir_to: /backup/edms # Директория для сохранения бекап installdir
  backup_not_older_than: 1d # Срок актуальности резервной копии. По умолчанию 1 день. (Может быть в часах 1h 2h 3h и тд или в днях 1d 2d 3d и тд)
  logname: emc # Наименование файла логов
  filelogmode: 600 # Права для файла логов emc
  auditlogmode: 600 # Права для файла логов аудита
  loglevel: INFO # Уровень вывода логов
  logMaxFileSize: 50MB # Определяет максимальный размер файлов логов, которые могут быть созданы. Размер файлов логов может быть указан в килобайтах (KB), мегабайтах (MB) или гигабайтах (GB). Доступно указывать только положительные числа, минимальное значение 1KB, максимальное значение ограничено дисковым пространством системы.
  logMaxHistory: 5 # Контролирует максимальное количество дней файлов логов. Доступно указывать только положительные числа. Минимальное значение 1, максимальное значение ограничено дисковым пространством системы.
  auditMaxFileSize: 50MB # # Определяет максимальный размер файлов аудита, которые могут быть созданы. Размер файлов логов может быть указан в килобайтах (KB), мегабайтах (MB) или гигабайтах (GB). Доступно указывать только положительные числа, минимальное значение 1KB, максимальное значение ограничено дисковым пространством системы.
  auditMaxHistory: 5 # Контролирует максимальное количество дней файлов аудита. Доступно указывать только положительные числа. Минимальное значение 1, максимальное значение ограничено дисковым пространством системы.
  port: 8080 # Порт на котором будет доступен емс
  service_name: emc # Наименование сервиса, который будет осуществлять старт/стоп emc
  #  log_total_size_cap: 2GB # Максимальный размер хранения логов, размер файлов логов может быть указан в килобайтах (KB), мегабайтах (MB) или гигабайтах (GB). Доступно указывать только положительные числа, минимальное значение 1KB, максимальное значение ограничено дисковым пространством системы.
  #  audit_total_size_cap: 2GB # Максимальный размер хранения логов аудита, размер файлов логов может быть указан в килобайтах (KB), мегабайтах (MB) или гигабайтах (GB). Доступно указывать только положительные числа. 0 - обозначает отключение параметра, минимальное значение 1KB, максимальное значение ограничено дисковым пространством системы.
  cleanLog: false # Очистка logdir при установке
  encoding_configs: # Конфигурация шифрования паролей
    enabled: true # Включения шифрования паролей
    security.encoding.key: encrypt.pass # Ключ для шифрования паролей
    security.encoding.class: ru.sbt.ss.password.DefaultEncoder # Библиотека(класс) для шифрования паролей
generateApplication: # Блок параметров для конфигурационного файла
  # ======= EMC parameters and constants
  emc: # Блок параметров emc
    label: EDMS.Управление событиями #  Поле заголовка приложения, отображается в header'е
    version: "{{ display_version | default('') }}" # Версия дистрибутива (НЕ МЕНЯТЬ)
    vendor: false # Флаг инсталляции для вне банковского клиента
    is-change-language: true # Возможность смены языка, для отключения установите значение false
    task: # Блок задания параметров для работы с заявками
      can-create: true # Возможность создания заявок
      change-user: false # Возможность менять автора заявки
    constants: # Блок констант
      max-tps-value: 50000  # Максимально допустимое значение тпс
      max-partitions-value: 150 # Максимально допустимое значение количества партиций
      time-to-store: 1054080 # Максимально допустимое значение времени хранения в потоке
      peak-load: 4320000000 # Максимально допустимое значение тпд
      max-message-size: 5000 # Максимально допустимое значение размера сообщения
    #    refs: # Блок настроек ссылок
    #      - label: Your_label # Название ссылки
    #        ref: https://url # Адрес ссылки
    #    users: # Блок настроек пользователей
    #       managers:
    #         - login: user # Логин  access менеджера
    #           pass: _PLACEHOLDER_ # Пароль access менеджера
    #       admins:
    #         - login: admin # Логин администратора
    #           pass: _PLACEHOLDER_ # Пароль администратора
    # ======= authentication configuration
    authentication: # Блок настроек аутентификации
      type: database # Тип аутентификации пользователей(ldap, database, sudir, sudir-scim), расскоментируйте необходимый блок ниже
    #      ldap: # Настройка параметров ldap
    #        user-search-filter: "(uid={0})" # параметр по которому будет производиться поиск пользователя в LDAP
    #        base: __PLACEHOLDER__ # Каталог для поиска пользователей
    #        manager-dn: __PLACEHOLDER__  # DN пользователя (cn=admin,dc=EDMS,dc=org)
    #        manager-password: __PLACEHOLDER__ # Пароль для пользователя
    #        url: # Блок настроек для подключения к ldap
    #          controller: CAB-VSP-DC00005 # Наименнование контроллера ldap
    #          server: hostname1 # Сервер ldap
    #          port: 636 # порт ldap(389,636)
    #        fields: # Список аттрибутов возвращаемых из ldap
    #          displayName: __PLACEHOLDER__ # Название атрибута отображаемого имени пользователя
    #          employeeID: __PLACEHOLDER__ # Название атрибута табельного номера пользователя
    #          mail: __PLACEHOLDER__ # Название атрибута почтового адреса пользователя
    #          thumbnailPhoto: __PLACEHOLDER__ # Название атрибута фотографии пользователя
    #        ssl:  # Аутентификация через ssl
    #          active: true # Включение/выключение ssl
    #          keystore: __PLACEHOLDER__ # Сертификат для ssl
    #          keystore-password: __PLACEHOLDER__ # Пароль для ssl
    #          truststore: __PLACEHOLDER__ # Сертификат для ssl
    #          truststore-password: __PLACEHOLDER__ # Пароль для ssl
    #      sudir: # Блок настроек для Sudir, раскомментировать при type: Sudir
    #        port: 5080  # Порт, на котором доступен Sudir
    #        host: 127.0.0.1  # Host, на котором доступен Sudir
    #        webCn: __PLACEHOLDER__ # Common name для валидации запросов при управлении учетными записями через Sudir
    #        user: __PLACEHOLDER__ # Имя пользователя Sudir
    #        password: __PLACEHOLDER__ # Пароль Sudir
    #        filter: # Список эндпоинтов, для которых не требуется авторизация через Sudir
    #          - .*/deploy/update-status.*
    #          - .*/transformations/deploy/archive.*
    #        jwts:
    #          url: https://sudir.ru # Ссылка на сервис Sudir
    #          key-store: __PLACEHOLDER__ # Путь до сертификата
    #          key-store-password: __PLACEHOLDER__ # Пароль для сертификата
    #          trust-store: __PLACEHOLDER__ # Путь до сертификата
    #          trust-store-password: __PLACEHOLDER__ # Пароль для сертификата
    #      sudir-scim: # Блок настроек для интеграции с IAM Proxy и управления УЗ через Scim
    #        webCn: commonname # Common name для валидации запросов при управлении учетными записями через Sudir
    #          jwk-url:  https://some-url # Url для получения открытых ключей для валидации JWT-токена Sudir
    #        login-field: some-user  # Поле jwt из которого будет браться имя пользователя для авторизации
    #        logout-url:  /openid-connect-auth/logout # Ссылка для logout'а в IAM Proxy
    # ======= Notifications configuration
    notifications: # Блок настроек уведомлений
      mail: # Блок настроек уведомлений через почту
        enabled: false # Включение/выключение отправки уведомлений через почту
    #        protocol: smtp # Почтовый протокол
    #        host: mail.ru # Адрес почты
    #        port: 25 # Почтовый порт
    #        auth: true # Включение/выключение аутентификации
    #        email-from: esmonitoring@mail.ru # Название почтового сервиса
    #        username: TEST\esmonitoring # Пользователь
    #        password: _PLACEHOLDER_ # Пароль
    #        email-validation: # Блок валидации почтовых адресов
    #          enabled: true # Включение/выключение валидации почтовых адресов, при включении указать параметр 'email-regex', и прописать регулярное выражение.
    #          email-regex: (?:[A-Za-z0-9!#$%&'*+=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+=?^_`{|}~-]+)*)@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])) # Регулярное выражение для проверки почтовых адресов
    #        smtp: # Блок настройки smtp почты
    #          connection-timeout: 2000 # Таймаут подключения к SMTP-серверу в миллисекундах.
    #          timeout: 1000 # Таймаут соединения с SMTP-сервером в миллисекундах.
    #          write-timeout: 2000 # Таймаут записи данных на SMTP-сервер в миллисекундах.
    #        ssl: # Блок настроек ssl
    #          enabled: true # Включение/выключение ssl
    #          factory_class: ru.sbt.ss.edms.security.factory.JksSslFactory # Библиотека обработки jks
    #          keystore: ssl/mail.jks # Сертификат для mail
    #          keystore-password: _PLACEHOLDER_ # Пароль для сертификата
    #          truststore: ssl/mail.jks # Сертификат для mail
    #          truststore-password: _PLACEHOLDER_ # Пароль для сертификата
    # ======= Audit configuration
    audit: # Блок настроек аудита
      type: log # Выбор типа журналирования: log, tsaudit(При выборе необходимо заполнить соответствующий блок)
    #      tsaudit: # Блок настроек tsaudit
    #        metamodel-module-name: Event Management Console # Название модуля в схеме метамодели аудита
    #        transport-type: rest # Выбор способа отправки аудита: 'kafka', 'rest'
    #        metamodel: "{{ emc.installdir }}/metamodel/metamodel.json" # Путь до metamodel
    #      rest: # Блок отправки по http
    #        url: https://audit.ru # Ссылка на аудит
    #        event-postfix: /v1/event # Суффикс для событий
    #        metamodel-postfix: /v1/metamodel # Суффикс для метамодели
    #      kafka: # Блок настроек отправки событий через топик Kafka
    #        metamodel-topic: topic1 # Топик для отправки данных метамодели
    #        event-topic: topic2 # Топик для отправки событий аудита
    #        bootstrap: hostname1:9092 # Сервера Kafka
    #      ssl: # Блок ssl для подключения к аудиту
    #        active: true # Включение ssl для аудита
    #        keystore: ssl/audit.jks # Путь до сертификата для отправки данных аудита
    #        keystore-password: __PLACEHOLDER__ # Пароль для сертификата
    #        truststore: ssl/audit.jks # Путь до сертификата для отправки данных аудита
    #        truststore-password: __PLACEHOLDER__ # Пароль для сертификата
    #      redelivery: # Переадресация
    #        file:  # В случае недоступности аудита необходимо указать абсолютный путь до файла в который будут записываться события
    #        file-max-size: 10m # Максимальный размер файлов для переадресации
    #        timeout: 15s # Таймаут для отправки событий
    #        delay: 10s #  Задержка для переотправки событий
    #        encryption-enabled: true # Включение шифрования файла аудита
    #        encryption-key: ${emc.security.encoding.key} # Ключ шифрования
    #        encryption-algorithm: PBEWithHmacSHA512AndAES_256 # Алгоритм шифрования
    # ======= Password encoder configuration
    security: # Блок настроек безопасности
      encoding: # Блок настроек шифрования
        enabled: true # Включения шифрования паролей
        key: "file:{{ emc.installdir }}/conf/encrypt.pass" # Путь до файла шифрования (НЕ МЕНЯТЬ)
      only-https-urls: true # Получение только https ссылок
    # ======= Deploy configuration
    deploy: # Блок настроек деплоя заявок
      type: rlm # Тип деплоя заявок: rlm, direct (Раскомментируйте необходимый блок)
      timeout:  # Блок настройки параметров ожидания проверки заявок
        cron: 0 */10 * * * * # Периодичность проверки истечения времени установки или отката заявки
        delta: 600 #  Время ожидания установки заявки в секундах
      #      user-token: # Блок настроек для проверки хранения пользовательских токенов
      #        timeout: # Блок параметров проверки пользовательского токена по времени
      #          cron: 0 */10 * * * * # Периодичность проверки истечения времени жизни токена пользователя
      #          delta: 6000 # Время жизни токена пользователя в секундах
      #      direct: # Блок настроек прямого деплоя
      #        timeout: 5000 # Таймаут в миллисекундах для ожидания ответа
      #        properties: # Блок настроек ssl для подключения к Kafka/replicator/Flink
      #          "[security.protocol]": SSL # Тип протокола подключения (НЕ МЕНЯТЬ)
      #          "[ssl.keystore.location]": ssl/direct.jks # Сертификат для direct-deploy, для подключения к Kafka/replicator/Flink
      #          "[ssl.keystore.password]": __PLACEHOLDER__ # Пароль для сертификата direct-deploy
      #          "[ssl.truststore.location]": ssl/direct.jks # Сертификат для direct-deploy, для подключения к Kafka/replicator/Flink
      #          "[ssl.truststore.password]": __PLACEHOLDER__ # Пароль для сертификата direct-deploy
      #          "[ssl.key.password]": __PLACEHOLDER__ # Пароль для сертификата direct-deploy
      rlm: # Блок настроек rlm
        rlm-url: https://rlm.ru # Адрес rlm
        service-token: __PLACEHOLDER__ # Токен для подключения к rlm
        table-id: kafka # Идентификатор таблицы с Kafka-ресурсами
        consumerGroupDeletion: false # Флаг удаления прав доступа consumerGroup при откате заявки на подписку
        timeout: # Блок параметров проверки джоб rlm по времени
          job-update-cron: 0 */5 * * * * # Задача cron, с помощью которой происходит периодическая проверка состояния RLM-джоб. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
          task-update-cron: 0 */2 * * * * # Задача cron, с помощью которой происходит обновление статусов заявок. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
        #        ssl: # Блок настроек ssl для подключения при взаимодействии с кафкой через привод rlm. Указываются в зависимости от настроек spring.ssl.bundle.[тип jks/pem].[имя бандла]
        #          bundle: default-bundle # Имя бандла
        #          certificate-alias: cert-alias # Имя сертификата
        jobs: # Список джоб rlm
          create-topic: # Название джобы
            service: createtopicKafka # Параметр service джобы
            action: aktag_create_topic,aktag_modify_topic # Параметр action джобы
          add-acls: # Название джобы
            service: ak_add_acl # Параметр service джобы
            action: aktag_add_acls # Параметр action джобы
          modify-topic: # Название джобы
            service: ak_modify_topic # Параметр service джобы
            action: aktag_modify_topic # Параметр action джобы
          delete-topic: # Название джобы
            service: ak_delete_topic # Параметр service джобы
            action: aktag_delete_topics # Параметр action джобы
          delete-acls: # Название джобы
            service: ak_delete_acl # Параметр service джобы
            action: aktag_delete_acls # параметр action джобы
    research: # Блок поиска топиков и их ACL в кластере Kafka
      type: rlm # Тип привода для поиска топиков
      rlm: # Блок настроек для привода RLM
        rlm-url: https://rlm.ru # Адрес RLM для создания и опроса job
        service-token: __PLACEHOLDER__ # Токен для подключения к rlm
        table-id: kafka # Идентификатор таблицы с Kafka-ресурсами
        timeout: # Блок настроек таймеров
          job-update-cron: 0 */1 * * * * # Задача cron, с помощью которой происходит периодическая проверка состояния RLM-джоб. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
          task-update-cron: 0 */1 * * * * # Задача cron, с помощью которой происходит обновление статусов заявок. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
          ttl: 600 # Время жизни отведенное на проведение разведки по конкретным RLM задачам
        jobs: # Список джоб rlm
          describe-all-topics: # Название джобы
            action: aktag_describe_all_topics # Параметр action джобы
            service: ak_info  # Параметр service джобы
          list_acls: # Название джобы
            action: aktag_list_acls # Параметр action джобы
            service: ak_info # Параметр service джобы
    #        ssl: # Настройки ssl для rlm подключения при разведке. Указываются в зависимости от настроек spring.ssl.bundle.[тип jks/pem].[имя бандла]
    #          bundle: default-bundle # Имя бандла
    #          certificate-alias: cert-alias # Имя сертификата
    custom-fields: # Блок настроек кастомных полей
      system-default-field: "КЭ АС" # Название кастомного поля систем по умолчанию
      domain-default-field: "КЭ АС" # Название кастомного поля доменов по умолчанию
    control-features: # Блок доступности отключаемых функций
      topology: true # Флаг отвечающий за отключение-включение отображения функции топологии в системе
      external-notifications: true # Флаг отвечающий за отключение-включение отображения в системе настройки функции оповещений на почту
      internal-notifications: true # Флаг отвечающий за отключение-включение отображения функции просмотра внутренних уведомлений
      distr-version: false # Флаг отвечающий за отображение версии дистрибутива в заголовке UI
      replications: true # Флаг для включения/выключения репликации
      transformations: true # Флаг отвечающий за отключение-включение заявок на потоковую обработку

    # ======= File storage configuration
    file-storage: # Блок настроек хранения файлов
      type: database # Тип хранения данных: file,s3,database
    #      url: "https://{{ inventory_hostname }}:{{ emc.port | default(8080) }}/api/files/temp" # Адрес хранения файлов конфигурации, используется при type: file
    #      file: # Блок хранения данных, используется при type: file
    #        location: "{{ emc.datadir }}" # Путь до директории хранения данных, используется при type: file
    #      s3: # Блок настроек s3
    #        end-point: some.s3.ru # Адрес s3
    #        region: some_reggion # Регион s3
    #        access-key: some_key # secret для s3
    #        secret-key: some_key # secret для s3
    #        bucket-name: some_bucket # Бакет в s3
    #        ssl: # Блок настроек ssl
    #          active: true
    #          keystore: ssl/storage.jks # Сертификат для ssl
    #          keystore-password:  __PLACEHOLDER_ # Пароль для сертификата
    #          truststore: ssl/storage.jks # Сертификат для ssl
    #          truststore-password:  __PLACEHOLDER_ # Пароль для сертификата
    # ======= Vault configuration
    vault: # Блок настроек параметров vault
      enabled: true # Включение/выключение vault
      address: https://_vault_host_:_vault_port_ # Хост и порт для подключения к vault
      timeout: 15 # Время ожидания для подключения к vault
      ssl: # Блок настроек параметров ssl для подключения к vault
        keystore: ssl/vaultclient.jks # jks для подключения к vault
        keystore-password: _PLACEHOLDER_ # Пароль для jks
        truststore: ssl/vaultclient.jks # jks для подключения к vault
        truststore-password: _PLACEHOLDER_ # Пароль для jks
        key-password: _PLACEHOLDER_ # Пароль для jks
      auth:  # Блок настроек параметров аутентификации в vault
        type: APPROLE  # Тип аутентификации в vault: APPROLE, CERTIFICATE, TOKEN и PASSWORD
        app-role:
          role: "approle" # role для подключения vault
          secret: "secret" # secret для подключения vault
      #        token: # Настройки аутентификации TOKEN
      #          token: _vault_token # Токен Vault
      #        user-pass: # Настройки аутентификации PASSWORD
      #          username: # Логин пользователя
      #          password: # Пароль пользователя
      namespace: "" # Пространство в vault
      secret-path: kv1/edms # Путь до хранилища с секретами
      cert-path: pki # Путь до хранилища, где генерируется сертификат
      secret-cron: 0 */5 * * * * # Задача cron с помощью которой происходит периодически опрос секретов Vault. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
      cert-cron: 0 */10 * * * * # Задача cron с помощью которой происходит периодически опрос сертификатов Vault. Формат Quartz - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
      encrypt-secrets: true # Нужно ли шифровать секреты в Environment. Если да, то необходимы параметры для шифрования. Для работы нужно прописать дополнительные параметры шифрования: security.encoding.class и security.encoding.key
      keys: [] # Список ключей для получения секретов из vault(см. пример ниже)
      certs: [] # Список сертификатов для генерации (см. пример ниже)
  # ======= Server configuration
  server: # Блок настройки параметров сервера
    address: "{{ inventory_hostname }}" # Адрес на котором будет запущен инстанс приложения
    port: "{{ emc.port | default(8080) }}" # Порт на котором будет запущен инстанс приложения
    servlet: # Блок настройки сервлета
      session: # Блок настройки сессий пользователей
        timeout: 3600s # Время активной сессии
    ssl: # Блок настройки ssl для вебсервера (tomcat) указываются в зависимости от настроек spring.ssl.bundle.[тип jks/pem].[имя бандла]
      client-auth: want # Дефолтный параметр для получения сертификатов. Варианты: need - обязательно будет требоваться сертификат в запросе, want - желателен сертификат в запросе, none - аутентификация клиента не требуется.
    #      bundle: default-bundle # Имя бандла
    compression: # Блок настройки параметров сжатия
      enabled: true # Флаг сжатия
  # ======= Spring configuration
  spring: # Блок настройки параметров Spring
    cloud: # Настройки клауда по дефолту - нужны для частичного одновления контекста приложения, используется при обновлении сертификатов
      config:
        enabled: false
    #    ssl: # Настройки ssl при использовании ssl параметры указываются в vars в нужном количестве и необходимыми параметрами
    #      bundle: # ssl-bundles тут указываются все бандлы которые планируются использовать
    #        jks: # Тип хранилища (помимо jks можно использовать pem файлы)
    #          default-bundle: # Имя бандла (произвольное)
    #            reload-on-update: true # Таймер по дефолту он 10 секунд (может автоматически обновить контекст дефолтных темплейтов)
    #            keystore: # Хранилище ключей
    #              location: ssl/edms.jks # Путь до хранилища ключей
    #              password: _PLACEHOLDER__ # Пароль от хранилища ключей
    #              type: JKS # Тип хранилища ключей
    #            truststore: # Хранилище доверенных цифровых сертификатов
    #              location: ssl/edms.jks # Путь до хранилища
    #              password: _PLACEHOLDER__ # Пароль от хранилища
    #              type: JKS # Тип хранилища
    #            key: # Ключ
    #              alias: _PLACEHOLDER__ # Имя ключа
    #              password: _PLACEHOLDER__ # Пароль ключа
    datasource: # Блок настройки параметров подключения к базе данных
      url: jdbc:postgresql://BDhostname:5432/control_plane # Адрес БД
      sslmode: disable # Параметр ssl для БД
      username: control_plane # Имя пользователя БД
      password: _PLACEHOLDER_ # Пароль подключения БД
      driverClassName: org.postgresql.Driver # Драйвер БД
      currentSchema: edms # Схема БД
      #      target-server-type: primary # Тип приложения при георезервирования: primary, secondary
      sslfactory: ru.sbt.ss.edms.security.factory.JksSslFactory # Библиотека обработки jks
    #      keystore: ssl/db.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
    #      keystore-password: _PLACEHOLDER_ # Пароль для сертификата
    #      truststore: ssl/db.jks # Путь к сертификату необходимому для запуска приложения, указывать относительно параметра emc.installdir
    #      truststore-password: _PLACEHOLDER_ # Пароль для сертификата
    liquibase: # Блок настройки параметров liquibase
      change-log: classpath:/db/changelog-master.xml # Путь файла с миграциями
      default-schema: edms # Схема бд
      database-change-log-table: edms_databasechangelog # Таблица с записями и миграциях
      database-change-log-lock-table: edms_databasechangeloglock # Таблица лока для произведения миграций
      enabled: true # Запускаем ли миграции базы при запуске приложения EMC
    quartz: # Блок настроек quartz
      job-store-type: jdbc # Тип хранения quartz джоб
      properties: # Параметры для quartz
        org: # Параметры для quartz
          quartz: # Параметры для quartz
            jobStore: # Параметры для quartz
              driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate # Драйвер БД
              tablePrefix: edms.qrtz_ # Префикс таблиц для хранения джоб
    servlet: # Параметры настройки сервлета
      multipart: # Параметры настройки работы с файлами в запросах
        max-file-size: 100MB # Максимальный размер файла для ответа
        max-request-size: 100MB # Максимальный размер файла для запроса
    jpa: # Блок настроек spring jpa
      generate-ddl: false # Свойство конфигурации в приложениях Spring Boot, которое контролирует, должно ли приложение автоматически генерировать необходимые SQL-скрипты DDL (Data Definition Language) для создания таблиц базы данных на основе классов сущностей
      properties: # Параметры настроек spring jpa
        org.hibernate.envers.do_not_audit_optimistic_locking_field: false # Настройка конфигурации в Hibernate, которая определяет, будет ли включено поле, аннотированное @Version, в схему аудита. По умолчанию для этого свойства установлено значение true, что означает, что поле оптимистичной блокировки не будет проверяться. Если установить для него значение false, то значение столбца будет проверяться
        hibernate.jdbc.lob.non_contextual_creation: true # Свойство, которое предотвращает запрос Hibernate к JDBC за информацией Clob
        hibernate.jdbc.time_zone: UTC # Временная зона
        hibernate.default_schema: edms # Схема БД по умолчанию
      hibernate: # Блок параметров hibernate
        ddl-auto: none # Флаг автоматической проверки или экспортирует DDL схемы в базу данных при создании SessionFactory
  # ======= Quartz configuration
  using: # Параметры для quartz
    spring: # Параметры для quartz
      schedulerFactory: true # Параметры для quartz
  # ======= JAVERS configuration
  javers: # Блок настройки javers
    sqlSchema: edms # схема БД
    sqlGlobalIdTableName: edms_jv_global_id # Название таблички для Id
    sqlCommitTableName: edms_jv_commit # Название таблички для коммитов джаверс
    sqlSnapshotTableName: edms_jv_snapshot # Название таблички для снэпшотов джаверс
    sqlCommitPropertyTableName: edms_jv_commit_property # Название таблички для свойств джаверс
    initialChanges: true # Запись данных создания объекта
    terminalChanges: false # Запись данных удаления объекта
  logging: # Блок настройки логирования
    config: "{{ emc.installdir }}/conf/logback.xml" # Путь до конфигурации логирования

## ================ key secrets example ================
#    keys:
#    - name: certPass # Имя хранилища секретов
#      type: SIMPLE # Тип секретов: SIMPLE, MAP
#      mapped-to: # Переменные которые хранятся в хранилища
#        - authentication.ssl.truststore-password
#        - authentication.ssl.keystore-password
#        - event-discovery.jks.password
#        - auth-sudir.jwts.key-store-password
#        - auth-sudir.jwts.trust-store-password
#        - file-storage.ssl.keystore-password
#        - file-storage.ssl.truststore-password
#        - server.ssl.key-password
#        - server.ssl.key-store-password
#        - server.ssl.trust-store-password

## ================ Если выбран deploy: direct ================
#- name: certPass
#  type: MAP
#  key: emc.deploy.direct.properties
#  mapped-to:
#    - ssl.keystore.password
#    - ssl.truststore.password
#    - ssl.key.password
## ================ Если выбран deploy: rlm ================
#- name: certPass
#  type: SIMPLE
#  mapped-to:
#    - spring.ssl.bundle.jks.<производное название бандла>.keystore.password
#    - spring.ssl.bundle.jks.<производное название бандла>.truststore.password
## ================ certificate properties example ================
#    certs:
#    - alias: edms # alias сертификата
#      truststore-secret-keys: edms1, edms2, edms3 # aliases сертификатов применятся при множестве УЦ
#      path: ssl/edms.jks # Путь на сервере, где будет храниться сертификат
#      alt-names: # Список альтернативных имен
#        - "some.alt.name"
#      alt-ips: # Список альтернативных ip-адресов
#        - "some.alt.ip"
#      csr-path:  # Абсолютный путь до запроса на сертификат (если используется csr, в остальных случаях оставить пустым)
#      ttl: 128D # Срок годности выпускаемого сертификата. Возможны градации: D - дни, H - часы, M - минуты, S - секунды
#      common-name: "EDMS.AWESOME.CERT" # CN выпускаемого сертификата
#      type: JKS # Тип хранилища
#      vault-secret: certPass # Пароль от хранилища, хранимый в переменной Vault
#      password: test # Пароль от хранилища. Если указан vault-secret, то пароль будет браться из Vault, а не из password.
#      renew-less-than: 2D # Разница между текущей датой во время проверки и сроком истечения сертификата. Если она будет меньше чем указано, то сертификат будет считаться недействительным и надо его перевыпустить
#      role: edms # Роль из под которой выпускается сертификаты в Vault
#      email: edms@edms.com # Почтовый адрес на который будут приходить уведомления о сертификате
#      max-wait-time: 2S # Время ожидания начала действия сертификата(сек), если параметр не определен, то по умолчанию будет 2 секунды
#      pki-method: issue # ISSUE / FETCH один из двух видов получения сертификатов из Vault - 'issue' (default), 'fetch' (только движок SberCA)
#      revocation: true # Включение проверки отзыва сертификата
#      prefer-crl: true # Включение проверки попадания сертификата в список отозванных по CRL перед проверкой по OCSP. По-умолчанию проверка проводится с помощью CRL, затем, в случае неудачи, с помощью OCSP
#      fallback: true   # Включение резервной проверки, если первая проверка завершилась ошибкой
#      soft-fail: true  # При наличии сетевых проблем с проверкой по OCSP и CRL, проверка отзыва не выполняется
################################# JAVA CRON EXAMPLE #################################
# synchronization_cron: 0 * */10 * * *
#    0 секунды (0 - 59) <- доп поле (отличие от обычного cron) для Spring cron expression
#    * минуты (0 - 59)
#    */10 часы (0 - 23)
#    * день месяца (1 - 31)
#    * месяц (1 - 12)
#    * день недели (0 - 6) (Sunday=0 или 7))

Создание на сервере пользователя Auditor IB#

Для создания пользователя необходимы права root (sudo).

  1. Создать Linux пользователя на сервере командой:

   useradd <имя пользователя>
  1. Добавить пароль пользователя командой:

   passwd <имя пользователя>
  1. Добавить нового созданного пользователя в группу, у которой есть права на доступ в директорию установки EDMS командой:

   usermod -g <группа пользователя> <имя пользователя>

Проверить имя группы и права для директории установки EDMS можно командой:

   getfacl <директории установки>

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

# file: <директории установки>
# owner: edms
# group: edms
user::rwx
group::rwx
other::r-x