Настройка приложения#
Порядок настройки#
Все конфигурационные настройки EVPT задаются в файле batch.conf, который необходимо заполнить до запуска процесса установки EVPT. Данный файл заполняется автоматически в процессе установки в соответствии со значениями, указанными в файле vars.yml. Подробнее описано в «Руководстве по установке», раздел «Пример заполненного файла vars.yml для EVPT».
При заполнении конфигурационного файла необходимо ориентироваться на указанные комментарии.
Параметры настройки#
В таблице представлены параметры настройки, задаваемые в файле batch.conf. Пример заполненного файла приведен ниже.
Общие настройки компонента#
Название параметра |
Рекомендуемые значения параметра |
Назначение параметра |
Допустимый формат значений параметра |
|---|---|---|---|
host |
{ IP_ADDRESS } |
Хост, на котором будет запущен сервис |
hostname (любое корректное имя хоста) |
port |
8081 |
Порт, на котором будет запущен сервис |
8080 (любой корректный порт) |
ssl.keystore.location |
Путь до хранилища сертификатов |
/path/to/keystore.jks |
|
ssl.keystore.password |
Пароль от хранилища сертификатов |
keystorepassword |
|
ssl.key.password |
Пароль от ключа сертификата |
keypassword |
|
ssl.truststore.location |
Путь до хранилища доверенных сертификатов |
/path/to/truststore.jks |
|
ssl.truststore.password |
Пароль от хранилища доверенных сертификатов |
truststorepassword |
|
ssl.keystore.type |
JKS |
Тип хранилища сертификатов |
JKS |
ssl.truststore.type |
JKS |
Тип хранилища доверенных сертификатов |
JKS |
ssl.conscrypt |
true |
Использование библиотеки conscrypt |
true, false |
ssl.protocol |
TLSv1.3 |
Версия протокола |
TLSv1.3, TLSv1.2 |
ssl.endpoint.identification.algorithm |
HTTPs |
Алгоритм идентификации endpoint подключения для проверки имени host сервера с использованием сертификата сервера |
HTTPs, dn |
ssl.allowed.dn |
Список разрешенных DN сертификатов |
CN=localhost, O=test, C=RU;CN=test, O=test, C=RU |
|
ssl.allowed.dn.file |
Расположение файла со списком разрешенных DN сертификатов |
/path/to/allowed-dn.txt |
|
secret |
Значение «ru.sbt.ss.batch.secret» (если не установлено - «») |
Секрет для расшифровки паролей |
secret |
useAkka |
false |
Флаг, отвечающий за использование akka кластера |
true, false |
timezone |
Значение JVM |
Используемая таймзона |
Europe/London |
ssl.vault.address |
HashiCorp Vault URL. Если параметр задан, то сертификаты будут из Vault |
https://localhost:8200 (корректный url) |
|
ssl.vault.tls.key.password |
Пароль от приватного ключа хранилища |
vaultkeypassword |
|
ssl.vault.tls.keystore.location |
Путь до keystore хранилища |
/path/to/vault/keystore.jks |
|
ssl.vault.tls.keystore.password |
Пароль от keystore хранилища |
vaultkeystorepassword |
|
ssl.vault.tls.truststore.location |
Путь до truststore хранилища |
/path/to/vault/truststore.jks |
|
ssl.vault.tls.truststore.password |
Пароль от truststore хранилища |
vaulttruststorepassword |
|
ssl.vault.tls.protocol |
TLSv1.2 |
Для хранилища: тип протокола ssl, который будет получен из vault. |
TLSv1.3, TLSv1.2 |
ssl.vault.tls.keystore.type |
JKS |
Формат файла keystore хранилища. |
JKS |
ssl.vault.tls.truststore.type |
JKS |
Формат файла truststore хранилища. |
JKS |
ssl.vault.tls.endpoint.identification.algorithm |
HTTPs |
Для хранилища: алгоритм идентификации endpoint подключения для проверки имени host сервера с использованием сертификата сервера |
HTTPs, dn |
ssl.vault.tls.conscrypt |
false |
Для хранилища: использование библиотеки conscrypt |
true, false |
ssl.vault.tls.allowed.dn |
Для хранилища: список разрешенных DN сертификатов |
CN=localhost, O=test, C=RU;CN=test, O=test, C=RU |
|
ssl.vault.tls.allowed.dn.file |
Для хранилища: расположение файла со списком разрешенных DN сертификатов |
/path/to/allowed-dn.txt |
|
ssl.vault.auth.type |
approle |
Тип аутентификации. Доступные значения: approle, token, password, cert. |
approle, token, password, cert |
ssl.vault.auth.mount |
Путь монтирования аутентификации |
path/to/mount |
|
ssl.vault.auth.role.id |
Role ID для типа аутентификации approle |
значение сгенерированное в vault |
|
ssl.vault.auth.secret.id |
Secret ID для типа аутентификации approle |
значение сгенерированное в vault |
|
ssl.vault.auth.token |
Токен для типа аутентификации token |
значение сгенерированное в vault |
|
ssl.vault.auth.username |
Имя пользователя для идентификации типа username |
имя пользователя (логин) - для идентификации. |
|
ssl.vault.auth.password |
Пароль для аутентификации типа password |
пароль пользователя - для аутентификации |
|
ssl.vault.tls.enable |
true |
Наличие защищенного соединения с HashiCorp Vault. |
true, false |
ssl.vault.namespace |
Vault namespace |
namespace |
|
ssl.vault.pki.mount |
pki |
Путь монтирования Vault PKI API. |
pki |
ssl.vault.pki.role.name |
Имя роли в PKI Engine |
rolename |
|
ssl.vault.pki.common.name |
Common name для генерации сертификатов |
CommonName |
|
ssl.vault.pki.alt.names |
Alternative names для генерации сертификатов |
AltName |
|
ssl.vault.pki.alt.ip |
Alternative ip для генерации сертификатов |
127.0.0.1 |
|
ssl.vault.pki.ttl |
TTL для генерации сертификатов |
100 |
|
ssl.vault.pki.csr |
CSR для генерации сертификатов |
сгенерированное значение csr |
|
ssl.vault.pki.trust.only |
false |
Загружать только trust store. |
true, false |
ssl.vault.pki.email |
Email для генерации сертификатов |
test@test.ru |
|
ssl.vault.secret.path |
Секретный путь для ключа, keystore и truststore паролей |
kv1/certstore |
|
ssl.vault.secret.key |
Secret key для пароля ключа |
key |
|
ssl.vault.secret.keystore |
Secret key для keystore пароля |
keystore |
|
ssl.vault.secret.truststore |
Secret key для truststore пароля |
truststore |
|
ssl.vault.before.expire |
PT0S |
Время до даты экспирации для обновления сертификатов. |
PT15M |
ssl.vault.alias.ca |
Псевдоним для CA сертификата в truststore |
ca |
|
ssl.vault.alias.key |
Псевдоним для ключа и сертификата в keystore |
key |
|
ssl.vault.engine.version |
2 |
Версия API для key-value машины. |
1,2 |
ssl.vault.retries |
5 |
Количество повторных попыток запроса. |
10 |
ssl.vault.retry.interval |
500 |
Интервал между попытками в миллисекундах. |
100 |
ssl.vault.timeout |
3 |
Тайм-аут запроса в секундах. |
10 |
telemetry.config.path |
Путь до файла конфигурации OpenTelemetry. |
||
healthCheck.host |
0.0.0.0 |
Хост для health check |
|
healthCheck.port |
8080 |
Порт для health check, для отключения необходимо задать значение |
|
healthCheck.changeLoggersAvailable |
false |
Возможность изменения уровня незаданных в logback логеров |
|
healthCheck.changeRootAvailable |
false |
Возможность изменения уровня root логера |
batch: {
host: localhost
port: 9090
ssl.keystore.location: "/path/to/keystore.jks"
ssl.keystore.password: "password"
ssl.truststore.location: "/path/to/truststore.jks"
ssl.truststore.password: "password"
}
Настройки задач (task)#
Название параметра |
Рекомендуемые значения параметра |
Назначение параметра |
Допустимый формат значений параметра |
|---|---|---|---|
ssl.keystore.location |
Путь до хранилища сертификатов (Настройки ssl контекста применяются, если url задачи начинается с HTTPs) |
/path/to/keystore.jks |
|
ssl.keystore.password |
Пароль от хранилища сертификатов |
keystorepassword |
|
ssl.key.password |
Пароль от ключа сертификата |
keypassword |
|
ssl.truststore.location |
Путь до хранилища доверенных сертификатов |
/path/to/truststore.jks |
|
ssl.truststore.password |
Пароль от хранилища доверенных сертификатов |
truststorepassword |
|
ssl.keystore.type |
JKS |
Тип хранилища сертификатов |
JKS |
ssl.truststore.type |
JKS |
Тип хранилища доверенных сертификатов |
JKS |
ssl.conscrypt |
true |
Использование библиотеки conscrypt |
true, false |
ssl.protocol |
TLSv1.2 |
Версия протокола |
TLSv1.3, TLSv1.2 |
ssl.endpoint.identification.algorithm |
HTTPs |
Алгоритм идентификации endpoint подключения для проверки имени host сервера с использованием сертификата сервера |
HTTPs, dn |
ssl.allowed.dn |
Список разрешенных DN сертификатов |
CN=localhost, O=test, C=RU;CN=test, O=test, C=RU |
|
ssl.allowed.dn.file |
Расположение файла со списком разрешенных DN сертификатов |
/path/to/allowed-dn.txt |
|
secret |
Значение «ru.sbt.ss.batch.secret» (если не установлено - «») |
Секрет для расшифровки паролей |
secret |
ssl.vault.address |
HashiCorp Vault URL. Если параметр задан, то сертификаты будут из Vault |
https://localhost:8200 (корректный url) |
|
ssl.vault.tls.key.password |
Пароль от приватного ключа хранилища |
vaultkeypassword |
|
ssl.vault.tls.keystore.location |
Путь до keystore хранилища |
/path/to/vault/keystore.jks |
|
ssl.vault.tls.keystore.password |
Пароль от keystore хранилища |
vaultkeystorepassword |
|
ssl.vault.tls.truststore.location |
Путь до truststore хранилища |
/path/to/vault/truststore.jks |
|
ssl.vault.tls.truststore.password |
Пароль от truststore хранилища |
vaulttruststorepassword |
|
ssl.vault.tls.protocol |
TLSv1.2 |
Для хранилища: тип протокола ssl, который будет получен из vault. |
TLSv1.3, TLSv1.2 |
ssl.vault.tls.keystore.type |
JKS |
Формат файла keystore хранилища. Значение по умолчанию |
JKS |
ssl.vault.tls.truststore.type |
JKS |
Формат файла truststore хранилища. Значение по умолчанию |
JKS |
ssl.vault.tls.endpoint.identification.algorithm |
HTTPs |
Для хранилища: алгоритм идентификации endpoint подключения для проверки имени host сервера с использованием сертификата сервера |
HTTPs, dn |
ssl.vault.tls.conscrypt |
false |
Для хранилища: использование библиотеки conscrypt |
true, false |
ssl.vault.tls.allowed.dn |
Для хранилища: список разрешенных DN сертификатов |
CN=localhost, O=test, C=RU;CN=test, O=test, C=RU |
|
ssl.vault.tls.allowed.dn.file |
Для хранилища: расположение файла со списком разрешенных DN сертификатов |
/path/to/allowed-dn.txt |
|
ssl.vault.auth.type |
approle |
Тип аутентификации. Доступные значения: approle, token, password, cert. |
approle, token, password, cert |
ssl.vault.auth.mount |
Путь монтирования аутентификации |
path/to/mount |
|
ssl.vault.auth.role.id |
Role ID для типа аутентификации approle |
значение сгенерированное в vault |
|
ssl.vault.auth.secret.id |
Secret ID для типа аутентификации approle |
значение сгенерированное в vault |
|
ssl.vault.auth.token |
Токен для типа аутентификации token |
значение сгенерированное в vault |
|
ssl.vault.auth.username |
Имя пользователя для аутентификации типа password |
username |
|
ssl.vault.auth.password |
Пароль для аутентификации типа password |
userpassword |
|
ssl.vault.tls.enable |
true |
Наличие защищенного соединения с HashiCorp Vault. |
true, false |
ssl.vault.namespace |
Vault namespace |
namespace |
|
ssl.vault.pki.mount |
pki |
Путь монтирования Vault PKI API. |
pki |
ssl.vault.pki.role.name |
Имя роли в PKI Engine |
rolename |
|
ssl.vault.pki.common.name |
Common name для генерации сертификатов |
CommonName |
|
ssl.vault.pki.alt.names |
Alternative names для генерации сертификатов |
AltName |
|
ssl.vault.pki.alt.ip |
Alternative ip для генерации сертификатов |
127.0.0.1 |
|
ssl.vault.pki.ttl |
TTL для генерации сертификатов |
100 |
|
ssl.vault.pki.csr |
CSR для генерации сертификатов |
сгенерированное значение csr |
|
ssl.vault.pki.trust.only |
false |
Загружать только trust store. |
true, false |
ssl.vault.secret.path |
Секретный путь для ключа, keystore и truststore паролей |
kv1/certstore |
|
ssl.vault.secret.key |
Secret key для пароля ключа |
key |
|
ssl.vault.secret.keystore |
Secret key для keystore пароля |
keystore |
|
ssl.vault.secret.truststore |
Secret key для truststore пароля |
truststore |
|
ssl.vault.before.expire |
PT0S |
Время до даты экспирации для обновления сертификатов. |
PT15M |
ssl.vault.alias.ca |
Псевдоним для CA сертификата в truststore |
ca |
|
ssl.vault.alias.key |
Псевдоним для ключа и сертификата в keystore |
key |
|
ssl.vault.engine.version |
2 |
Версия API для key-value машины. |
1, 2 |
ssl.vault.retries |
5 |
Количество повторных попыток запроса. |
10 |
ssl.vault.retry.interval |
500 |
Интервал между попытками в миллисекундах. |
100 |
ssl.vault.timeout |
3 |
Тайм-аут запроса в секундах. |
10 |
Настройки кластера акторов. Настройка для создания кластера (pekko)#
Название параметра |
Рекомендуемые значения параметра |
Назначение параметра |
Допустимый формат значений параметра |
|---|---|---|---|
cluster.config.source |
classpath |
Тип источника файла конфигурации кластера акторов |
file,classpath |
cluster.config.path |
Путь до файла конфигурации кластера акторов, который объединяется с конфигурацией системы акторов кластера по умолчанию |
/path/to/cluster-default.conf |
|
cluster.timeout |
10000 |
Тайм-аут обращения к распределенному хранилищу кластера акторов |
20000 |
pekko: {
cluster.config.source: file
cluster.config.path: /path/to/cluster-default.conf
}
Настройки quartz. Настройка для работы с базой данных (quartz)#
Используется для настройки quartz, могут быть переданы следующие настройки
Для работы с базой данных, необходимо указать следующие настройки:
Название параметра |
Рекомендуемые значения параметра |
Назначение параметра |
Допустимый формат значений параметра |
|---|---|---|---|
org.quartz.threadPool.class |
org.quartz.simpl.SimpleThreadPool |
Класс ThreadPool, который будет использоваться. |
org.quartz.simpl.SimpleThreadPool |
org.quartz.threadPool.threadCount |
-1 |
Количество потоков |
1 |
org.quartz.jobStore.class |
Селектор JobStore |
org.quartz.impl.jdbcjobstore.JobStoreTX |
|
org.quartz.jobStore.dataSource |
Значением этого свойства должно быть имя одного из источников данных, определенных в файле свойств конфигурации. |
quartzDataSource |
|
org.quartz.jobStore.tablePrefix |
QRTZ_ |
Строка, равная префиксу, присвоенному таблицам Quartz, которые были созданы в вашей базе данных. У вас может быть несколько наборов таблиц Quartz в одной базе данных, если они используют разные префиксы таблиц. |
QRTZ_ |
org.quartz.jobStore.driverDelegateClass |
Конкретный ‘диалект’ различных систем баз данных. |
org.quartz.impl.jdbcjobstore.PostgreSQLDelegate |
|
org.quartz.dataSource.NAME.driver |
(Вместо NAME указывается значение переданное в «org.quartz.jobStore.dataSource») Имя класса java драйвера JDBC для используемой базы данных. |
org.postgresql.Driver |
|
org.quartz.dataSource.NAME.URL |
(Вместо NAME указывается значение переданное в «org.quartz.jobStore.dataSource») URL-адрес подключения (хост, порт и т.д.) для подключения к используемой базе данных. При подключении с использованием ssl возможна передача аргументов аналогичным образом, как и в блоке «batch». Для этого в url необходимо передать параметр sslfactory=ru.sbt.ss.batch.utils.DatabaseSslFactory |
jdbc:postgresql://localhost:5432/batch |
|
org.quartz.dataSource.NAME.user |
(Вместо NAME указывается значение переданное в «org.quartz.jobStore.dataSource») Имя пользователя для подключения к используемой базе данных. |
username |
|
org.quartz.dataSource.NAME.password |
(Вместо NAME указывается значение переданное в «org.quartz.jobStore.dataSource») Пароль для подключения к используемой базе данных. |
password |
|
secret |
Значение «ru.sbt.ss.batch.secret» (если не установлено - «») |
Секрет для расшифровки паролей |
secret |
Пример для работы с postgre#
quartz: {
org.quartz.threadPool.class: "org.quartz.simpl.SimpleThreadPool"
org.quartz.threadPool.threadCount: "1"
secret: "secret"
# Database properties
org.quartz.jobStore.class: "org.quartz.impl.jdbcjobstore.JobStoreTX"
org.quartz.jobStore.dataSource: "quartzDataSource"
org.quartz.jobStore.tablePrefix: "QRTZ_"
org.quartz.jobStore.driverDelegateClass: "org.quartz.impl.jdbcjobstore.PostgreSQLDelegate"
org.quartz.dataSource.quartzDataSource.driver: "org.postgresql.Driver"
org.quartz.dataSource.quartzDataSource.URL: "jdbc:postgresql://localhost:5432/batch"
org.quartz.dataSource.quartzDataSource.user: "user"
org.quartz.dataSource.quartzDataSource.password: "password"
}
Настройки хранилища (storage)#
Название параметра |
Назначение параметра |
|---|---|
type |
Тип хранилища (Kafka) |
topic |
Имя используемого топика |
bootstrap.servers и тд |
Настройки подключения к транспорту |
Пример настройки хранилища#
storage: {
type: kafka
bootstrap.servers: "localhost:9092"
group.id: "test-group"
auto.offset.reset: "earliest"
topic: "test"
}
Настройки хранилища для компактного топика (storage)#
Название параметра |
Назначение параметра |
|---|---|
type |
Тип хранилища (compactKafka) |
topic |
Имя используемого топика |
timeout |
Тайм-аут для клиента Kafka |
bootstrap.servers и тд |
Настройки подключения к транспорту |
Пример настройки хранилища для компактного топика#
storage: {
type: compactKafka
topic: "test"
timeout: 10000
bootstrap.servers: "localhost:9092"
group.id: "test-group"
auto.offset.reset: "earliest"
}
Пример конфигурационного файла batch.conf#
Пример конфигурационного файла batch.conf представлен в файле example_batch_conf.
Правила эксплуатации#
Специфичных настроек программно-аппаратных средств защиты информации, среды функционирования и используемых смежных продуктов не требуется, кроме тех, что указаны в документе «Руководство по установке».