Установка#
Состав дистрибутива#
Объект |
Тип |
Описание |
|---|---|---|
package/bh |
директория |
Директория с jar файлами |
package/pl |
директория |
Директория с Frontend файлами |
package/docker |
директория |
Директория с docker файлами |
eureka-server-app.jar |
файл |
Приложение для поиска необходимых микросервисов |
mock-core-app.jar |
файл |
Приложение для работы с Groovy-скриптами в заглушках |
mock-audit-app.jar |
файл |
Приложение для работы аудита |
mock-cloud.jar |
файл |
Приложение для взаимодействия frontend и backend-сервисов |
mock-rest-cloud-app.jar |
файл |
Приложение для вызова REST-эмуляций |
mock-kafka-app.jar |
файл |
Приложение для вызова Kafka-эмуляций |
mock-esb-ibm-app.jar |
файл |
Приложение для вызова ActiveMQ Artemis-эмуляций |
mock-audit.service |
файл |
Пример конфигурационного файла |
mock-core-app.service |
файл |
Пример конфигурационного файла |
mock-cloud.service |
файл |
Пример конфигурационного файла |
mock-core-app.service |
файл |
Пример конфигурационного файла |
nginx.conf |
файл |
Пример конфигурационного файла |
upstream.conf |
файл |
Пример конфигурационного файла |
Подготовка к установке#
Перед началом установки выполните следующие действия:
Подготовьте чек-листы переменных запуска и работ по установке.
Убедитесь в корректности заполненных и переопределенных переменных.
Чек-лист переменных для Mock-core-app#
Переменная |
Значение по умолчанию |
Необходимость переопределения |
Описание |
|---|---|---|---|
server.port |
|
Нет |
Порт для работы приложения |
mock.core.nexus.username |
- |
Да |
ТУЗ Docker-nexus |
mock.core.nexus.password |
- |
Да |
ТУЗ Docker-nexus |
mock.core.nexus.urls |
- |
Да |
URL-адреса Docker-nexus, разделенные запятыми без пробелов (например, |
mock.core.groovy.timeout-seconds |
|
Нет |
Таймаут для потоков, исполняющих Groovy-скрипт |
mock.core.groovy.allow-network |
|
Нет |
Позволяет запретить сетевые соединения из Groovy-скриптов |
mock.mmt-client.allow-mmt-policy |
|
Нет |
Включает/выключает расширенные полномочия, необходимые для клиентских вызовов MMT |
mock.core.fixedDelayLimit |
|
Нет |
Лимит задержки ответа эмуляции |
eureka.client.serviceUrl.defaultZonet |
|
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
mock.core.healthcheck.nexus |
|
Если известно, что Nexus недоступен, установите значение |
Определяет необходимость проверки доступности при старте приложения. Необходим для проверки корректности настроек доступа к Docker-nexus и доступности самого Docker-nexus. |
Чек-лист переменных для Mock-cloud#
Переменная |
Значение по умолчанию |
Необходимость переопределения |
Описание |
|---|---|---|---|
db.server |
- |
Да |
IP-адрес сервера PostgreSQL |
db.port |
- |
Да |
Порт, по которому будет доступна PostgreSQL |
db.instance |
- |
Да |
Имя базы данных |
db.schema |
- |
Да |
Имя схемы базы данных приложения |
db.user |
- |
Да |
Имя пользователя базы данных приложения |
db.password |
- |
Да |
Пароль для подключения приложения к базе данных |
db.owner-user |
- |
Да |
Пользователь базы данных, используемый Liquibase для миграции |
db.owner-password |
- |
Да |
Пароль пользователя базы данных, используемого Liquibase для миграции |
server.port |
|
Нет |
Порт, по которому будет доступен сервис mock-cloud |
mock.cloud.transport-path.mmt |
- |
Да |
Путь к транспортному приложению ММТ (например, |
mock.cloud.transport-path.rest |
- |
Да |
Путь к транспортному приложению REST (например, |
mock.cloud.transport-path.scheduled |
- |
Да |
Путь к приложению SCHEDULED APP (например, |
mock.cloud.ibm-instance-count |
|
Да |
Количество запускаемых экземпляров приложений для работы с MQ. (В текущей версии продукта не используется.) |
mock.cloud.auth.url |
|
Нет |
URL Mock для авторизации. Если значение не задано, оно будет сформировано с использованием свойства |
mock.cloud.auth.secret |
- |
Да |
Secret для проверки подписи JWT-токена. |
mock.cloud.auth.client.name |
- |
Да |
Имя клиента для авторизации в Mock. (В текущей версии продукта не используется.) |
mock.cloud.auth.client.secret |
- |
Да |
Secret клиента для авторизации в Mock. (В текущей версии продукта не используется.) |
mock.cloud.nexus.username |
- |
Да |
ТУЗ Docker-nexus |
mock.cloud.nexus.password |
- |
Да |
ТУЗ Docker-nexus |
mock.cloud.nexus.urls |
- |
Да |
Список URL-адресов Docker-nexus, разделенных запятыми без пробелов (например, |
mock.cloud.graphql.url |
|
Нет |
URL Mock для доступа к GraphQL. Если значение не задано, оно будет сформировано с использованием свойства |
eureka.client.serviceUrl.defaultZone |
|
Да |
Адреса подключения к сервису Eureka, разделенные запятой без пробелов (например, |
toggles.groovyEnable |
|
Необходимо переопределить, если меняется адрес ответа ml задачи |
Определяет доступность Groovy |
toggles.mlEnable |
|
Необходимо переопределить, если меняется адрес ответа ml задачи |
Определяет доступность ml |
mock.cloud.toggling.projectsEnable |
|
Необходимо переопределить, если нужно указать доступность создания проектных областей через публичный endpoint |
Определяет доступность публичного endpoint для создания проектных областей |
mock.cloud.toggling.mmtEnable |
|
Необходимо переопределить, если нужно указать доступность MMT заглушек |
Определяет доступность MMT заглушек. (В текущей версии продукта не используется.) |
mock.cloud.toggling.restEnable |
|
Необходимо переопределить, если нужно указать доступность REST-заглушек |
Определяет доступность REST-заглушек |
mock.cloud.toggling.esbEnable |
|
Необходимо переопределить, если нужно указать доступность ESB заглушек |
Определяет доступность ESB заглушек |
mock.cloud.toggling.metricsEnable |
|
Необходимо переопределить, если нужно отключить REST-endpoint с метриками |
Определяет доступность REST-endpoint с метриками |
mock.cloud.toggling.metricsCronEnable |
|
Необходимо переопределить, если нужно включить обновление cron метрик |
Включает/выключает обновления cron метрик |
mock.cloud.toggling.memoryThresholdEnable |
|
Необходимо переопределить, если нужно отключить проверку превышения порога свободной оперативной памяти |
Включает/выключает проверку превышения порога свободной оперативной памяти |
mock.cloud.toggling.elkAuditEnable |
|
Необходимо переопределить, если нужно отправлять сообщения в ELK-аудит |
Включает/выключает отправку сообщений в ELK-аудит |
mock.cloud.toggling.cleanupCronEnable |
|
Необходимо переопределить, если нужно отключить очистку истории вызовов эмуляции |
Включает/выключает задачи по очистке истории вызова эмуляций |
mock.cloud.toggling.publicProjectsEnable |
|
Необходимо переопределить, если нужно отключить публичные проекты |
Включает/выключает публичные проекты |
mock.cloud.toggling.use-artemis-mq |
|
Необходимо переопределить, если ESB транспорт не будет использовать ActiveMQ Artemis |
Включает конфигурацию ESB транспорта для работы с ActiveMQ Artemis. |
matomo.url |
- |
Необходимо переопределить, если нужно отслеживать действия с помощью Matomo |
Адрес сервера Matomo |
matomo.siteId |
- |
Необходимо переопределить, если нужно отслеживать действия с помощью Matomo |
Идентификатор сайта, который будет отслеживаться с помощью Matomo |
matomo.clientTrackerName |
|
Необходимо переопределить в соответствии с названием файла в Matomo |
Файл, который хранит действия по отправке данных в Matomo |
matomo.serverTrackerName |
|
Необходимо переопределить в соответствии с названием файла в Matomo |
Файл с обработкой запросов от клиента |
matomo.enabled |
|
Необходимо переопределить, если нужно указать доступность Matomo |
Определяет доступность Matomo |
cleanup.maxInRestCallHistory |
|
Необходимо переопределить, если нужно изменить максимально допустимое кол-во хранимых записей в истории вызовов REST-эмуляций |
Максимально допустимое количество записей в истории вызовов REST-эмуляций |
cleanup.maxInMmtCallHistory |
|
Необходимо переопределить, если нужно изменить максимально допустимое кол-во хранимых записей в истории вызовов MMT-эмуляций |
Максимально допустимое количество записей в истории вызовов MMT-эмуляций |
cleanup.maxInEsbCallHistory |
|
Необходимо переопределить, если нужно изменить максимально допустимое количество хранимых записей в истории вызовов ESB-эмуляций |
Максимально допустимое количество записей в истории вызовов ESB-эмуляций |
cron.cleanupEmulationCallHistory |
0 0/10 * * * ? |
Необходимо переопределить, если нужно изменить интервал между вызовами задачи, которая очищает историю вызовов эмуляций |
Интервал вызова задачи по очистке истории вызовов эмуляций |
mock.cloud.ibm-broker.host |
- |
Обязательно должно быть задано |
IP-адрес хоста, на котором MQ ожидает подключения клиентов. (В текущей версии продукта не используется.) |
mock.cloud.ibm-broker.port |
- |
Обязательно должно быть задано |
Порт, на котором MQ ожидает подключения клиентов. (В текущей версии продукта не используется.) |
mock.cloud.ibm-broker.queue-manager-name |
- |
Обязательно должно быть задано |
Имя менеджера очередей для подключения. (В текущей версии продукта не используется.) |
mock.cloud.ibm-broker.chanel-name |
- |
Обязательно должно быть задано |
Имя канала для подключения. (В текущей версии продукта не используется.) |
mock.cloud.ibm-broker.rest-username |
- |
Обязательно должно быть задано |
Имя пользователя для подключения к REST-сервису брокера MQ. (В текущей версии продукта не используется.) |
mock.cloud.ibm-broker.rest-secret |
- |
Обязательно должно быть задано |
Пароль для подключения к REST-сервису брокера MQ. (В текущей версии продукта не используется.) |
mock.cloud.keycloak.url |
- |
Обязательно должно быть задано |
Адрес Keycloak |
mock.cloud.keycloak.token-url |
- |
Необходимо задать, если изменился адрес сервиса получения пользователей |
Адрес сервиса аутентификации Keycloak |
mock.cloud.keycloak.users-url |
- |
Необходимо задать, если изменился адрес сервиса получения пользователей |
Адрес сервиса получения списка пользователей Keycloak |
mock.cloud.keycloak.client-id |
- |
Обязательно должно быть задано |
Идентификатор клиента в сервисе аутентификации |
mock.cloud.keycloak.client-secret |
- |
Нет |
Параметр аутентификации |
mock.cloud.keycloak.oauth-client-id |
|
Нет |
Идентификатор OAuth клиента в сервисе аутентификации Keycloak |
mock.cloud.keycloak.oauth-client-secret |
- |
Да |
Параметр аутентификации OAuth клиента client_secret из Keycloak |
spring.kafka.bootstrap-servers |
|
Обязательно должно быть задано |
Параметры соединения с кластером Kafka (список значений |
kafka.num-partitions |
|
Обязательно должно быть задано |
Количество разделов в создаваемых Kafka topics |
kafka.consumer.auto-offset-reset |
|
Нет |
Настройка смещения диапазона |
kafka.consumer.enable-auto-commit |
|
Нет |
Указывает, нужно ли периодически фиксировать смещения потребителя |
kafka.consumer.max-poll-records |
|
Нет |
Максимальное количество записей, возвращаемых при одном вызове |
mock.cloud.index |
- |
Да |
Уникальный целочисленный индекс приложения. Если был указан неуникальный индекс для разных экземпляров приложения, корректная работа приложения не гарантируется. Если приложение найдет в Eureka service registry другое приложение с таким же индексом, оно автоматически завершится. |
mock.cloud.transport-manager-connection-try |
|
Нет |
Количество попыток поиска сервиса в Eureka service registry |
mock.cloud.transport-manager-connection-wait |
|
Нет |
Временной интервал между попытками поиска сервиса в Eureka service registry в миллисекундах |
mock.cloud.transport-manager-process-respawn-interval |
|
Нет |
Временной интервал между попытками повторного перезапуска процесса транспортного приложения в миллисекундах |
mock.cloud.transport-manager-process-terminate-await |
|
Нет |
Временной интервал ожидания остановки процесса транспортного приложения при перезапуске в миллисекундах |
mock.cloud.transport-manager-memory-threshold |
- |
Пороговое значение свободной физической памяти на сервере в мегабайтах. Должно выбираться в зависимости от общего количества памяти на сервере. Если оно превышено, новые процессы с транспортными приложениями не будут порождаться. |
|
mock.cloud.transport-manager-should-redirect-output |
|
Нет |
Включает/выключает вывод логов транспортных приложений в stdout, stderr после их запуска. Данный флаг может быть полезен для локальной отладки приложения. |
mock.transport-manager.esb-properties.use-artemis-mq |
Нет |
Да, если необходимо включить конфигурацию ActiveMQ Artemis |
Включает конфигурацию ESB транспорта для работы с ActiveMQ Artemis. |
mock.cloud.healthcheck.nexus |
|
Если известно, что Nexus недоступен, установите значение |
Определяет необходимость проверки доступности при старте приложения. Необходим для проверки корректности настроек доступа к Docker-nexus и доступности самого Docker-nexus. |
mock.cloud.healthcheck.transport-jar |
|
Нет |
Определяет необходимость проверки наличия jar-файлов транспортных приложений |
mock.cloud.healthcheck.ibm-mq |
|
Нет |
Определяет необходимость проверки доступности REST-сервиса брокера ActiveMQ Artemis. (В текущей версии продукта не используется.) |
mock.cloud.healthcheck.meta-tech-acc |
|
Если приложение должно быть развернуто без МЕТА, установите значение |
Определяет необходимость проверки работы ТУЗ (OAuth client) для доступа к МЕТА. Необходим для проверки возможности получения токена с использованием ТУЗ. |
mock.cloud.meta.mock-url |
|
Если нужно изменить адрес сервиса эмуляций API для интеграционного тестирования в реестре метаданных об объектах проектирования и разработки |
Ссылка на отфильтрованные эмуляции по заданным параметрам ( |
mock.cloud.artemis.host |
|
Да, если адрес ActiveMQ Artemis отличается |
ActiveMQ Artemis хост |
mock.cloud.artemis.port |
|
Да, если порт брокера ActiveMQ Artemis отличается |
Порт брокера ActiveMQ Artemis |
mock.cloud.artemis.login |
|
Да, если для доступа к брокеру ActiveMQ Artemis используется другой пользователь |
Имя пользователя, у которого есть доступ к брокеру ActiveMQ Artemis |
mock.cloud.artemis.password |
нет |
Да |
Пароль пользователя, у которого есть доступ к брокеру ActiveMQ Artemis |
Примечание
* Здесь и далее используемые в названиях параметров и переменных сокращения «meta» или «meta_mock» являются ранее употребляемыми названиями сервиса AMCS и применимы для установки компонента AMCS в текущей версии продукта.
Чек-лист переменных для Mock-audit-app#
Переменная |
Значение по умолчанию |
Необходимость переопределения |
Описание |
|---|---|---|---|
db.server |
- |
Да |
IP-адрес сервера PostgreSQL |
db.port |
- |
Да |
Порт, по которому будет доступна PostgreSQL |
db.instance |
- |
Да |
Имя базы данных |
db.schema |
- |
Да |
Имя схемы базы данных приложения |
db.user |
- |
Да |
Имя пользователя базы данных приложения |
db.password |
- |
Да |
Пароль для подключения приложения к базе данных |
eureka.client.serviceUrl.defaultZone |
|
Да |
Адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
spring.kafka.bootstrap-servers |
|
Обязательно должно быть задано |
Параметры соединения с кластером Kafka (список значений |
kafka.num-partitions |
|
Обязательно должно быть задано |
Количество разделов в создаваемых топиках Kafka |
meta.auth.user-cache-size |
|
Обязательно должно быть задано |
Количество пользователей, время входа которых хранится в кэше перед отправкой в базу данных МЕТА |
Чек-лист переменных для Eureka-server-app#
Переменная |
Значение по умолчанию |
Необходимость переопределения |
Описание |
|---|---|---|---|
server.port |
|
Нет |
Порт, по которому будет доступен сервис Eureka |
Чек-лист работ по установке#
Примечание
Заполнение чек-листа во время установки обязательно.
Шаг |
Дата/Время выполнения |
Результат выполнения * |
Описание ошибки ** |
Скриншот (приложить как файл) |
Логи (приложить как файл) |
|---|---|---|---|---|---|
Создание резервной копии |
[ ] Успех |
||||
Конфигурирование PostgreSQL |
[ ] Успех |
||||
Создание БД PostgreSQL |
[ ] Успех |
||||
Конфигурирование сервера приложений JVM |
[ ] Успех |
||||
Конфигурирование Nginx |
[ ] Успех |
||||
Перезагрузка серверов приложений |
[ ] Успех |
||||
Сбор и передача логов |
[ ] Успех |
* - обязательно для заполнения
** - обязательно для заполнения в случае ошибки
Подготовка дистрибутива#
Перед развертыванием Mock необходимо подготовить (выполнить слияние разделенного дистрибутива) дистрибутив программного продукта и выгрузить его в репозиторий для дальнейшей установки. Подготовить дистрибутив можно одним из способов:
С помощью автоматизированных jobs Solution pipeline.
Вручную с помощью скриптов слияния, поставляемых с дистрибутивом (amcs-deploy).
Подготовка дистрибутива с помощью Solution pipeline#
Запустите Jenkins job для объединения разделенного Solution(solution-merger). Пример конфигурации можно посмотреть в файле merger.yml.
Запустите Jenkins job для раскладки компонентов Solution(solution-unpacker). Пример конфигурации можно посмотреть в файле environment.yml.
После работы job, проверьте наличие файла amcs-bin-*-{VERSION}-*-distrib.zip в Nexus для последующей установки.
Ручная подготовка дистрибутива#
Скачайте дистрибутив amc-{VERSION}-distrib.zip.
Разархивируйте его в отдельную папку. В папке появятся два архива с программным продуктом и сторонними зависимостями: amc-{VERSION}-party-distrib.zip и amc-{VERSION}-owned-distrib.zip.
Распакуйте архив amc-{VERSION}-owned-distrib.zip и перейдите в распакованную директорию amc-{VERSION}-owned-distrib.
Распакуйте архив amcs-merger-{VERSION}-distrib.zip в директорию amcs-merger-{VERSION}-distrib (либо в любую другую).
Скопируйте файл Report.json из текущей директории (amc-{VERSION}-owned-distrib) в директорию amcs-merger-{VERSION}-distrib.
Перейдите в директорию amcs-merger-{VERSION}-distrib, сконфигурируйте и запустите следующий скрипт:
${PATH_TO_GROOVY_BIN}/groovy -cp ./src merge.groovy --report ./Report.json {PATH_TO_FILE}/amc-{VERSION}-party-distrib.zip {PATH_TO_FILE}/amc-{VERSION}-owned-distrib.zipРезультатом работы будет новый архив в корне директории amcs-merger-{VERSION}-distrib: owned.zip.
Распакуйте полученный архив owned.zip.
Перейдите в распакованную директорию и выложите архив amcs-bin-{VERSION}-distrib.zip в Nexus для последующей установки на стенд.
Установка сертификатов для эмуляций#
Для работы HTTPS вызовов из groovy скриптов эмуляций к удаленным сервисам необходимо установить следующие сертификаты:
/etc/ssl/certs/certsCollection.pem
В файле должны быть указаны корневые сертификаты сервисов, к которым будут отправляться запросы.
/etc/ssl/certs/client.pem
Сертификат открытого ключа сервера с приложением Mock.
/etc/ssl/certs/client_private_key.pem
Закрытый ключ сертификата.
Получите у уполномоченных лиц указанные PEM-сертификаты.
Разместите их в директории /etc/ssl/certs/ на целевой сервер {MOCK-APP}.
Выдайте на файлы сертификатов права на чтение пользователю, под которым будут запускаться приложения Mock на сервере.
Установка и настройка ФП Авторизации и Аутентификации#
Целевым продуктом, используемым как ФП Авторизации и Аутентификации, является Keycloak.
Установите Keycloak версии 9.0.3+.
Войдите в консоль администратора Keycloak.
Нажмите кнопку Add realm и импортируйте файл sbermock-realm.json.
Установка и настройка Kafka и Zookeeper#
Установите Kafka и Zookeeper в директорию /var/kafka или любую другую.
Сконфигурируйте Kafka следующим образом, внеся изменения в файл {KAFKA_DIR}/config/server.properties:
zookeeper.connect={kafka_host_ip}:2181 advertised.host.name={kafka_host_ip} advertised.listeners=PLAINTEXT://{kafka_host_ip}:9092 auto.create.topics.enable=true security.inter.broker.protocol=PLAINTEXTОбязательно проверьте что в свойствах не включается SSL. Все свойства вида
ssl.*должны быть отключены.Запустите Zookeeper:
./bin/zookeeper-server-start.sh config/zookeeper.propertiesЗапустите Kafka:
./bin/kafka-server-start.sh config/server.properties
Установка и настройка External-Kafka и External-Zookeeper#
Установите External-Kafka и External-Zookeeper в директорию /var/kafka или любую другую.
Сконфигурируйте Zookeeper:
В файле {KAFKA_DIR}/config/zookeeper.properties задайте свойства:
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme=sasl jaasLoginRenew=3600000Проверьте, доступен ли выбор файла с настройками JAAS.
Для этого откройте для просмотра файл {KAFKA_DIR}/bin/zookeeper-server-start.sh. Проверьте, задается ли в нем параметр запуска
-Djava.security.auth.login.config.Если параметр есть, внесите изменения в указанный в параметре файл. Если параметр не задан, то создайте новый файл {KAFKA_DIR}/config/zookeeper_jaas.conf.
Содержимое файла настроек JAAS по формату должно совпадать с zookeeper_jaas.conf.
Если файл JAAS был создан вручную, каждый раз перед запуском zookeeper задайте ENV переменную с указанием пути к файлу:
export KAFKA_OPTS="-Djava.security.auth.login.config={KAFKA_DIR}/config/zookeeper_jaas.conf"Запустите zookeeper:
./bin/zookeeper-server-start.sh config/zookeeper.properties
Сконфигурируйте Kafka:
В файле {KAFKA_DIR}/config/server.properties задайте следующие свойства:
zookeeper.connect={kafka_host_ip}:2181 zookeeper.set.acl=true security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=PLAIN sasl.enabled.mechanisms=PLAIN authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer allow.everyone.if.no.acl.found=true auto.create.topics.enable=false super.users=User:kafka listeners=SASL_PLAINTEXT://:9093,PLAINTEXT://:9092 advertised.listeners=SASL_PLAINTEXT://{kafka_host_ip}:9093,PLAINTEXT://{kafka_host_ip}:9092Обязательно проверьте, что в свойствах не включается SSL. Все свойства вида
ssl.*должны быть отключены.Проверьте, доступен ли выбор файла с настройками JAAS.
Для этого откройте для просмотра файл {KAFKA_DIR}/bin/kafka-server-start.sh. Проверьте, задается ли в нем параметр запуска
-Djava.security.auth.login.config.Если параметр есть, вносите изменения в указанный в параметре файл. Если параметр не задан, то создайте новый файл {KAFKA_DIR}/config/kafka_server_jaas.conf.
Содержимое файла настроек JAAS по формату должно совпадать с kafka_server_jaas.conf.
В файле допускается изменение имени пользователя и пароля. При изменении значения свойства
usernameважно изменить и название свойстваuser_kafkaтак, чтобы оно соответствовало форматуuser_{new_username}.Если файл JAAS был создан вручную, каждый раз перед запуском kafka требуется задавать ENV переменную с указанием пути к файлу:
export KAFKA_OPTS="-Djava.security.auth.login.config={KAFKA_DIR}/config/kafka_server_jaas.conf"Запустите Kafka:
./bin/kafka-server-start.sh config/server.properties
Установка и настройка ActiveMQ Artemis#
Установите ActiveMQ Artemis версии 2.19.1 и выше.
Добавьте пользователя для управления очередями через экземпляр AMCS, сконфигурировав файл artemis-users.properties:
userName = passwordДобавьте роль для пользователя, сконфигурировав файл artemis-roles.properties:
roleName = userNameСконфигурируйте файл broker.xml:
... <security-settings> <security-setting match="#"> <permission type="createNonDurableQueue" roles="amq,roleName"/> <permission type="deleteNonDurableQueue" roles="amq,roleName"/> <permission type="createDurableQueue" roles="amq,roleName"/> <permission type="deleteDurableQueue" roles="amq,roleName"/> <permission type="createAddress" roles="amq,roleName"/> <permission type="deleteAddress" roles="amq,roleName"/> <permission type="consume" roles="amq,roleName"/> <permission type="browse" roles="amq,roleName"/> <permission type="send" roles="amq,roleName"/> <!-- we need this otherwise ./artemis data imp wouldn't work --> <permission type="manage" roles="amq"/> </security-setting> </security-settings> <address-settings> ... <address-setting match="#"> ... <auto-create-queues>false</auto-create-queues> <auto-create-addresses>true</auto-create-addresses> <auto-delete-queues>false</auto-delete-queues> <auto-delete-addresses>false</auto-delete-addresses> </address-setting> </address-settings> ...Запустите брокер.
Проверьте запуск брокера, перейдя в консоль администратора по адресу http://<ARTEMIS_HOST>:8161/console.
Если консоль администратора по адресу http://<ARTEMIS_HOST>:8161/console не доступна, но при этом сервис запущен, проверьте следующие настройки:
bootstrap.xml:
... <!-- The web server is only bound to localhost by default --> <web bind="http://0.0.0.0:8161" path="web"> <app url="activemq-branding" war="activemq-branding.war"/> <app url="artemis-plugin" war="artemis-plugin.war"/> <app url="console" war="console.war"/> </web> ...jolokia-access.xml:
... <cors> <!-- Allow cross origin access from localhost ... --> <allow-origin>*</allow-origin> <!-- Options from this point on are auto-generated by Create.java from the Artemis CLI --> <!-- Check for the proper origin on the server side, too --> <strict-checking/> </cors> ...
Установка Nginx#
Выполните следующие шаги для конфигурирования Nginx.
Выполните стандартную установку Nginx в директорию <NGINX_INSTALL>. Дополнительная информация представлена в официальной документации Nginx.
Разместите сертификат и файл ключа certificate.crt, privateKey.key в директорию /etc/nginx/ssl.
Сконфигурируйте файл <NGINX_INSTALL>/nginx.conf. Пример конфигурации: пример файла.
Сконфигурируйте файл <NGINX_INSTALL>/upstreams.conf. Пример конфигурации: пример файла.
Замените значения <MOCK_APP_IP_*> в файле upstreams.conf на соответствующие вашей конфигурации стенда. При кластерной конфигурации Mock необходимо указать все сервера Mock в файле upstreams.conf.
Установка Nginx Mono-rest#
Выполните следующие шаги для конфигурирования Nginx mono-rest, предназначенного для вызова REST-заглушек.
Выполните стандартную установку Nginx в директорию <NGINX_INSTALL>. Дополнительная информация представлена в официальной документации Nginx.
Разместите сертификат certificate.crt и файл ключа privateKey.key в директорию /etc/nginx/ssl.
Сконфигурируйте файл <NGINX_INSTALL>/nginx.conf. Пример конфигурации: пример файла.
Сконфигурируйте файл <NGINX_INSTALL>/upstreams.conf. Пример конфигурации: пример файла.
Замените значение переменной <MOCK_APP_IP> в файле upstreams.conf на соответствующее вашей конфигурации стенда. При кластерной конфигурации Mock необходимо указать все сервера Mock в файле upstreams.conf.
Установка PostgreSQL#
Информация о версии PostgreSQL: PostgreSQL 11.14 (PostgreSQL Sber Edition 5.1.0) on x86_64-pc-linux-gnu, compiled by x86_64-alt-linux-gcc (GCC) 8.4.1 20200305 (ALT p9 8.4.1-alt0.p91), 64-bit.
Выполните следующие шаги для конфигурирования PostgreSQL:
Выполните стандартную установку PostgreSQL. Дополнительная информация представлена в официальной документации PostgreSQL.
-$su– -#systemctl edit postgresql - 11.14.service - [Service] - Environment = PGDATA = < DB_INSTALL > // Директория размещения файлов экземпляра БД -#/usr/pgsql - 11.14 / bin / postgresql11.14 - setup initdbРазрешите обращение к серверу БД со всех IP-адресов (опционально):
Внимание
При работе с СУБД Pangolin изменения конфигурации требуется вносить в файл конфигурации patroni/etc/patroni/postgres.yml.Внесите в файл <DB_INSTALL>/pg_hba.conf значение
host all all all scram-sha-256.Внесите в файл <DB_INSTALL>/postgresql.conf следующие строки:
- listen_addresses ='*' - port = 5432 - shared_preload_libraries = -'auto_explain,pg_stat_statements' -#$libdir/passwordcheckПри необходимости порт можно заменить на другой, используемый СУБД.
Для применения изменений перезапустите службу PostgreSQL с помощью следующей команды:
<DB_BIN>/pg_ctl restart -D <DB_INSTALL>Для СУБД Pangolin используйте следующую команду:
patronictl -c /etc/patroni/postgres.yml reload postgresql_4fbcc4f29ae5b1f9850a41fbc659b718где
postgresql_4fbcc4f29ae5b1f9850a41fbc659b718- имя кластера. Узнать его можно с помощью следующей команды:patronictl -c /etc/patroni/postgres.yml reloadВыполните запуск приложений и инициализацию базы данных вручную или через скрипты развертывания для Jenkins.
Установка Mock при помощи скриптов развертывания#
Подготовка скриптов развертывания#
Перед началом работы со скриптами развертывания убедитесь в наличии рабочего Jenkins с подключенным Ansible плагином.
Распакуйте содержимое zip-архива amcs-deploy-{VERSION}-distrib.zip (находится в owned архиве поставляемого дистрибутива) в удобную директорию. Данный архив содержит скрипты развертывания.
Создайте репозиторий в Git (или аналоге) и перенесите в него скрипты.
Замените значения указанных переменных соответствующими вашим КТС в файле hosts:
<MOCK_DB_IP>: IP сервера базы данных
<MOCK_APP_IP>: IP сервера Java приложения Mock
<NGINX_UI_IP>: IP сервера Nginx UI (mock-front)
<KAFKA_IP>: IP сервера Kafka
<EXT_KAFKA_IP>: IP сервера External-Kafka
<KEYCLOAK_URL>: полный адрес сервера Keycloak
Адрес должен быть таким, по которому открывается веб-страница «Welcome to Keycloak».
Пример:
https://example-url/keycloak/auth<MQ_IP>: IP сервера ActiveMQ Artemis
Внесите изменения в файл group_vars/dzo_DEV_Mock/mock.yml:
DNS: 196 ZONE_NAME: ".<ZONE_NAME>" DNS: 279 ZONE_NAME: ".<ZONE_NAME>" HOST: "<NGINX_UI_IP>"Замените значение <ZONE_NAME> на соответствующую запись в DNS (при наличии) для REST-заглушек (слева указаны номера строк в файле). Замените значение <NGINX_UI_IP> на соответствующий адрес сервера Nginx UI (слева указаны номера строк в файле).
Внесите изменения в файл group_vars/dzo_DEV_Mock/pwd.yml (обратите внимание: наименование логинов должно быть в нижнем регистре):
# PSQL USERS # Пользователь с произвольным именем и паролем под которым keycloak сможет пользоваться БД. # Пользователь будет создан автоматически, существовать до инициализации БД не должен psql_users_mock_keycloak_user: "<PSQL_KEYCLOAK_USER>" psql_users_mock_keycloak_user_pwd: "<PSQL_KEYCLOAK_USER_PWD>" # Пароль пользователя meta_mock. Пользователя использует приложение Mock для работы с БД # Пользователь будет создан автоматически, существовать до инициализации БД не должен psql_users_mock_user_pwd: "<PSQL_MOCK_USER_PWD>" # Пользователь с произвольным именем и паролем для администрирования БД и схемы в ней приложением Mock # Пользователь будет создан автоматически, существовать до инициализации БД не должен psql_users_mock_admin: "<PSQL_MOCK_ADMIN_USER>" psql_users_mock_admin_pwd: "<PSQL_MOCK_ADMIN_USER_PWD>" # KAFKA mock_extkafka_user: "<EXT_KAFKA_USER>" mock_extkafka_pwd: "<EXT_KAFKA_PWD>" # MQ mock_mq_user: "<MQ_USER>" mock_mq_pwd: "<MQ_PWD>"Замените значения <SOME_PARAMS> на соответствующие вашей конфигурации. Обратите внимание, что значения с <SOME_PARAMS> регистрозависимы. Замените значение <EXT_KAFKA_USER> и <EXT_KAFKA_PWD> на соответствующее вашей конфигурации (super.user) External-Kafka. Замените значение <MQ_USER> и <MQ_PWD> на данные пользователя, который был создан/добавлен на шаге конфигурации ActiveMQ Artemis.
Опционально: зашифруйте данные файлы, используя Ansible_Vault.
Внесите изменения в файлы host_vars/dzo_devmock_***_mock/vars.yml:
ansible_ssh_user: "***" ansible_ssh_pass: "***"Введите данные пользователя для доступа по SSH к соответствующим КТС. IP-адреса были ранее сконфигурированы в файле hosts.
Опционально: зашифруйте данные файлы, используя Ansible_Vault.
Опционально: При необходимости измените параметры в файле group_vars/all/general.yml:
pg_os_user: "***" pg_os_group: "***"
Указания по работе с профилями приложения#
Mock имеет несколько профилей запуска приложения, указанные в переменной spring_profiles_active в файле hosts на КТС.
Профили указываются через запятую и по умолчанию имеют значение:
cloud,outer
Также при необходимости можно сконфигурировать приложение, дополнительно указав еще профили. Указываются через запятую после профилей по умолчанию. Описание доступных профилей:
cloud: Указывает, что используется Keycloak (по умолчанию всегда используется)
outer: Профиль для внешних организаций (заказчиков)
devops: Указать при интеграции с Devops portal
rest: Включает REST эмуляции
kafka: Включает Kafka эмуляции
mq: Включает Artemis MQ эмуляции
Пример конфигурации:
cloud,outer,devops,rest,kafka,mq
Дополнительная подготовка скриптов для кластерной конфигурации(опционально)#
При использовании кластерной конфигурации Mock или СПО необходимо дополнительно настроить скрипты следующим образом:
Подготовка скриптов для кластерной конфигурации Mock#
Добавить описание всех серверов приложений Eureka, Mock и Nginx(при необходимости) в файле hosts. Название хостов должно соответствовать паттерну уже существующих записей. Пример конфигурации:
# Кластер Eureka dzo_devmock_d_sbermock_eureka_01_eureka_oc_mock ansible_host=<EUREKA_IP_1> ansible_ssh_host=<EUREKA_IP_1> dzo_devmock_d_sbermock_eureka_02_eureka_oc_mock ansible_host=<EUREKA_IP_2> ansible_ssh_host=<EUREKA_IP_2> # Кластер Mock dzo_devmock_d_sbermock_mock_01_app_node_oc_mock ansible_host=<MOCK_APP_IP_1> ansible_ssh_host=<MOCK_APP_IP_1> mock_cloud_index=1 dzo_devmock_d_sbermock_mock_02_app_node_oc_mock ansible_host=<MOCK_APP_IP_2> ansible_ssh_host=<MOCK_APP_IP_2> mock_cloud_index=2 # Кластер Nginx dzo_devmock_d_sbermock_nginx_01_nginx_mock ansible_host=<NGINX_UI_IP_1> ansible_ssh_host=<NGINX_UI_IP_1> dzo_devmock_d_sbermock_nginx_02_nginx_mock ansible_host=<NGINX_UI_IP_2> ansible_ssh_host=<NGINX_UI_IP_2> # Пример кластерной конфигурации BASIC-PROXY. Хосты указываются через запятую proxy_hosts=<MOCK_APP_IP_1>,<MOCK_APP_IP_2> # Пример кластерной конфигурации EUREKA: eureka_instance_name_host1=<EUREKA_IP_1> eureka_instance_name_host2=<EUREKA_IP_2>Далее необходимо добавить информацию с пользователями для доступа к КТС по ssh.
Создайте новую директорию соответствующую названию КТС(из конфига выше) в директории host_vars/{Название КТС} (например devmock_d_sbermock_eureka_02_eureka_oc_mock). Название директорий должно соответствовать текущим паттернам уже созданных директорий.
Создайте в новой директории файл vars.yml и внесите туда данные пользователя(с правами sudo) для доступа по SSH. Пример файла:
ansible_ssh_user: "***" ansible_ssh_pass: "***"
Подготовка скриптов для кластерной конфигурации СПО#
При использовании кластерной конфигурации СПО необходимо указать их IP в файле hosts:
# Пример кластерной конфигурации KAFKA: kafka_host1=<KAFKA_IP_1> kafka_host2=<KAFKA_IP_2> #Пример кластерной конфигурации EXT_KAFKA: ext_kafka_host1=<EXT_KAFKA_IP_1> ext_kafka_host2=<EXT_KAFKA_IP_2> # Пример кластерной конфигурации ELK_KAFKA: elk_kafka_host1=<KAFKA_IP_1> elk_kafka_host2=<KAFKA_IP_2>Далее, в зависимости от вашей конфигурации СПО, необходимо внести изменения в файл group_vars/dzo_DEV_Mock/mock.yml. Ниже приведен пример для двух нодовой конфигурации:
MOCK: KAFKA: SERVERS: "{{kafka_host1}}:9092,{{kafka_host2}}:9092" # Указать через запятую все сервера Kafka. EXTKAFKA: REPLICATION_FACTOR: "2" # Указать кол-во серверов Ext_Kafka SASL: "{{ext_kafka_host1}}:9093,{{ext_kafka_host2}}:9093" # Указать через запятую все сервера Ext_Kafka. PLAIN: "{{ext_kafka_host1}}:9092,{{ext_kafka_host2}}:9092" # Указать через запятую все сервера Ext_Kafka. EUREKA: SERVERS: "http://{{eureka_instance_name_host1}}:8761/eureka,http://{{eureka_instance_name_host2}}:8761/eureka" # Указать через запятую все сервера Eureka. AUDITELK: ELK_KAFKA: SERVERS: "{{elk_kafka_host1}}:9092,{{elk_kafka_host2}}:9092" # Указать через запятую все сервера Elk_Kafka.Сделайте commit и push в репозиторий.
Создание Jenkins Pipeline#
Перейдите в рабочую директорию Jenkins и добавьте новую Job типа Pipeline.
Укажите путь к репозиторию со скриптами развертывания и учетную запись для доступа к репозиторию:
Pipeline->Definition->Pipeline script from SCM->GIT->RepositoriesУкажите ветку для репозитория со скриптами развертывания(например */master):
Pipeline->Definition->Pipeline script from SCM->GIT->Branches to buildУкажите файл deploy.groovy для запуска (в данном файле необходимо обратить внимание на наименование агента, с помощью которого будет производиться сборка):
Pipeline->Definition->Script PathЗапустите Job (собрать сейчас), дождитесь окончания и перезагрузите страницу. Job создана и автоматически конфигурирована.
Инициализация PostgreSQL#
Этот шаг выполнять только при выполнении всех условий:
Используется стандартная standalone конфигурация PostgreSQL. Использование кластера недопустимо;
Для TCP соединений используется порт
5432;Для исполнения команд возможно подключение к PostgreSQL под пользователем
postgres;Файл UNIX-сокета должен располагаться в файле
/tmp/.s.PGSQL.5432.
Если не выполняются какие-то из требований, этот шаг необходимо пропустить и инициализировать PostgreSQL вручную.
Запустите подготовленный выше Jenkins Pipeline, нажав кнопку Собрать с параметрами.
Выставите параметры:
NODE: Метка агента, на котором будет запускаться сборка;TAGS:DB;VERSION: версия дистрибутива (например SP-2.30.0);STEND:dzo_DEV_Mock;NEXUS_URL: URL репозитория солюшена;GROUP_ID: GROUP_ID солюшена;ARTIFACT_ID: ARTIFACT_ID солюшена;NEXUS_CREDS: Учетная запись от Nexus, для скачивания солюшена.
Нажмите кнопку Собрать.
В результате выполнения в PostgreSQL должны создаться необходимые БД, пользователи и привилегии.
Первичная настройка КТС#
Запустите подготовленный выше Jenkins Pipeline, нажав кнопку Собрать с параметрами.
Выставите параметры:
NODE: Метка агента, на котором будет запускаться сборка;TAGS:SERVICE;VERSION: версия дистрибутива (например SP-2.30.0);STEND:dzo_DEV_Mock;NEXUS_URL: URL репозитория солюшена;GROUP_ID: GROUP_ID солюшена;ARTIFACT_ID: ARTIFACT_ID солюшена;NEXUS_CREDS: Учетная запись от Nexus, для скачивания солюшена.
Нажмите кнопку Собрать.
В результате выполнения будут установлено необходимое ПО на КТС и созданы сервисы для дальнейшего запуска Mock app.
Установка Mock#
Запустите подготовленный выше Jenkins Pipeline, нажав кнопку Собрать с параметрами.
Выставите параметры:
NODE: Метка агента, на котором будет запускаться сборка;TAGS:DEPLOY;VERSION: версия дистрибутива (например SP-2.30.0);STEND:dzo_DEV_Mock;NEXUS_URL: URL репозитория солюшена;GROUP_ID: GROUP_ID солюшена;ARTIFACT_ID: ARTIFACT_ID солюшена;NEXUS_CREDS: Учетная запись от Nexus, для скачивания солюшена.
Нажмите кнопку Собрать.
В результате выполнения будут развернуты (запущены) все приложения Mock.
Перезапуск Mock#
В случае необходимости перезапуска Mock выполните следующие действия:
Запустите подготовленный выше Jenkins Pipeline, нажав кнопку Собрать с параметрами.
Выставите параметры:
NODE: Метка агента, на котором будет запускаться сборка;TAGS:RESTART;VERSION: версия дистрибутива (например SP-2.30.0);STEND:dzo_DEV_Mock;NEXUS_URL: URL репозитория солюшена;GROUP_ID: GROUP_ID солюшена;ARTIFACT_ID: ARTIFACT_ID солюшена;NEXUS_CREDS: Учетная запись от Nexus, для скачивания солюшена.
Нажмите кнопку Собрать.
Ручная установка#
Инициализация PostgreSQL#
Чтобы подготовить PostgreSQL для работы с приложением, необходимо последовательно выполнить следующие шаги:
Подключиться к БД.
Если имеется SSH доступ на КТС с БД и возможность повысить привилегии до root, то для создания пользователей БД можно воспользоваться утилитой psql:
Зайдите на КТС по SSH.
Повысьте привилегии до root. Для этого в оболочке (shell) выполните команду
sudo -s. При необходимости введите пароль.Переключитесь на пользователя postgres:
su - postgres.Выполните команду
psql. Если приложение не найдено, вызовите по абсолютному пути:/usr/local/pgsql/bin/psql.
Создать пользователя, который будет владельцем БД и схемы приложения:
CREATE ROLE meta_mock_owner; CREATE USER meta_mock_admin LOGIN PASSWORD 'db.owner-password' IN ROLE meta_mock_owner;Создать пользователя, под которым приложение будет подключаться к БД приложения:
CREATE ROLE mock_cloud_app; CREATE USER meta_mock LOGIN PASSWORD 'db.password' IN ROLE mock_cloud_app;Создать БД приложения, назначив
meta_mock_ownerвладельцем:CREATE DATABASE metamockdb OWNER meta_mock_owner ENCODING 'UTF-8';Создать схему в БД приложения, назначив
meta_mock_ownerвладельцем:CREATE SCHEMA meta_mock AUTHORIZATION meta_mock_admin;Выдать права доступа к БД и схеме прикладному пользователю:
GRANT CONNECT ON DATABASE metamockdb TO meta_mock; GRANT USAGE ON SCHEMA meta_mock TO mock_cloud_app;Задать пользователям пути поиска:
ALTER USER meta_mock_admin SET search_path = meta_mock, public; ALTER USER meta_mock SET search_path = meta_mock;Для выхода из
psqlиспользовать команду\q
В зависимости от настроек аутентификации в файле pg_hba.conf, у созданных пользователей может отсутствовать возможность входа в систему. В этом случае их требуется добавить в файл pg_hba.conf. Для этого выполните следующие шаги:
Откройте файл pg_hba.conf на редактирование. Редактировать файл нужно от системного (linux) пользователя postgres.
Чтобы узнать, где находится файл, нужно выполнить следующую команду:
psql -t -P format=unaligned -c 'show hba_file';Добавьте в hb_pga.conf следующую строку:
host metamockdb meta_mock_admin, meta_mock 0.0.0.0/0 scram-sha-256Где:
host- означает, что вход в систему будет производиться с другого хоста;metamockdb- созданная БД;meta_mock_admin, meta_mock- созданные пользователи;0.0.0.0/0- разрешенный диапазон хостов (0.0.0.0/0 говорит, что вход разрешен с любого хоста);scram-sha-256- способ аутентификации по паролю.
Данная строка должна располагаться в файле выше любой аналогичной строки, которая может определять подключение созданных ранее пользователей.
Обратите внимание
Записи в файле pg_hba.conf не должны быть противоречивы. В противном случае PostgreSQL может не подняться при рестарте.После изменений внесенных в pg_hba.conf необходим рестарт базы, так как он не будет перечитан динамически:
<DB_BIN>/pg_ctl restart -D <DB_INSTALL>
Установка сервера приложений JVM#
Выполните следующие шаги для конфигурирования сервера приложений JVM.
Установите Java в соответствии с требованиями к аппаратным ресурсам среды. Пример команды:
-$su- #yum install - y java - 1.8.0 - openjdk.x86_64Проверьте версию, используя следующую команду:
- java -versionСоздайте пользователя <USER_JVM> или используйте существующего.
Создайте директорию для установки Mock:
sudo mkdir <MOCK_INSTALL>;Выдайте пользователям необходимые привилегии:
sudo chown -R <USER_JVM>:<USER_JVM> <MOCK_INSTALL> # Перейдите в директорию <MOCK_INSTALL>
Установка сервиса запуска приложений#
Перенесите архив mock-front на Nginx UI сервер для дальнейшей распаковки и установки.
Перенесите jar файлы из архива pvwmct-SP-{VERSION}-owned-distrib/package/bh на целевой сервер для последующего запуска.
Настройте и запустите сервисы.
Настройка сервиса eureka#
Скопируйте файл eureka.service в директорию /etc/systemd/system и замените параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.EUREKA.NAME |
Название службы |
eureka |
MOCK.SERVICE.USER |
Системный пользователь linux, под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux, под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.EUREKA.LOG |
Директория, в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса экземпляров сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
MOCK.EUREKA.DIR |
Директория, в которой будет располагаться исполняемый *.jar файл сервиса |
/var/eureka |
MOCK.EUREKA.FILE |
Название исполняемого *.jar файла сервиса |
eureka-server-app.jar |
Скопируйте из поставки файл eureka-server-app.jar и разместите по абсолютному пути _{{MOCK.EUREKA.DIR}}/{{MOCK.EUREKA.FILE}}.
Для запуска службы используйте следующую команду:
systemctl start eureka.service
Настройка сервиса mock-basic-proxy#
Скопируйте файл mock-basic-proxy.service в директорию /etc/systemd/system и замените параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.BASICPROXY.NAME |
Название службы |
mock-basic-proxy |
MOCK.SERVICE.USER |
Системный пользователь linux, под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux, под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.BASICPROXY.LOG |
Директория, в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса экземпляров сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
MOCK.BASICPROXY.PROXY.REALM |
Realm в keycloak |
SBERMOCK |
MOCK.KEYCLOAK.URL |
Полный адрес keycloak, по которому открывается веб-страница «Welcome to Keycloak» |
http://127.0.0.1:9180/auth |
MOCK.CLOUD.URL |
Полный адрес приложения mock-cloud |
http://127.0.0.1:9080 |
MOCK.BASICPROXY.HOSTS |
IP адреса экземпляров сервиса mock-basic-proxy, перечисленные через запятую |
127.0.0.1,127.0.0.2 |
MOCK.BASICPROXY.KEYCLOAK.CLIENT_SECRET |
Значение secret клиента keycloak |
90393162-7713-11ee-b962-0242ac120002 |
MOCK.BASICPROXY.PROXY.GUI_CLIENT_SECRET |
Значение secret клиента keycloak |
90393162-7713-11ee-b962-0242ac120002 |
MOCK.BASICPROXY.DIR |
Директория, в которой будет располагаться исполняемый *.jar файл сервиса |
/var/mock-basic-proxy |
MOCK.BASICPROXY.FILE |
Название исполняемого *.jar файла сервиса |
sbermock-basic-proxy-server.jar |
Скопируйте из поставки файл sbermock-basic-proxy-server.jar и разместите по абсолютному пути _{{MOCK.BASICPROXY.DIR}}/{{MOCK.BASICPROXY.FILE}}.
Для запуска службы используйте следующую команду:
systemctl start basic-proxy-server.service
Настройка сервиса mock-core#
Скопируйте файл mock-core.service в директорию /etc/systemd/system и замените параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.CORE.NAME |
Название службы |
mock-core |
MOCK.SERVICE.USER |
Системный пользователь linux, под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux, под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.CORE.LOG |
Директория, в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса экземпляров сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
MOCK.CORE.DIR |
Директория, в которой будет лежать исполняемый /*.jar файл сервиса |
/var/mockcloud |
MOCK.CORE.FILE |
Название исполняемого *.jar файла сервиса |
mock-core-app.jar |
Скопируйте из поставки файл mock-core-app.jar и разместите по абсолютному пути _{{MOCK.CORE.DIR}}/{{MOCK.CORE.FILE}}.
Для запуска службы используйте следующую команду:
systemctl start mock-core-app.service
Настройка сервиса mock-audit-elk#
Скопируйте файл mock-audit-elk.service в директорию /etc/systemd/system и замените параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.AUDITELK.NAME |
Название службы |
mock-audit-elk |
MOCK.SERVICE.USER |
Системный пользователь linux, под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux, под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.AUDITELK.LOG |
Директория, в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса экземпляров сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
MOCK.KAFKA.SERVERS |
Адреса серверов кластера Kafka (список значений |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.AUDITELK.DIR |
Директория, в которой будет располагаться исполняемый *.jar файл сервиса |
/var/mockcloud |
MOCK.AUDITELK.FILE |
Название исполняемого *.jar файла сервиса |
mock-audit-elk-app.jar |
Скопируйте из поставки файл mock-audit-elk-app.jar и разместите по абсолютному пути _{{MOCK.AUDITELK.DIR}}/{{MOCK.AUDITELK.FILE}}.
Для запуска службы используйте следующую команду:
systemctl start mock-audit-elk.service
Настройка сервиса mock-transport-manager#
Скопируйте файл mock-transport-manager.service в директорию /etc/systemd/system и замените параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.TRANSPORTMANAGER.NAME |
Название службы |
mock-transport-manager |
MOCK.SERVICE.USER |
Системный пользователь linux, под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux, под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.TRANSPORTMANAGER.LOG |
Директория, в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса экземпляров сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
MOCK.KAFKA.SERVERS |
Адреса серверов кластера Kafka (список значений |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.AUDITELK.ELK_KAFKA.SERVERS |
Адреса серверов кластера Kafka (список значений |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.TRANSPORTMANAGER.INDEX |
Уникальный целочисленный индекс экземпляра сервиса |
1 |
MOCK.TRANSPORTMANAGER.DNS.ZONE_NAME |
Имя зоны в DNS сервере |
.mock.ru |
MOCK.TRANSPORTMANAGER.DNS.PORT |
Порт по умолчанию при запуске моноинстанса rest (если настроен nginx - порт по умолчанию 8080) |
80 |
MOCK.REST.FILE |
Название файла транспортного приложения REST |
mock-rest-cloud.jar |
MOCK.ESB.FILE |
Название файла транспортного приложения ESB |
mock-esb-ibm.jar |
MOCK.KAFKA.FILE |
Название файла транспортного приложения KAFKA |
mock-kafka.jar |
MOCK.EXTKAFKA.SASL |
Список SASL-слушателей внешней Kafka в формате |
127.0.0.1:9093,127.0.0.2:9093 |
MOCK.EXTKAFKA.PLAIN |
Список PLAIN-слушателей внешней Kafka в формате |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.EXTKAFKA.REPLICATION_FACTOR |
Коэффициент репликации Kafka |
1 |
MOCK.EXTKAFKA.USER |
Логин администратора внешней Kafka, необходим для управления topics и ACL |
user |
MOCK.EXTKAFKA.PWD |
Пароль администратора внешней Kafka, необходим для управления topics и ACL |
password |
MOCK.TRANSPORTMANAGER.DIR |
Директория, в которой будет лежать исполняемый |
/var/mockcloud |
MOCK.TRANSPORTMANAGER.FILE |
Название исполняемого |
mock-transport-manager.jar |
Скопировать из поставки файл
mock-transport-manager-app.jarи разместить по абсолютному пути{{MOCK.TRANSPORTMANAGER.DIR}}/{{MOCK.TRANSPORTMANAGER.FILE}};Скопировать из поставки файл
mock-rest-cloud-app.jarи разместить по абсолютному пути{{MOCK.TRANSPORTMANAGER.DIR}}/{{MOCK.REST.FILE}};Скопировать из поставки файл
mock-esb-ibm-app.jarи разместить по абсолютному пути{{MOCK.TRANSPORTMANAGER.DIR}}/{{MOCK.ESB.FILE}};Скопировать из поставки файл
mock-kafka-app.jarи разместить по абсолютному пути{{MOCK.TRANSPORTMANAGER.DIR}}/{{MOCK.KAFKA.FILE}}.
Для запуска службы использовать команду:
systemctl start mock_transport-manager.service
Настройка сервиса mock-cloud#
Скопировать файл mock-cloud.service в директорию /etc/systemd/system и заменить параметры:
Параметр |
Описание |
Пример значения |
|---|---|---|
MOCK.CLOUD.NAME |
Название службы |
mock-cloud |
MOCK.SERVICE.USER |
Системный пользователь linux под которым будет запущена служба. Должен быть предварительно создан |
|
MOCK.SERVICE.GROUP |
Системная группа linux под которой будет запущена служба. Должна быть предварительно создана |
|
MOCK.CLOUD.LOG |
Директория в которую будут записываться лог файлы сервиса |
/tmp/logs |
MOCK.EUREKA.SERVERS |
Полные адреса инстансов сервиса eureka, перечисленные через запятую |
http://127.0.0.1:8761/eureka,http://127.0.0.2:8761/eureka |
DB_SERVER |
IP-адрес сервера postgresql |
|
DB_PORT |
Порт по которому будет доступна postgresql |
|
DB_INSTANCE |
Имя базы данных |
|
DB_SCHEMA |
Имя схемы базы данных для приложения |
|
DB_OWNER_USER |
Пользователь базы данных, используемый liquibase для миграции |
|
DB_OWNER_PASSWORD |
Пароль пользователя базы данных для миграции liquibase |
|
DB_USER |
Имя пользователя базы данных для приложения |
|
DB_PASSWORD |
Пароль для подключения приложения к базе данных |
|
MOCK.CLOUD.ARTEMIS.LOGIN |
Имя пользователя у которого есть доступ к брокеру ArtemisMQ |
|
MOCK.CLOUD.ARTEMIS.PASSWORD |
Пароль пользователя у которого есть доступ к брокеру ArtemisMQ |
|
MOCK.CLOUD.ARTEMIS.HOST |
ArtemisMQ хост |
127.0.01 |
MOCK.CLOUD.ARTEMIS.PORT |
ArtemisMQ порт брокера |
61616 |
MOCK.CLOUD.DNS.MAX_DOMAINS |
Максимальное количество доменов в проектной области |
5 |
MOCK.CLOUD.DNS.PORT |
Порт по умолчанию при запуске моноинстанса rest (если настроен nginx - порт по умолчанию 8080) |
80 |
MOCK.CLOUD.DNS.ZONE_NAME |
Имя зоны в dns сервере |
.mock.ru |
MOCK.CLOUD.HOST |
Хост Mock (без указания http схемы) |
mock.ru |
MOCK.CLOUD.INDEX |
Уникальный целочисленный индекс инстанса сервиса |
1 |
MOCK.CLOUD.KEYCLOAK.MOCK.CLIENT_SECRET |
Значение secret клиента keycloak |
|
MOCK.CLOUD.KEYCLOAK.MOCK.OAUTH_CLIENT_SECRET |
Значение secret клиента keycloak |
|
MOCK.CLOUD.KEYCLOAK.MOCK.REALM |
Параметр realm в keycloak |
|
MOCK.CLOUD.SUPPORT.CONNECT_INFO_URL |
Адрес ссылки на страницу поддержки сервиса по подключению. Если отсутствует, передачу параметра удалитьe |
|
MOCK.CLOUD.SUPPORT.COOKBOOK_URL |
Адрес ссылки на cookbook. Если отсутствует, передачу параметра удалить |
|
MOCK.CLOUD.SUPPORT.CREATE_PROJECT_URL |
Адрес ссылки на страницу поддержки сервиса по созданию проектной области. Если отсутствует, передачу параметра удалитьe |
|
MOCK.CLOUD.SUPPORT.EDITOR_INFO_URL |
Ссылка на работу с редактором эмуляций SBERMOCK. Если отсутствует, передачу параметра удалить |
|
MOCK.CLOUD.SUPPORT.SUPPORT_URL |
Адрес ссылки на страницу поддержки сервиса. Если отсутствует, передачу параметра удалить |
|
MOCK.EXTKAFKA.SASL |
Список SASL-слушателей внешней Kafka в формате |
127.0.0.1:9093,127.0.0.2:9093 |
MOCK.EXTKAFKA.PLAIN |
Список PLAIN-слушателей внешней Kafka в формате |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.EXTKAFKA.REPLICATION_FACTOR |
Коэффициент репликации Kafka |
1 |
MOCK.EXTKAFKA.USER |
Логин администратора внешней Kafka, необходим для управления topics и ACL |
user |
MOCK.EXTKAFKA.PWD |
Пароль администратора внешней Kafka, необходим для управления topics и ACL |
password |
MOCK.KAFKA.SERVERS |
Адреса серверов кластера Kafka (список значений |
127.0.0.1:9092,127.0.0.2:9092 |
MOCK.KEYCLOAK.URL |
Полный адрес keycloak, по которому открывается веб-страница «Welcome to Keycloak» |
http://127.0.0.1:9180/auth |
MOCK.REST.FILE |
Название файла транспортного приложения REST |
mock-rest-cloud.jar |
MOCK.ESB.FILE |
Название файла транспортного приложения ESB |
mock-esb-ibm.jar |
MOCK.KAFKA.FILE |
Название файла транспортного приложения KAFKA |
mock-kafka.jar |
SPRING_PROFILES_ACTIVE |
Набор активных профилей через запятую. Подробнее в разделе Указания по работе с профилями приложения |
cloud,outer |
MOCK.CLOUD.DIR |
Директория, в которой будет располагаться исполняемый *.jar файл сервиса |
/var/mockcloud |
MOCK.CLOUD.FILE |
Название исполняемого *.jar файла сервиса |
mock-cloud.jar |
Скопируйте из поставки файл mock-cloud.jar и разместите по абсолютному пути {{MOCK.CLOUD.DIR}}/{{MOCK.CLOUD.FILE}}.
Для запуска службы используйте следующую команду:
systemctl start mock-cloud.service
Установка mock-front#
Перейдите на сервер с установленным Nginx.
Распакуйте содержимое файла
/package/pl/mock-front-{ver}-dist.zipиз дистрибутива поставки в директорию/var/mockfront/html.
Использование дополнительного СПО#
Prometheus#
В случае необходимости использования Prometheus установите и настройте его в соответствии с официальной документацией данного СПО.
Интеграция с Prometheus включена в следующих сервисах:
mock-cloud
mock-core-app
mock-audit-elk-app
mock-transport-manager-app
mock-rest-cloud-app
Filebeat#
В случае необходимости использования Filebeat установите и настройте его в соответствии с официальной документацией данного СПО.
Файл аудита по умолчанию располагается на сервере Mock в директории /tmp/logs/mock-audit-elk-app.log.
Запуск в контейнерах#
Общая схема сборки образов:
Скопировать директорию
packageиз архиваpvwmct-{VERSION}-owned-distribна целевой сервер с docker;Перейти на целевом сервере в скопированную директорию
package/bh;Задать переменные окружения:
VERSIONверсия дистрибутива. Например, SP-2.30.0;BASE_IMAGEбазовый docker-образ с java 1.8.
Собрать образы командой:
docker build -t "eureka-server-app:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/eureka_server_app/Dockerfile docker build -t "sbermock-basic-proxy-server:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/mock_basic_proxy/Dockerfile docker build -t "mock-audit-elk-app:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/mock_audit_elk_app/Dockerfile docker build -t "mock-core-app:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/mock_core/Dockerfile docker build -t "mock-transport-manager-app:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/mock_transport_manager_app/Dockerfile docker build -t "mock-cloud:${VERSION}" --build-arg "BASE_IMAGE=${BASE_IMAGE}" . -f ../docker/mock_cloud/Dockerfile
При запуске контейнеров для каждого образа необходимо задать его ENV переменные. Для docker-compose они задаются в формате:
environment:
- SPRING_KAFKA_BOOTSTRAP_SERVERS=host.docker.internal:9092
- EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=http://host.docker.internal:8761/eureka
ENV переменные для каждого сервиса приведены далее.
Параметры образа eureka-server-app#
ENV переменная |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
SERVER_PORT |
8761 |
Нет |
Порт, по которому будет доступен сервис |
Параметры образа sbermock-basic-proxy-server#
ENV переменная |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
SERVER_PORT |
9078 |
Нет |
Порт, по которому будет доступен сервис |
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE |
«change me» |
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
HAZELCAST_NODE_ID |
127.0.0.1,127.0.0.1 |
Да |
IP адреса экземпляров сервиса mock-basic-proxy, перечисленные через запятую |
SBERMOCK_PROXY_SBERMOCK_URL |
http://127.0.0.1:9080 |
Да |
Полный адрес приложения mock-cloud |
KEYCLOAK_CLIENT_SECRET |
Да |
Клиент для управления данными в Keycloak |
|
SBERMOCK_PROXY_GUI_CLIENT_SECRET |
Да |
client-secret для клиента gui-client |
|
KEYCLOAK_REALM |
SBERMOCK |
Да, если realm отличается |
Realm в keycloak |
SBERMOCK_PROXY_KEYCLOAK_SERVER |
http://127.0.0.1:9180/auth |
Да |
Полный адрес keycloak, по которому открывается веб-страница «Welcome to Keycloak» |
Параметры образа mock-audit-elk-app#
Свойство |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
SERVER_PORT |
8060 |
Нет |
Порт, по которому будет доступен сервис |
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE |
«change me» |
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
SPRING_KAFKA_BOOTSTRAP_SERVERS |
localhost:9092 |
Да |
Адреса серверов кластера Kafka (список значений |
Параметры образа mock-core-app#
Свойство |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
SERVER_PORT |
8090 |
Нет |
Порт, по которому будет доступен сервис |
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE |
«change me» |
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
При запуске контейнера требуется передать в него файлы сертификатов. Сертификаты описаны
в разделе «Установка сертификатов для эмуляций». Для docker-compose они задаются в формате:
volumes:
- /etc/ssl/certs/certsCollection.pem:/certsCollection.pem
- /etc/ssl/certs/client.pem:/client.pem
- /etc/ssl/certs/client_private_key.pem:/client_private_key.pem
Параметры образа mock-transport-manager-app#
Свойство |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE |
«change me» |
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
SPRING_KAFKA_BOOTSTRAP_SERVERS |
localhost:9092 |
Да |
Адреса серверов кластера Kafka (список значений |
MOCK_TRANSPORT_MANAGER_INDEX |
Да |
Уникальный целочисленный индекс приложения. В случае, если индекс был указан не уникальным для разных экземпляров приложения, не гарантируется корректная работа приложения. Если приложение обнаружит в eureka service registry другое приложение с таким же индексом, оно автоматически завершится |
|
MOCK_TRANSPORT_MANAGER_DNS_ZONE_NAME |
Да |
Имя зоны в DNS сервере |
|
MOCK_TRANSPORT_MANAGER_NEXUS_URLS |
Да |
Список URL адресов NEXUS. Адреса указываются через запятую без пробелов (например: http://nexus/url/1,http://nexus/url/1) |
|
MOCK_TRANSPORT_MANAGER_NEXUS_USERNAME |
Да |
ТУЗ Docker-nexus |
|
MOCK_TRANSPORT_MANAGER_NEXUS_PASSWORD |
Да |
ТУЗ Docker-nexus |
|
MOCK_TRANSPORT_MANAGER_EXTERNAL_KAFKA_SASL_LISTENERS |
Да |
Список SASL-слушателей внешней Kafka в формате |
|
MOCK_TRANSPORT_MANAGER_EXTERNAL_KAFKA_PLAIN_LISTENERS |
Да, если необходимы kafka-заглушки |
Список PLAIN-слушателей внешней Kafka в формате |
|
MOCK_TRANSPORT_MANAGER_EXTERNAL_KAFKA_ADMIN_LOGIN |
Да, если необходимы kafka-заглушки |
Логин администратора внешней Kafka, необходим для управления topics и ACL |
|
MOCK_TRANSPORT_MANAGER_EXTERNAL_KAFKA_ADMIN_PASSWORD |
Да, если необходимы kafka-заглушки |
Пароль администратора внешней Kafka, необходим для управления topics и ACL |
|
MOCK_TRANSPORT_MANAGER_KAFKA_LOG_SERVERS |
Да |
Сервера Kafka для логирования |
Приложение использует порты 8082 и 9090.
При запуске контейнера требуется передать в него файлы сертификатов. Сертификаты описаны
в разделе «Установка сертификатов для эмуляций». Для docker-compose они задаются в формате:
volumes:
- /etc/ssl/certs/certsCollection.pem:/certsCollection.pem
- /etc/ssl/certs/client.pem:/client.pem
- /etc/ssl/certs/client_private_key.pem:/client_private_key.pem
Параметры образа mock-cloud#
Свойство |
Значение по умолчанию |
Необходимость переопределения |
Примечание |
|---|---|---|---|
SERVER_PORT |
8080 |
Нет |
Порт, по которому будет доступен сервис |
EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE |
«change me» |
Да |
URL-адреса подключения к сервису Eureka, разделенные запятыми без пробелов (например, |
SPRING_KAFKA_BOOTSTRAP_SERVERS |
localhost:9092 |
Да |
Адреса серверов кластера Kafka (список значений |
SPRING_PROFILES_ACTIVE |
Да |
Набор активных профилей через запятую. Подробнее в разделе «Указания по работе с профилями приложения» |
|
DB_SERVER |
localhost |
да |
IP-адрес сервера postgresql |
DB_PORT |
5432 |
нет |
Порт, по которому будет доступна postgresql |
DB_INSTANCE |
metamockdb |
нет |
Имя базы данных |
DB_SCHEMA |
meta_mock |
нет |
Имя схемы базы данных для приложения |
DB_OWNER_USER |
meta_mock_admin |
нет |
Пользователь базы данных, используемый liquibase для миграции |
DB_OWNER_PASSWORD |
да |
Пароль пользователя базы данных для миграции liquibase |
|
DB_USER |
meta_mock |
нет |
Имя пользователя базы данных для приложения |
DB_PASSWORD |
да |
Пароль для подключения приложения к базе данных |
|
MOCK_CLOUD_ARTEMIS_HOST |
localhost |
Да |
ArtemisMQ хост |
MOCK_CLOUD_ARTEMIS_PORT |
61616 |
нет |
ArtemisMQ порт брокера |
MOCK_CLOUD_ARTEMIS_LOGIN |
Да |
Имя пользователя, у которого есть доступ к брокеру ArtemisMQ |
|
MOCK_CLOUD_ARTEMIS_PASSWORD |
Да |
Пароль пользователя, у которого есть доступ к брокеру ArtemisMQ |
|
MOCK_CLOUD_EXTERNAL_KAFKA_SASL_LISTENERS |
127.0.0.1:9093,127.0.0.2:9093 |
да |
Список SASL-слушателей внешней Kafka в формате |
MOCK_CLOUD_EXTERNAL_KAFKA_PLAIN_LISTENERS |
127.0.0.1:9092,127.0.0.2:9092 |
да |
Список PLAIN-слушателей внешней Kafka в формате |
MOCK_CLOUD_EXTERNAL_KAFKA_REPLICATION_FACTOR |
1 |
нет |
Коэффициент репликации Kafka |
MOCK_CLOUD_EXTERNAL_KAFKA_ADMIN_LOGIN |
да |
Логин администратора внешней Kafka, необходим для управления topics и ACL |
|
MOCK_CLOUD_EXTERNAL_KAFKA_ADMIN_PASSWORD |
да |
Пароль администратора внешней Kafka, необходим для управления topics и ACL |
|
MOCK_CLOUD_DNS_MAX_DOMAINS |
20 |
нет |
Максимальное количество доменов в проектной области |
MOCK_CLOUD_DNS_PORT |
8080 |
нет |
Порт по умолчанию при запуске моноинстанса rest (если настроен nginx - порт по умолчанию 8080) |
MOCK_CLOUD_DNS_ZONE_NAME |
да |
Имя зоны в DNS сервере |
|
MOCK_CLOUD_HOST |
mock.ru |
да |
Хост Mock (без указания http схемы) |
MOCK_CLOUD_INDEX |
1 |
да |
Уникальный целочисленный индекс экземпляра сервиса |
MOCK_CLOUD_KEYCLOAK_CLIENT_SECRET |
да |
Значение secret клиента keycloak |
|
MOCK_CLOUD_KEYCLOAK_OAUTH_CLIENT_SECRET |
да |
Значение secret клиента keycloak |
|
MOCK_CLOUD_KEYCLOAK_REALM |
SBERMOCK |
нет |
Параметр realm в keycloak |
MOCK_CLOUD_KEYCLOAK_URL |
http://127.0.0.1:9180/auth |
да |
Полный адрес keycloak, по которому открывается веб-страница «Welcome to Keycloak» |
Образ mock-front#
При необходимости использовать docker для mock-front повторите инструкцию по развертыванию на сервере с Nginx с использованием базового образа с установленным Nginx.