Установка приложения

Инструкция по установке

Предварительные условия

  • Установленный и настроенный кластер Kubernetes

  • Настроенный Nexus Repository (или иное хранилище артефактов)

  • Keycloak (или MDP) для авторизации

  • Kafka

  • PostgreSQL

  • Git

Подготовка баз данных

Перед установкой необходимо выполнить job для создания следующих образов базы данных:

  • database-qpuidesigner - БД бэкенд-сервиса

  • database-qpuideipbpm - БД сервиса исполнения бизнес-процессов

  • database-qpuidtheme - БД микросервиса Дизайнер тем

Настройка конфигурации сервисов

Пример настроек общих параметров - независимо от авторизации:

   "KAFKA_HOST": "kafka",
   "KAFKA_PORT": "9092",
   "KAFKA_URL": "kafka:9092",
   "CHANNEL_PREFIX": "topicPrefix-",
   "DB_TEST_QUERY": "select 1",
   "JPA_DIALECT": "org.hibernate.dialect.PostgreSQLDialect",
   "SERVICE_PORT": "8080",
   "QSAVER_HOST": "",
   "QSAVER_URL": "",
   "QSAVER_PORT": ""

Конфигурация qpuidesigner

"data": {
      "ALLOW_ALL_FOR_DEBUG": "false",
      "AUTH_PROVIDER": "digitalq",
      "CONFELEMENT_KIND": "2",
      "EMPLOYEE_FIELD": "empl_code", // Привязка пользователя к проекту интерфейса. Возможные значения - "employee_code", "empl_code", "user_account_id",
      "DB_TEST_QUERY": "SELECT 1",
      "JAVA_XMS": "768m",
      "JAVA_XMX": "1256m",
      "JPA_DIALECT": "org.hibernate.dialect.PostgreSQLDialect",
      "QPALETTE_VERSION": "registry-new.diasoft.ru/release/qpalette:25012709",
      "PERSONAL_DESK_VERSION": "Ссылка на образ личного кабинета (harbor.ru/repository/qdpd:777)",
      "ARCHERENVIRONMENT": "true", // Наличие сервиса Q.Archer на стенде
      "SERVICE_NAME": "qpuidesigner"
  }

Конфигурация qpuidsourcepackage

 "data": {
		"ALLOW_ALL_FOR_DEBUG": "true",
		"CONFELEMENT_KIND": "2",
		"JAVA_XMS": "500m",
		"JAVA_XMX": "768m",
		"LIMIT_CPU": "4",
		"LIMIT_MEMORY": "2Gi",
		"NEXUS_PROXY_URL": "Адрес Nexus",
		"SERVICE_API_URL": "Путь к API адаптера через gateway, по умолчанию '/api/qpuidsourcepackage/qpuidsourcepackage'",
		"SERVICE_NAME": "qpuidsourcepackage"
	}

Конфигурация qpuideipbpm

"data": {
		"ALLOW_ALL_FOR_DEBUG": "false",
		"CONFELEMENT_KIND": "23",
		"JAVA_XMS": "1g",
		"JAVA_XMX": "2g",
		"JPA_DIALECT": "org.hibernate.dialect.PostgreSQLDialect",
		"KUBERNETES_LEGACY_MOD": "true",
		"LIMIT_CPU": "2",
		"LIMIT_MEMORY": "2Gi",
		"QBPM_PROCESS_INPUT_TOPICS": "qvcs-coderepository-add-reply;qmsd-dqservdsgnpassport-and-linked-object-reply;qvcs-commit-create-reply;qdesigner-lowcode-command;qdesigner-publish-project-command;qdpbc-pbc-passport-version-event;qdpqmsd-dqservdsgnpassport-command-reply;qdesigner-publish-project-reply",
		"QBPM_PROCESS_OUTPUT_TOPICS": "qvcs-coderepository-add-command;qmsd-dqservdsgnpassport-and-linked-object-command;qvcs-commit-create-command;qdesigner-publish-project-reply;qdesigner-publish-project-reply;qdpqmsd-dqservdsgnpassport-command;qdesigner-publish-project-command",
		"QBPM_TASK_ACTION_EVENT": "dq-q-bpm-task-action",
		"QBPM_TASK_CANCEL_EVENT": "dq-q-bpm-task-cancel",
		"QBPM_TASK_CREATE_EVENT": "dq-q-bpm-task-create",
		"REQUEST_CPU": "50m",
		"REQUEST_MEMORY": "512Mi",
		"RIBBON_REFRESH_INTERVAL": "10000",
		"SECURITY_ENABLED": "true",
		"SERVICE_NAME": "qpuideipbpm",
		"SERVICE_PORT": "8080"
	}

