Пример файла vars#
Базовый файл#
Пример заполненного базового файла 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
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
# ======= 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
bundle: # ssl-bundles тут указываются все бандлы которые планируются использовать
jks: # Тип хранилища (помимо jks можно использовать pem файлы)
web-server: # Имя бандла (произвольное)
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: "key" # Имя ключа
password: __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
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 # Максимально допустимое значение размера сообщения
segments: SegmentA, SegmentB # Идентификатор сегмента.
# 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
# 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 - * * * * * *, который расшифровывается: (секунда) (минута) (час) (день месяца) (месяц) (день недели)
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 # Флаг отвечающий за отключение-включение отображения функции просмотра внутренних уведомлений
transformations: true # Флаг отвечающий за отключение-включение заявок на потоковую обработку
distr-version: false # Флаг отвечающий за отображение версии дистрибутива в ui хедере
replications: 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))