• Ru

Конфигурационные параметры Process Engine

Область применения

Документ описывает параметры конфигурации модуля процессного движка, который отвечает за выполнение BPMN-процессов и публикацию через Kafka событий, задач (пользовательских и сервисных), а также взаимодействие с UniBPM посредством REST AI.

Формат

В таблицах ниже используются следующие соглашения:

  • Prefix — общий префикс группы параметров (например, spring.datasource).
  • Параметр — имя параметра внутри группы.
  • Значение по-умолчанию — значение, используемое в дистрибутивной конфигурации (если не переопределено).

1. Основные параметры Spring

1.1. База данных (spring.datasource)

PrefixПараметрОписаниеЗначение по-умолчанию
spring.datasourceurlJDBC URL базы данных Camundajdbc:postgresql://localhost:5432/camunda
spring.datasourceusernameПользователь БДunibpm
spring.datasourcepasswordПароль БД

⚠ Camunda использует отдельную БД (не UniBPM).

1.2. Kafka (spring.kafka)

PrefixПараметрОписаниеЗначение по-умолчанию
spring.kafkabootstrap-serversАдрес Kafka брокераlocalhost:9092
spring.kafka.consumergroup-idГруппа consumercamunda

1.3. Forwarded Headers (работа за reverse proxy)

PrefixПараметрОписаниеЗначение по-умолчанию
serverforward-headers-strategyУчитывать заголовки X-Forwarded-* (например, X-Forwarded-Proto, X-Forwarded-Host) при формировании внешних URL (OAuth2 redirect, ссылки и т.д.)none

⚠ Обязательно для production-развертываний за nginx / ingress. Без этого параметра приложение может генерировать http:// вместо https://, что приводит к ошибкам авторизации (например, Invalid parameter: redirect_uri в Keycloak).

Пример:

server:
  forward-headers-strategy: framework

2. OAuth2 / Keycloak интеграция

2.1. OAuth2 Client (spring.security.oauth2.client)

Используется для аутентификации Camunda в Keycloak.

PrefixПараметрОписаниеЗначение по-умолчанию
spring.security.oauth2.client.registration.keycloakclient-idClient ID в Keycloakcamunda-identity-service
spring.security.oauth2.client.registration.keycloakclient-secretClient secret
spring.security.oauth2.client.registration.keycloakscopeOAuth2 scopesopenid,profile,email
spring.security.oauth2.client.provider.keycloakissuer-uriIssuer URI Realmhttp://localhost:8999/realms/unibpm

2.2. OAuth2 Resource Server (spring.security.oauth2.resourceserver)

Используется для валидации JWT токенов при вызове REST API Camunda.

PrefixПараметрОписаниеЗначение по-умолчанию
spring.security.oauth2.resourceserver.jwtissuer-uriIssuer URI Realmhttp://localhost:8999/realms/unibpm
spring.security.oauth2.resourceserver.jwtjwk-set-uriURL набора публичных ключейhttp://localhost:8999/realms/unibpm/protocol/openid-connect/certs

3. UniBPM Integration Properties (unibpm.*)

Настройки интеграции с UniBPM.

3.1. External Task Worker

PrefixПараметрОписаниеЗначение по-умолчанию
unibpmexternal-task-worker-idИдентификатор workerunibpm-worker
unibpmexternal-task-delay-in-millisИнтервал опроса external tasks (мс)1000
unibpmexternal-tasks-max-tasksМаксимальное количество задач за запрос10

3.2. External Task Topics

PrefixПараметрОписаниеЗначение по-умолчанию
unibpm.external-task-topics<topicName>: <timeout>Список топиков external task и lock timeout (мс)external-task-demo-topic: 300000

3.3. Kafka Topics

PrefixПараметрОписаниеЗначение по-умолчанию
unibpmexternal-task-response-topicKafka topic для завершения external tasksexternal-task-response
unibpmuser-task-event-topicKafka topic событий пользовательских задачreunico.unibpm.task.events.prod
unibpmchange-state-topicKafka topic смены состоянияreunico.unibpm.execution.events.prod

3.4. REST API Client Role

PrefixПараметрОписаниеЗначение по-умолчанию
unibpmunibpm-client-role-nameИмя роли REST API клиента в Keycloakcamunda-rest-api-client

Используется для авторизации UniBPM при обращении к Camunda REST API.


4. Keycloak Identity Plugin (plugin.identity.keycloak)

Плагин синхронизации пользователей и групп из Keycloak в Camunda.

PrefixПараметрОписаниеЗначение по-умолчанию
plugin.identity.keycloakkeycloakIssuerUrlURL Realm (OIDC issuer)http://localhost:8999/realms/bpmdesk
plugin.identity.keycloakkeycloakAdminUrlURL Admin APIhttp://localhost:8999/admin/realms/bpmdesk
plugin.identity.keycloakclientIdClient IDcamunda-identity-service
plugin.identity.keycloakclientSecretClient secret
plugin.identity.keycloakuseEmailAsCamundaUserIdИспользовать email как userIdfalse
plugin.identity.keycloakuseUsernameAsCamundaUserIdИспользовать username как userIdtrue
plugin.identity.keycloakuseGroupPathAsCamundaGroupIdИспользовать group path как groupIdtrue
plugin.identity.keycloakadministratorGroupNameИмя админ-группы Camundacamunda-admin
plugin.identity.keycloakdisableSSLCertificateValidationОтключить проверку SSLfalse

5. Camunda Engine Configuration (camunda.bpm.*)

PrefixПараметрОписаниеЗначение по-умолчанию
camunda.bpm.filtercreateСоздавать дефолтный фильтр задачAll tasks
camunda.bpm.eventingtaskВключить публикацию task eventstrue
camunda.bpm.authorizationtenant-check-enabledВключить tenant-checkfalse

6. Статические ресурсы

PrefixПараметрОписаниеЗначение по-умолчанию
spring.web.resourcesstatic-locationsЛокации статических ресурсовNULL

7. Production vs Development

7.1. Параметры, которые обычно отличаются в production

  • plugin.identity.keycloak.keycloakIssuerUrl
  • plugin.identity.keycloak.keycloakAdminUrl
  • spring.security.oauth2.*
  • spring.datasource.*
  • clientSecret
  • spring.kafka.bootstrap-servers