Секреты (Secret) для каждого сервиса

   "DB_DATABASE": "database",
   "DB_DRIVER": "org.postgresql.Driver",
   "DB_HOST": "postgres-host",
   "DB_LOGIN": "login",
   "DB_PASSWORD": "password",
   "DB_PORT": "5432",
   "DB_SCHEMA": "schema",
   "DB_TYPE": "postgres",
   "DB_URL": "jdbc:postgresql://postgres-host:5432/database?currentSchema=schema"

Настройка авторизации

Keycloak-авторизация

Для использования сервисов на стенде с Keycloak-авторизацией необходимо:

  1. Установить и настроить Keycloak

  2. Установить актуальные версии сервисов:

    • qdesignerui
    • qpuidesigner
    • qpuideipbpm
    • qpuidsourcepackage
    • qpuidtheme
  3. Добавить параметры в сервисных конфигурационных файлах Kubernetes

   "QOAUTH_MODE": "keycloak",
   "RESOURCE_SERVER_ID": "" // Имя клиента в Keycloak,
   "AUTH_SERVER_PUBLIC_KEY": "" // Публичный ключ realm Keycloak для формирования сигнатур JWT,
   "AUTH_SERVICE": "keycloak",
   "TECH_USERNAME": "",
   "TECH_PASSWORD": "",
   "KEYCLOAK_AUTH_URL": "",
   "KEYCLOAK_CLIENT_ID": "",
   "KEYCLOAK_CLIENT_SECRET": ""
  1. Удалить параметр AUTH_PROVIDER=digitalq из конфигурационных файлов

  2. Добавить параметр KUBERNETES_LEGACY_MOD=trueв системный конфигурационный файл

  3. Включить параметр SECURITY_ENABLED=trueв BPM-сервисе

  4. Перезапустить сервисы

MDP-авторизация

Для использования сервисов на стенде с MDP-авторизацией необходимо:

  1. Настроить стенд для работы с MDP

  2. Установить актуальные версии сервисов:

    • qdesignerui
    • qpuidesigner
    • qpuideipbpm
    • qpuidsourcepackage
    • qpuidtheme
  3. Добавить параметры в сервисных конфигурационных файлах Kubernetes

   "AUTH_SERVER_CONTEXT": "mdpauth",
   "AUTH_SERVER_URL": "http://mdpauth:8080",
   "AUTH_SERVICE": "mdpauth",
   "QOAUTH_MODE": "mdpauth",
   "TECH_USERNAME": "",
   "TECH_PASSWORD": ""
  1. Удалить параметр AUTH_PROVIDER=digitalq из конфигурационных файлов

  2. Добавить параметр KUBERNETES_LEGACY_MOD=trueв системный конфигурационный файл

  3. Включить параметр SECURITY_ENABLED=trueв BPM-сервисе

  4. Перезапустить сервисы

Установка в Kubernetes через Helm

Чтобы установить образы в Kubernetes с помощью Helm, используйте команду

   helm install <имя-релиза> <путь-к-chartу> --values <путь-к-файлу-values.yaml>

Также можно передать значения напрямую через параметр --set, например:

   helm install <имя-релиза> <путь-к-chartу> --set image.tag=v1.0.0

Установка через FTSysConfigManager

  • Установите и настройте FTSysConfigManager

  • Запустите инсталляцию компонентов в нужный namespace