.. _smev_ql_config: Конфигурирование сервера ^^^^^^^^^^^^^^^^^^^^^^^^^^ Конфигурирование СМЭВ QL сервера выполняется путем изменения параметров настроек, определенных в файлах ``credentials.yaml`` и ``application.yaml``. - **application.yaml** - конфигурирует поведение сервера; - **credentials.yaml** - конфигурирует представление сервера. Конфигурация файла application.yml #################################### .. code-block:: yaml ktor: deployment: port: "$PORT:8080" application: modules: - ru.gov.digital.smevql.ApplicationKt.mainModule sources: directory: "$SOURCES_DIR:sources" models: directory: "$MODELS_DIR:models" states: directory: "$STATES_DIR:states" regulated-query: directory: "$QUERIES_DIR:queries" swagger: file: smevql-openapi.yaml # путь к файлу openapi спецификации servers: - "http://127.0.0.1:8080/smevql/api/v1" storage: # Блок параметров хранения информации adapter: prostore # postgres|prostore (по умолчанию) pool: # Настройка подключений - host: 127.0.0.1 port: 6379 database: "smevql" # Имя БД для адаптера postgres. Для адаптера prostore - имя датамарта schema: "public" # схема БД, используется для адаптера postgres data-sources: [] # используется для адаптера prostore migration: enabled: true host: 127.0.0.1 port: 5432 database: "smevql" schema: "public" user: "postgres" # Пользователь для подключения к postgres password: "postgres" # Пароль max-pool-size: 20 # Максимальный размер пула соединений user: "" # Пользователь для подключения к postgres|prostore password: "" # Пароль idle-timeout: 5m # Таймаут неиспользуемого соединения в пуле, после которого соединение закрывается access: # Блок настроек доступа к выполнению операций чтения данных и операций стейтмашины. Допускается задание черного или белого списка black-list: [ ] # Указывает список потребителей, для которых доступ запрещен white-list: [ ] # Указывает список потребителей, для которых доступ разрешен request: strategy: delegate # Стратегия исполнения запросов delegate|atomic timeout: 20s # Таймаут исполнения запросов base-path: smevql/api/v1 # Префикс для всех роутов max-nested-level: 5 # Предельная вложенность запрашиваемых ресурсов omit-empty-array: false # Настройка, позволяющая исключить пустые строки массовов из ответа pagination: default: 100 # Количество элементов на странице по умолчанию max: 1000 # Максимальное количество элементов на странице logging: long: duration: 20s # Продолжительность исполнения запросов к источникам, выше которой необходимо производить логирование percentage: 100 # Процент логирования длительных запросов к источникам. Допустимо использовать вещественные числа, например, 0.1 - только каждый тысячный долгий запрос limits: # Блок параметров конфигурации лимитов enabled: true # флаг влюкчения проверок лимитов total: # Параметры по всем запросам value: 500000 # Общее число запросов в период времени period: 1D # Период лимитирования mnemonic: # Блок настроек лимитирования по потребителям value: 5000 # Число запросов в период времени period: 1D # Период лимитирования purpose: # Блок настроек лимитирования по целям value: 5000 # Число запросов в период времени period: 1D # Период лимитирования user: # Блок настроек лимитирования по пользователям value: 1000 # Число запросов в период времени period: 1D # Период лимитирования records-ttl: day: 1M # Период хранения дневной статистики week: 1M # Период хранения статистики за неделю month: 1Y # Период хранения статистики за месяц year: 2Y # Период хранения статистики за год async: # Блок настроек асинхронного выполнения запросов request-in: 10s # Значение интервала опроса получения данных асинхронного результата. Выдается в качестве значения атрибута request_in на запрос получения данных read-timeout: 5m # Таймаут вычитывания асинхронных данных из источников. Используется для источников с типом smevql, если была возвращена информация по асинхронным результатам delta: commit-interval: 60s # Интервал фиксации дельты источника при изменении данных force-commit-interval: 30m # Интервал принудительной фиксации дельт всех источников state: max-nested-event: 5 # Максимально допустимая вложенность связанных переходов стейт машины max-updated-rows: 1 # Максимальное количество обновляемых строк при событии стейт машины index-recommendations: # Рекомендации по аналитике enabled: true # Флаг включения формирования рекомендаций period: 7D # Период формирования. 7 дней concurrency: 10 # Количество параллельных корутин сохранения статистики # Массив описания standalone таблиц standalone-tables: [ ] # Пример описания # standalone-tables: # - readable-table: "misdm05.readable_book" # writable-table: "misdm05.writable_book" # anchor: "update_at" # soft-delete: "delete_at" # Массив описания proxy таблиц proxy-tables: [ ] # Пример описания # proxy-tables: # - table: "misdm05.notebook" # anchor: "update_at" # soft-delete: "delete_at" push: # Настройки отправки push уведомлений notification-path: "/{target}/push/notify" # Шаблон пути агента, на который необходимо отправлять нотификации request-timeout: 1m # Таймаут на исполнение http запроса на доставку push уведомления потребителю state-machine-enabled: false # Признак публикации нотификаций на основе событий стейт машины status-prostore-enabled: true # Признак публикации нотификаций на основе событий статусов Простора prostore: type: KAFKA # KAFKA | HTTP status-event-topic: topic: "$PS_STATUS_EVENT_TOPIC:status.event" property: bootstrap.servers: "$PS_KAFKA:localhost:9092" group.id: smevql-server-status-event auto.offset.reset: earliest queue: lock-check-interval: 30s lock-timeout: 5m retry: max-attempts: 3 # Количество попыток отправки нотификации min-period: 5s # Минимальный период ожидания перед повторной попыткой max-period: 10s # Максимальный период ожидания перед повторной попыткой queue: max-attempts: 30 # Количество попыток отправки уведомлений из персистентной очереди min-period: 1m # Минимальный период ожидания перед повторной попыткой отправки уведомления из персистентной очереди max-period: 3m # Максимальный период ожидания перед повторной попыткой отправки уведомления из персистентной очереди scan-waiting-period: 1m # Период сканирования отложенных уведомлений process: check-expired-period: 5m # Период проверки уведомлений взятых в работу и просроченных timeout: 5m # Предельное время обработки уведомления из очереди poisoned: check-expired-period: 1h # Период проверки времени жизни "отравленных" уведомлений timeout: 7d # Время хранения уведомлений в poisoned-очереди agent: # Параметры конфигурирования агента ПОДД host: 127.0.0.1 # Хост агента port: 8171 # Порт приема api-gateway запросов mnemonic: "" # Мнемоника агента signature: # Блок настроек механизма подписания enabled: true # Признак включения подписания и проверки подписи validate-enabled: false # Признак предоставления дополнительного URL проверки подписи algorithm: "GOST3410_2012_256" # Алгоритм формирования подписи serial-number: "" # Серийный номер ключа подписи alias: "" # Алиас ключа. Заполняется либо серийный номер, либо алиас notarius: # Блок настроек сервиса Notaris, используемый для подписания host: localhost # Хост, на котором доступен Notaris port: 8080 # Порт, на котором доступен Notaris cls: # Конфигурация отправки событий в СЦЛ enabled: false # Признак включения отправки событий в СЦЛ url: "http://127.0.0.1:8192/api/v1/cls/event" # Адрес для отправки событий СЦЛ # Настройки модуля сбора информации о компонентах витрины component-info: enabled: true # Источник в папке задаваемой настройкой ${sources.directory} source: prostore # Массив датасорсов типа ADP Prostore, которые нужно использовать для хранения данных о компоненте datasource: [] # Схема Prostore datamart: component_info # Имя таблицы для записи информации о компоненте table-name: component_info # Период попыток создания схемы, при неуспехе create-table-period: 60s # Период публикации health-check publish-period: 60s # Период после которого компонент считается неактивным при отсутствии health-check timeout-active: 300s # Список элементов конфига маскируемых при отправке, # если указан узловой элемент, то маскируются все вложенные в него элементы secrets: - storage.user - storage.password - storage-queue.user s3: enabled: "$S3_ENABLED:false" endpoint: "$S3_ENDPOINT:http://127.0.0.1:9000/" bucket: "$S3_BUCKET:smevql" # Имя бакета region: "$S3_REGION:us-west-2" access-key: "$S3_USER:minioadmin" # Пользователь, под которым происходит взаимодействие с s3 secret-key: "$S3_PASSWORD:minioadmin" # Пароль пользователя для взаимодействия с s3 Настройка конфигурации СМЭВ QL Сервера осуществляется путем редактирования параметров настроек в файле ``application.yml``, в котором могут быть настроены следующие секции: - ``ktor`` - настройки подключения фреймворка Ktor; - ``sources`` - определение директории хранения источников; - ``models`` - определение директории хранения моделей; - ``states`` - определение директории хранения состояний; - ``regulated-query`` - определение директории хранения регламентированных запросов; - ``swagger`` - настройка файла openapi спецификации; - ``storage`` - управление подключением к внутреннему хранилищу данных СМЭВ-QL; - ``access`` - блок настроек доступа к выполнению операций чтения данных и операций стейт-машины; - ``request`` - блок настроек исполнения запросов; - ``delta`` - управление принудительными коммитами дельт витрин данных; - ``state`` - установка ограничений в машинах-состояний; - ``index_recommendations`` - рекомендации по аналитике; - ``standalone-tables`` - массив описания standalone таблиц; - ``proxy-tables``- массив описания proxy таблиц; - ``push`` - настройки отправки push уведомлений; - ``storage-queue`` - настройки хранилища очередей; - ``agent`` - Параметры конфигурирования агента СМЭВ4; - ``signature`` - блок настроек механизма подписания; - ``cls`` - конфигурация отправки событий в СЦЛ; - ``component-info`` - настройки модуля сбора информации о компонентах витрины; - ``s3`` - настройки взаимодействия с s3. Секция ktor """""""""""""""" В секции ``ktor`` настраивается параметры подключения фреймворка Ktor, например: .. code-block:: yaml ktor: deployment: port: "$PORT:8080" application: modules: - ru.gov.digital.smevql.ApplicationKt.mainModule **Параметры конфигурации** - ``port`` - порт хоста развертывания фреймворка; - ``modules`` - модули приложения. Секция sources """""""""""""""" В секции ``sources`` определяется директория хранения источников, например: .. code-block:: yaml sources: directory: "$SOURCES_DIR:sources" models: directory: "$MODELS_DIR:models" states: directory: "$STATES_DIR:states" regulated-query: directory: "$QUERIES_DIR:queries" **Параметры конфигурации** - ``sources.directory`` - директория хранения источников; - ``models.directory`` - директория хранения моделей; - ``states.directory`` - директория хранения состояний; - ``regulated-query.directory`` - директория хранения регламентированных запросов; Секция swagger """""""""""""""" В секции ``swagger`` хранится настройка файла openapi спецификации, например: .. code-block:: yaml swagger: file: smevql-openapi.yaml servers: - "http://127.0.0.1:8080/smevql/api/v1" **Параметры конфигурации** - ``file`` - путь к файлу openapi спецификации; - ``servers`` - адрес сервера. Секция storage """""""""""""""" В секции ``storage`` настраиваются параметры хранения информации, например: .. code-block:: yaml storage: # Блок параметров хранения информации adapter: prostore # postgres|prostore pool: # Настройка подключений - host: 127.0.0.1 port: 6379 database: "smevql" # Имя БД для адаптера postgres. Для адаптера prostore - имя датамарта schema: "public" # схема БД, используется для адаптера postgres data-sources: [] # используется для адаптера prostore migration: enabled: true host: 127.0.0.1 port: 5432 database: "smevql" schema: "public" user: "postgres" # Пользователь для подключения к postgres password: "postgres" # Пароль max-pool-size: 20 # Максимальный размер пула соединений user: "" # Пользователь для подключения к postgres|prostore password: "" # Пароль idle-timeout: 5m # Тайм-аут неиспользуемого соединения в пуле, после которого соединение закрывается **Параметры конфигурации** - ``adapter`` - система хранения данных; - ``pool`` - настройка подключений; - ``host`` - адрес хоста; - ``port`` - порт хоста; - ``database`` - имя БД для адаптера Postgres, для адаптера Prostore - имя датамарта; - ``schema`` - схема БД, используется для адаптера Postgres; - ``data-sources`` - массив датасорсов, используется для адаптера Prostore; - ``migration`` - настройки миграции; - ``enabled`` - признак включения/отключения миграций; - ``database`` - имя БД для адаптера Postgres, для адаптера Prostore - имя датамарта; - ``schema`` - схема БД, используется для адаптера Postgres; ``user`` - имя пользователя для подключения к Postgres; ``password`` - пароль пользователя - ``max_pool_size`` - максимальный размер пула соединений; - ``user`` - имя пользователя для авторизации в системе хранения данных; - ``password`` - пароль для авторизации в системе хранения данных; - ``idle-timeout`` - тайм-аут неиспользуемого соединения в пуле, после которого соединение закрывается. Секция access """"""""""""""""""" В секции ``access`` настраивается доступ к выполнению операций чтения данных и операций стейт-машины. Допускается задание черного или белого списка. Например: .. code-block:: yaml access: # Блок настроек доступа к выполнению операций чтения данных и операций стейтмашины. Допускается задание черного или белого списка black_list: [ ] # Указывает список потребителей, для которых доступ запрещен white_list: [ ] # Указывает список потребителей, для которых доступ разрешен **Параметры конфигурации** - ``black_list`` - перечень мнемоник ИС Потребителей, которым запрещен доступ к СМЭВ QL. **Не заполняется, если заполнен white_list!** - ``white_list`` - перечень мнемоник ИС Потребителей, которым разрешен доступ к СМЭВ QL. **Не заполняется, если заполнен black_list!** Секция request """"""""""""""""" В секции ``request`` хранятся настройки исполнения запросов, например: .. code-block:: yaml request: strategy: delegate # Стратегия исполнения запросов delegate|atomic timeout: 20s # Таймаут исполнения запросов base-path: smevql/api/v1 # Префикс для всех роутов max-nested-level: 5 # Предельная вложенность запрашиваемых ресурсов omit-empty-array: false # Настройка, позволяющая исключить пустые строки массовов из ответа pagination: default: 100 # Количество элементов на странице по умолчанию max: 1000 # Максимальное количество элементов на странице logging: long: duration: 20s # Продолжительность исполнения запросов к источникам, выше которой необходимо производить логирование percentage: 100 # Процент логирования длительных запросов к источникам. Допустимо использовать вещественные числа, например, 0.1 - только каждый тысячный долгий запрос limits: # Блок параметров конфигурации лимитов enabled: true # флаг влюкчения проверок лимитов total: # Параметры по всем запросам value: 500000 # Общее число запросов в период времени period: 1D # Период лимитирования mnemonic: # Блок настроек лимитирования по потребителям value: 5000 # Число запросов в период времени period: 1D # Период лимитирования purpose: # Блок настроек лимитирования по целям value: 5000 # Число запросов в период времени period: 1D # Период лимитирования user: # Блок настроек лимитирования по пользователям value: 1000 # Число запросов в период времени period: 1D # Период лимитирования records-ttl: day: 1M # Период хранения дневной статистики week: 1M # Период хранения статистики за неделю month: 1Y # Период хранения статистики за месяц year: 2Y # Период хранения статистики за год async: # Блок настроек асинхронного выполнения запросов request-in: 10s # Значение интервала опроса получения данных асинхронного результата. Выдается в качестве значения атрибута request_in на запрос получения данных read-timeout: 5m # Таймаут вычитывания асинхронных данных из источников. Используется для источников с типом smevql, если была возвращена информация по асинхронным результатам **Параметры конфигурации** - ``strategy`` - стратегия исполнения запросов ``delegate`` | ``atomic``; - ``timeout`` - таймаут исполнения запросов; - ``base_path`` - префикс для роута запросов. Например, ``smevql/api/v1``; - ``max_nested_level`` - предельная вложенность запрашиваемых ресурсов; - ``omit-empty-array`` - настройка, позволяющая исключить пустые строки массивов из ответа; - ``pagination`` - управление количеством элементов при ответе. Содержит следующие атрибуты: - ``default`` - количество элементов на странице по умолчанию; - ``max`` - максимальное количество элементов на странице; - ``logging`` - управление логированием "долгих" запросов. Содержит следующие атрибуты: - ``duration`` - продолжительность исполнения запросов к источникам, выше которой необходимо производить логирование. Например: ``20s``; - ``percentage`` - процент логирования длительных запросов к источникам. Допустимо использовать вещественные числа, например, ``0.1`` - только каждый тысячный долгий запрос; - ``limits`` - установка ограничений на количество запросов. Содержит следующие атрибуты: - ``total`` - общее допустимое количество запросов к серверу: - ``value`` - целочисленное значение количества запросов, например: ``1000``; - ``period`` - на какой период устанавливается ограничение, например: 1D (на сутки) - ``mnemonic`` - допустимое для одного потребителя данных количество запросов к серверу: - ``value`` - целочисленное значение количества запросов, например: ``100``; - ``period`` - на какой период устанавливается ограничение, например: ``1D`` (на сутки); - ``purpose`` - допустимое количество запросов к одному ресурсу (таблице, объекту); - ``value`` - целочисленное значение количества запросов, например: ``100``; - ``period`` - на какой период устанавливается ограничение, например: ``1D`` (на сутки); - ``user`` - допустимое количество запросов для пользователя: - ``value`` - целочисленное значение количества запросов, например: ``100``; - ``period`` - на какой период устанавливается ограничение, например: ``1D`` (на сутки); - ``records_ttl`` - настройка хранения статистики по лимитам: - ``day: 1M`` - период хранения дневной статистики; - ``week: 1M`` - период хранения статистики за неделю; - ``month: 1Y`` - период хранения статистики за месяц; - ``year: 2Y``- период хранения статистики за год; - ``async`` - блок настроек асинхронного выполнения запросов. Содержит следующие атрибуты: - ``request_in`` - значение интервала опроса получения данных асинхронного результата. Выдается в качестве значения атрибута request_in на запрос получения данных; - ``read_timeout`` - таймаут вычитывания асинхронных данных из источников. Используется для источников с типом smevql, если была возвращена информация по асинхронным результатам Секция delta """"""""""""""" В секции ``delta`` настраивается управление принудительными коммитами дельт витрин данных. Например: .. code-block:: yaml delta: commit_interval: 60s # Интервал фиксации дельты источника при изменении данных force_commit_interval: 30m # Интервал принудительной фиксации дельт всех источников **Параметры конфигурации** - ``commit_interval`` - интервал фиксации дельты источника при изменении данных, например 60s; - ``force_commit_interval`` - интервал принудительной фиксации дельт всех источников, например 30s. Если ``commit_interval: 0`` и ``force_commit_interval: 0``, то для добавления/изменения/удаления данных в Prostore не используется механизм открытия и закрытия дельт, а данные меняются прямым запросом. При этом возникают следующие ограничения: - в бекап текущей реализации данные, софрмированные вне дельт, не попадают; - в результаты запросов к материализованным представлениям данные, софрмированные вне дельт, не попадают; - в рамках подписок данные, софрмированные вне дельт, не передаются. Секция state """"""""""""""" В секции ``state`` устанавливаются ограничения в стейт-машинах. Например: .. code-block:: yaml state: max_nested_event: 5 # Максимально допустимая вложенность связанных переходов стейт машины max_updated_rows: 1 # Максимальное количество обновляемых строк при событии стейт машины **Параметры конфигурации** - ``max_nested_event`` - максимально допустимая вложенность связанных переходов стейт-машины, например 5; - ``max_updated_rows`` - максимальное количество обновляемых строк при событии стейт-машины, например 1. Секция index_recommendations """"""""""""""""""""""""""""""" В секции ``index_recommendations`` настраиваются рекомендации по аналитике, например: .. code-block:: yaml index-recommendations: # Рекомендации по аналитике enabled: true # Флаг включения формирования рекомендаций period: 7D # Период формирования. 7 дней concurrency: 10 # Количество параллельных корутин сохранения статистики **Параметры конфигурации** - ``enabled`` - флаг включения формирования рекомендаций; - ``period`` - устанавливается период формирования аналитики, например 7 дней; - ``concurrency`` - количество параллельных корутин сохранения статистики Секция standalone-tables """""""""""""""""""""""""""""" В секции ``standalone-tables`` настраиваются данные standalone таблиц. Например: .. code-block:: yaml # Массив описания standalone таблиц standalone-tables: [ ] # Пример описания # standalone-tables: # - readable-table: "misdm05.readable_book" # writable-table: "misdm05.writable_book" # anchor: "update_at" # soft-delete: "delete_at" **Параметры конфигурации** - ``readable-table`` - название readable таблицы; - ``writable-table`` - название writable таблицы; - ``anchor`` - название атрибута, характеризующего дату и время последнего изменения данных в нетемпоральной таблице; - ``soft-delete`` - название атрибута, характеризующего дату и время удаления данных в нетемпоральной таблице. Секция proxy-tables """""""""""""""""""""""""""""" В секции ``proxy-tables`` настраиваются данные прокси-таблиц. Например: .. code-block:: yaml # Массив описания proxy таблиц proxy-tables: [ ] # Пример описания # proxy-tables: # - table: "misdm05.notebook" # anchor: "update_at" # soft-delete: "delete_at" **Параметры конфигурации** - ``table`` - название прокси таблицы; - ``anchor`` - название атрибута характеризующего дату и время последнего изменения данных в нетемпоральной прокси таблице; - ``soft-delete`` - название атрибута характеризующего дату и время удаления данных в нетемпоральной прокси таблице. Секция push """"""""""""" В секции ``push`` содержатся настройки сервиса формирования push-уведомлений. Например: .. code-block:: yaml push: # Настройки отправки push уведомлений notification-path: "/{target}/push/notify" # Шаблон пути агента, на который необходимо отправлять нотификации request-timeout: 1m # Таймаут на исполнение http запроса на доставку push уведомления потребителю state-machine-enabled: false # Признак публикации нотификаций на основе событий стейт машины status-prostore-enabled: true # Признак публикации нотификаций на основе событий статусов Простора prostore: type: KAFKA # KAFKA | HTTP status-event-topic: topic: "$PS_STATUS_EVENT_TOPIC:status.event" property: bootstrap.servers: "$PS_KAFKA:localhost:9092" group.id: smevql-server-status-event auto.offset.reset: earliest queue: lock-check-interval: 30s lock-timeout: 5m retry: max-attempts: 30 # Количество попыток отправки нотификации min-period: 5s # Минимальный период ожидания перед повторной попыткой max-period: 10s # Максимальный период ожидания перед повторной попыткой queue: max-attempts: 30 # Количество попыток отправки уведомлений из персистентной очереди min-period: 1m # Минимальный период ожидания перед повторной попыткой отправки уведомления из персистентной очереди max-period: 3m # Максимальный период ожидания перед повторной попыткой отправки уведомления из персистентной очереди scan-waiting-period: 1m # Период сканирования отложенных уведомлений process: check-expired-period: 5m # Период проверки уведомлений взятых в работу и просроченных timeout: 5m # Предельное время обработки уведомления из очереди poisoned: check-expired-period: 1h # Период проверки времени жизни "отравленных" уведомлений timeout: 7d # Время хранения уведомлений в poisoned-очереди **Параметры конфигурации** - ``notification_path`` - шаблон пути агента, на который необходимо отправлять нотификации; - ``request-timeout`` - таймаут на исполнение HTTP запроса на доставку push уведомления потребителю; - ``state_machine_enabled`` - признак публикации нотификаций на основе событий стейт-машины; - ``status-prostore-enabled`` - признак публикации нотификаций на основе событий статусов Prostore; - ``prostore`` - настройки Prostore; - ``retry`` - настройки попыток отправок нотификаций. Секция agent """"""""""""" В секции ``agent`` указываются параметры подключения к Агенту СМЭВ4 поставщика, например: .. code-block:: yaml agent: # Параметры конфигурирования агента СМЭВ4 host: 127.0.0.1 # Хост агента port: 8171 # Порт приема api-gateway запросов mnemonic: "" # Мнемоника агента **Параметры конфигурации** - ``host`` - хост агента; - ``port`` - порт приема api-gateway запросов; - ``mnemonic`` - мнемоника агента СМЭВ4. Секция signature """"""""""""""""" В секции ``signature`` настраивается управление механизмом цифровой подписи. Например: .. code-block:: yaml signature: # Блок настроек механизма подписания enabled: true # Признак включения подписания и проверки подписи validate_enabled: false # Признак предоставления дополнительного URL проверки подписи algorithm: "GOST3410_2012_256" # Алгоритм формирования подписи serial_number: "" # Серийный номер ключа подписи alias: "" # Алиас ключа. Заполняется либо серийный номер, либо алиас notarius: # Блок настроек сервиса Notaris, используемый для подписания host: localhost # Хост, на котором доступен Notaris port: 8080 # Порт, на котором доступен Notaris **Параметры конфигурации** - ``enable`` - включение (true), отключение (false) подписи ответов и проверки подписей других источников; - ``validate_enabled`` - признак предоставления дополнительного URL проверки подписи (доступность вызова REST-метода проверки подписи); - ``algorithm`` - алгоритм формирования подписи. На текущий момент доступен только GOST3410_2012_256; - ``serial_number`` - серийный номер ключа подписи; - ``alias`` - алиас ключа, заполняется либо серийный номер, либо алиас; - ``notarius`` - настройки подключения (host и port) к модулю криптографии notarius. Секция cls """"""""""""""""" В секции ``signature`` настраивается конфигурация отправки событий в СЦЛ, например: .. code-block:: yaml cls: enabled: false url: "http://127.0.0.1:8192/api/v1/cls/event" **Параметры конфигурации** - ``enable`` - включение (true), отключение (false) отправки событий в СЦЛ; - ``url`` - эндпоинт отправки событий; Секция component-info """"""""""""""""""""""""""""""""" В секции ``component-info`` указываются настройки модуля сбора информации о компонентах витрины. Например: .. code-block:: yaml # Настройки модуля сбора информации о компонентах витрины component-info: enabled: true # Источник в папке задаваемой настройкой ${sources.directory} source: prostore # DataSource Prostore datasource: [] # Схема Prostore datamart: component_info # Имя таблицы для записи информации о компоненте table-name: component_info # Период попыток создания схемы, при неуспехе create-table-period: 60s # Период публикации health-check publish-period: 60s # Период после которого компонент считается неактивным при отсутствии health-check timeout-active: 300s # Список элементов конфига маскируемых при отправке, # если указан узловой элемент, то маскируются все вложенные в него элементы secrets: - storage.user - storage.password **Параметры настроек** - ``enabled`` - статус подключения компонента, указывается булево значение; - ``datasource`` - массив датасорсов типа ADP Prostore, которые нужно использовать для хранения данных о компоненте; - ``datamart`` - схема Prostore; - ``table-name`` - имя таблицы для записи информации о компоненте; - ``create-table-period`` - период попыток создания схемы, при неуспехе, указывается в секундах; - ``publish-period`` - период публикации health-check, указывается в секундах; - ``timeout-active`` - период после которого компонент считается неактивным при отсутствии health-check, указывается в секундах; - ``secrets`` - список элементов конфига маскируемых при отправке, если указан узловой элемент, то маскируются все вложенные в него элементы. Конфигурация файла credentials.yml ################################### .. code-block:: yaml version: 1.0.0 system: mnemonic: smev_ql_mnemonic instance: smev_ql_instance **Параметры конфигурации** - ``version`` - номер версии СМЭВ QL; - ``mnemonic`` - мнемоника СМЭВ QL, по этому параметру осуществляется идентификация СМЭВ QL сервер во внешних системах и СМЭВ4; - ``instance`` - наименование инстанса СМЭВ QL. Общий сценарий выполнения ################################# 1. Администратор системы открывает на редактирование нужный файл (``credentials.yaml`` и/или ``application.yaml``) настроек СМЭВ QL сервер и меняет требуемые параметры. 2. Перезапускает приложение для применения новых настроек. Для этого открывает консоль утилиты работы со СМЭВ QL и выполняет команду: .. code-block:: bash ./smevql restart