Конфигурационные параметры Process Engine
Область применения
Документ описывает параметры конфигурации модуля процессного движка,
который отвечает за выполнение BPMN-процессов и публикацию через Kafka событий, задач (пользовательских и сервисных),
а также взаимодействие с UniBPM посредством REST AI.
Формат
В таблицах ниже используются следующие соглашения:
- Prefix — общий префикс группы параметров (например,
spring.datasource). - Параметр — имя параметра внутри группы.
- Значение по-умолчанию — значение, используемое в дистрибутивной конфигурации (если не переопределено).
1. Основные параметры Spring
1.1. База данных (spring.datasource)
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
spring.datasource | url | JDBC URL базы данных Camunda | jdbc:postgresql://localhost:5432/camunda |
spring.datasource | username | Пользователь БД | unibpm |
spring.datasource | password | Пароль БД | — |
⚠ Camunda использует отдельную БД (не UniBPM).
1.2. Kafka (spring.kafka)
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
spring.kafka | bootstrap-servers | Адрес Kafka брокера | localhost:9092 |
spring.kafka.consumer | group-id | Группа consumer | camunda |
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
server | forward-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.keycloak | client-id | Client ID в Keycloak | camunda-identity-service |
spring.security.oauth2.client.registration.keycloak | client-secret | Client secret | — |
spring.security.oauth2.client.registration.keycloak | scope | OAuth2 scopes | openid,profile,email |
spring.security.oauth2.client.provider.keycloak | issuer-uri | Issuer URI Realm | http://localhost:8999/realms/unibpm |
2.2. OAuth2 Resource Server (spring.security.oauth2.resourceserver)
Используется для валидации JWT токенов при вызове REST API Camunda.
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
spring.security.oauth2.resourceserver.jwt | issuer-uri | Issuer URI Realm | http://localhost:8999/realms/unibpm |
spring.security.oauth2.resourceserver.jwt | jwk-set-uri | URL набора публичных ключей | http://localhost:8999/realms/unibpm/protocol/openid-connect/certs |
3. UniBPM Integration Properties (unibpm.*)
Настройки интеграции с UniBPM.
3.1. External Task Worker
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
unibpm | external-task-worker-id | Идентификатор worker | unibpm-worker |
unibpm | external-task-delay-in-millis | Интервал опроса external tasks (мс) | 1000 |
unibpm | external-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 | Параметр | Описание | Значение по-умолчанию |
|---|
unibpm | external-task-response-topic | Kafka topic для завершения external tasks | external-task-response |
unibpm | user-task-event-topic | Kafka topic событий пользовательских задач | reunico.unibpm.task.events.prod |
unibpm | change-state-topic | Kafka topic смены состояния | reunico.unibpm.execution.events.prod |
3.4. REST API Client Role
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
unibpm | unibpm-client-role-name | Имя роли REST API клиента в Keycloak | camunda-rest-api-client |
Используется для авторизации UniBPM при обращении к Camunda REST API.
4. Keycloak Identity Plugin (plugin.identity.keycloak)
Плагин синхронизации пользователей и групп из Keycloak в Camunda.
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
plugin.identity.keycloak | keycloakIssuerUrl | URL Realm (OIDC issuer) | http://localhost:8999/realms/bpmdesk |
plugin.identity.keycloak | keycloakAdminUrl | URL Admin API | http://localhost:8999/admin/realms/bpmdesk |
plugin.identity.keycloak | clientId | Client ID | camunda-identity-service |
plugin.identity.keycloak | clientSecret | Client secret | — |
plugin.identity.keycloak | useEmailAsCamundaUserId | Использовать email как userId | false |
plugin.identity.keycloak | useUsernameAsCamundaUserId | Использовать username как userId | true |
plugin.identity.keycloak | useGroupPathAsCamundaGroupId | Использовать group path как groupId | true |
plugin.identity.keycloak | administratorGroupName | Имя админ-группы Camunda | camunda-admin |
plugin.identity.keycloak | disableSSLCertificateValidation | Отключить проверку SSL | false |
5. Camunda Engine Configuration (camunda.bpm.*)
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
camunda.bpm.filter | create | Создавать дефолтный фильтр задач | All tasks |
camunda.bpm.eventing | task | Включить публикацию task events | true |
camunda.bpm.authorization | tenant-check-enabled | Включить tenant-check | false |
6. Статические ресурсы
| Prefix | Параметр | Описание | Значение по-умолчанию |
|---|
spring.web.resources | static-locations | Локации статических ресурсов | NULL |
7. Production vs Development
7.1. Параметры, которые обычно отличаются в production
plugin.identity.keycloak.keycloakIssuerUrlplugin.identity.keycloak.keycloakAdminUrlspring.security.oauth2.*spring.datasource.*clientSecretspring.kafka.bootstrap-servers