Установка серверной части в docker

Скрипты написаны на Python 3 и выполняют следующие автоматизированные операции:

  1. Установку и конфигурирование базы данных PostgreSQL
  2. Запуск sql-скриптов создания и обновления схем БД
  3. Установку и конфигурирование сервера приложений WildFly
  4. Развертывание приложения RMS на WildFly

Скрипты *.py вместе с необходимыми для выполнения файлами сгруппированы по папкам, запускаются из соответствующих папок. Для первичной установки RMS скрипты выполняются в последовательности, указанной в названии папок (postgres_setup.py, migrate_db.py, wildfly_setup.py, deploy_rms.py) Если требуется обновить RMS, из артефакта новой версии, запускаются скрипты migrate_db.py и deploy_rms.py

Примечание

Для установки Postgresql вне докера перейдите в раздел - Ручная установка и первичная настройка PostgreSQL в CentOS 7, затем в раздел - Создание/обновление схем БД (2_migrate_db)

Установка и конфигурирование СУБД PostgreSQL (1_postgres_setup)

В файле config/postgres_setup.config указываются параметры установки БД (по умолчанию запуск в докер контейнере, имя докер контейнера robin-postgres, имя сети robin)

В папке images находится первоначально сконфигурированный докер образ PostgreSQL. В папке build - файлы для создания этого образа

Для запуска выполнить скрипт postgres_setup.py

В ходе установки будет установлен пароль суперпользователя "postgres" - postgres. Так же будут созданы пользователи "user_robin", "user_orch", "user_quartz" с паролем Qwerty123

Данные пароли при необходимо поменять и внести правки в конфигурационные файлы migrate_db.config, wildfly_setup.config

Создание/обновление схем БД (2_migrate_db)

Создание/обновление схем БД осуществляется инструментом миграции FlyWay

В файле config/migrate_db.config находятся параметры запуска команд FlyWay (запуск FlyWay в докере, параметры доступа к БД и т.д.)

В папке images находится официальный докер образ flyway:6.1.1

В папке sql - список всех миграций БД. (будут применены только новые, по отношению к текущей версии схемы БД)

Для запуска выполнить скрипт migrate_db.py

Установка и конфигурирование сервера приложений WildFly (3_wildfly_setup)

В файле config/wildfly_setup.config указываются параметры запуска WildFly (запуск WildFly в докере, параметры datasourse и переменные среды JAVA_OPTS)

Необходимо выделить достаточное количество ресурсов для сервера приложений. Для этого в переменных JAVA_OPTS нужно изменить следующие параметры:

  1. /Xmx2G - максимальный размер оперативной памяти выделенной виртуальной машине JVM
  2. /XX:MaxMetaspaceSize=512M - максимальный размер памяти выделенной под метаданные приложения

В файле config/logging.cli - пакет команд jboss-cli для настройки логирования. В них прописаны параметры ротации логов.

В папке certificate находятся файлы ключей и хранилища сертификатов.

В папке images - официальный докер образ wildfly:18.0.0.Final и образ утилиты keytool

В папке jboss - файлы модулей WildFly необходимых приложению RMS

В папке jdbc-driver - драйвер postgresql-42.2.8.jar

Для запуска выполнить скрипт wildfly_setup.py

В ходе установки будет запрошен и установлен пароль администратора (для доступа веб консоли WildFly. Консоль доступна на порту 9990)

Так же установщик попросит указать сертификаты, ввести пароли существующих и создаваемых хранилищ ключей.

В папке certificate/server/ уже лежат тестовые сертификаты. При необходимости заменить на актуальные.

  1. SSL сертификат агента: client.crt
  2. SSL сертификат сервера: dev-orch.robin.it.ru.pfx (пароль исходника - 1)
  3. обязательный сертификат верификации RMC: orchestrator-client.p12 (пароль - Qwerty123, alias - orchestrator-client). Alias и пароль должны быть прописаны в application.properties приложения RMS.

Настройку SSL можно отключить в конфигурационном файле config/wildfly_setup.config

Развертывание приложения RMS на сервер WildFly (4_deploy_rms)

В файле config/deploy_rms.config указываются параметры подключения к серверу WildFly

В папке properties - файлы свойств приложения RMS.

В папке target - war-файл приложения RMS

В папке wildfly_updates - файлы jboss-cli скрипты обновления конфигурации WildFly (соответствующие версиям RMS)

Для запуска выполнить скрипт deploy_rms.py