Подготовка окружения EDMS#
Общие пререквизиты установки#
Установить пакеты или проверить, что пакеты установлены: Java, Unzip, Ansible (необходимо установить на сервер, с которого будет производиться установка).
Для работы компонента EDMS необходима БД (Platform V Pangolin SE). База данных с созданной схемой
edms. Пользователи и пароли от БД с правами на чтение и запись в эту схему необходимо уточнить у администратора БД.Создать пользователей установки (например:
emc) и дать права на чтение и запись соответствующих директорий установки/логов/данных. Данные директории должны быть пустые.Создать системные и пользовательские сервисы обслуживания. Создавать необходимо согласно инструкции из подраздела по «Созданию системных и пользовательских сервисов обслуживания».
Создание сертификатов по инструкции.
Убедиться, что получены дистрибутивы компонента. Состав дистрибутивов описан в разделе Состав дистрибутива и информация о дистрибутиве EDMS.
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:
Дать возможность пользовательским сервисам работать как долговременные, выполнив команды:
systemctl restart systemd-logind
loginctl enable-linger emc
Автоматическое создание системных и пользовательских сервисов обслуживания#
Для автоматического создания сервисов обслуживания и пользовательских сервисов необходимо для начала заполнить настройки inventory из подраздела «Настройка inventory». Затем:
Выбрать соответствующий playbook в Jenkins job, в параметре «playbook»:
emc_system_service.yml - создание системного сервиса обслуживания EDMS,
emc_user_service.yml - создание пользовательского сервиса обслуживания EDMS.
Выбрать сервер (host), параметр «only_on_host».
Запустить работу Jenkins Job.
Проверить статус Jenkins Job, для успешной работы должно быть - Finished: SUCCESS.
Ручное создание системного сервиса обслуживания EDMS#
Под пользователем emc выполните следующие действия:
Создать файл сервиса. Для этого выполнить команду
sudo /bin/sudoedit /etc/systemd/system/emc.service.Будет создан файл
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».
Для инициализации сервиса выполнить команду
sudo systemctl daemon-reload.
Ручное создание пользовательского сервиса обслуживания EDMS#
Под пользователем emc выполнить следующие действия:
Создать файл сервиса
~/.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».
Для инициализации сервиса выполнить команду
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#
Создать в папке inventories свою директорию (с вашим названием) с параметрами. Пример настроек находится в папке
!EXAMPLE!(внутри папкиinventories).В созданной папке должны содержаться следующие элементы:
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
├──...
В файл
inventoryдобавить список серверов, на которые будет производиться установка. Используйте из папки!EXAMPLE!.
Параметр:
localhost ansible_connection=local
[emc]
hostname1
hostname2
Перейти к заполнению файлов в директории
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), а также учесть все настройки безопасности (подробно описано в разделе Настройки параметров безопасности).
Продолжить заполнение файлов в директории
group_vars/all. Файлvault.ymlсодержит пароли в зашифрованном виде.
При заполнении файла vars.yml необходимо зашифровать указываемые в нем пароли с помощью утилиты ansible-vault и занести их в файл vault.yml. Подробно данная процедура описана в разделе Использование утилиты «ansible-vault» для шифрования паролей.
Подложить используемые сертификаты в директорию
ssl. Создание хранилищ с сертификатами выполнять в соответствии с инструкцией в разделе JKS хранилища с серверными сертификатами.
Используемые сертификаты необходимо зашифровать с помощью утилиты ansible-vault. Подробно данная процедура описана в разделе Использование утилиты «ansible-vault» для шифрования паролей.
Создание Jenkins Job для автоматической установки EDMS#
Данный подраздел подготовки окружения относится только к разделу Установка EDMS, подраздел «Автоматическая установка с использованием Jenkins».
Настройка credentials для Ansible-Vault#
Создать файл с паролем, с помощью которого при автоматической установке будут расшифровываться пароли, зашифрованные через ansible-vault в параметрах (vars) выбранного inventory.

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

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

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

В отобразившемся окне заполнить поля:
в разделе Kind необходимо выбрать параметр «Secret file»;
далее нажать Выберите файл и загрузить файл (создание файла см в пункте 1);
в поле ID необходимо указать ID (значение ID придумывается самостоятельно, данный ID необходимо будет указать и в Jenkins Job в параметре vault_cred);
в поле Description: добавить краткое описание, либо можно оставить это поле незаполненным.
Credentials для Vault создаются после нажатия кнопки Create.

Создание Jenkins Job#
Содержимое дистрибутива
./EDMS-scripts-{version}-distrib.zipпоместить в Git репозиторий.Выбрать в Jenkins New Item для создания нового Jenkins Job.

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

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.
Сохранить получившийся Jenkins Pipeline.
На появившейся странице в боковом меню выбрать Собрать сейчас. Запускается первоначальная сборка.

Необходимо обновить страницу.
Затем выбрать в боковом меню Собрать с параметрами.

На появившейся странице необходимо заполнить следующие параметры и нажать кнопку Собрать:
jenkins_slave- имя агента Jenkins для сборки;ansible_version- название Jenkins Tool, отвечающего за используемую версию Ansible.
Необходимо обновить страницу и после окончания работы Jenkins Job снова нажать Собрать с параметрами.
Появится страница со списком всех настраиваемых параметров, отвечающих за установку 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).
Создать Linux пользователя на сервере командой:
useradd <имя пользователя>
Добавить пароль пользователя командой:
passwd <имя пользователя>
Добавить нового созданного пользователя в группу, у которой есть права на доступ в директорию установки EDMS командой:
usermod -g <группа пользователя> <имя пользователя>
Проверить имя группы и права для директории установки EDMS можно командой:
getfacl <директории установки>
Пример вывода команды:
# file: <директории установки>
# owner: edms
# group: edms
user::rwx
group::rwx
other::r-x