Book a Demo

Cabinee configuration parameters

YAML prefixes (unibpm.*), Kafka topic names, and some default Keycloak realm values below are technical identifiers from the shared codebase. Recommended Cabinee defaults are shown where they differ from legacy names.

Format

Prefix (parameter group)ParameterDescriptionDefault value

Core application parameters (application)

PrefixParameterDescriptionDefault value
applicationversionApplication version (taken from pom.xml by default)@project.version@
applicationadmin-role-nameAdministrator role nameROLE_cabinee-admin
applicationapplication-urlApplication URL for display in templateshttp://localhost:8099
applicationsender-role-nameRole name for working with Sender via REST APIcabinee-sender
applicationprefix-role-nameRole prefixROLE_
applicationpreference-theme-keyUser preference key for the themeTHEME
applicationworkflow.code-max-lengthMaximum process code length10
applicationcorrelate-message-tenantsMulti-tenant BPMN message routingtrue
applicationfqdnFully qualified domain name used to form Message-ID in outbound messageslocalhost
applicationticket-number-prefixTicket number prefix used to form outbound message subjectsTicket
applicationplain-text-patternImage filtering regexp (plain text) for inbound message processingsee application.yaml
applicationhtml-text-patternImage filtering regexp (HTML) for inbound message processingsee application.yaml
applicationuser-attribute-positionKeycloak attribute that stores the user job titlejobTitle
applicationuser-attribute-idKeycloak attribute that stores the employee ID of the useremployeeId
applicationkeycloak-paginationPage size when importing users from Keycloak100

Mail gateway (sender)

PrefixParameterDescriptionDefault value
senderretriesNumber of message processing attempts3
senderis-handleEnable/disable message processingtrue
sendersend-delay-in-millisOutbound message send interval (ms)60000
senderreceive-delay-in-millisInbound message receive interval (ms)60000
senderchannel-init-delay-in-millisChannel refresh interval (ms)60000
sendertoken-refresh-delay-in-millisOAuth2 token refresh interval (ms)60000

Keycloak integration (identity.keycloak)

Used for:

  • synchronizing users and groups
  • retrieving realm roles
  • OAuth2 client_credentials for the Keycloak Admin API
PrefixParameterDescriptionDefault value
identity.keycloakbase-urlKeycloak server URL—
identity.keycloakrealmRealm—
identity.keycloakclient-registration-idOAuth2 client registration ID—
identity.keycloakprincipalPrincipal for client_credentials—
identity.keycloakdelay-in-millisUser synchronization interval (ms)60000
identity.keycloakkeycloak-paginationPage size when importing users100
identity.keycloakuser-attribute-positionKeycloak attribute for job titlejobTitle
identity.keycloakuser-attribute-idKeycloak attribute for employee IDemployeeId
identity.keycloakfront-client-registration-idFrontend client registration ID—

Camunda integration

unibpm.engine

PrefixParameterDescriptionValue
unibpm.engineversionEnables Camunda 8 integrationno default; set 8

Full description: Configuring Process Engine .

camunda-kafka-import

Topics from which Cabinee imports process-engine events. The event source is unibpm-camunda8-adapter.

PrefixParameterDescriptionDefault value
camunda-kafka-importuser-task-event-topicKafka topic for importing user tasksreunico.unibpm.task.events.prod
camunda-kafka-importchange-state-topicKafka topic for importing status changesreunico.unibpm.execution.events.prod

camunda-eight-client

Camunda 8 REST API v2 client. The full parameter list, including multi-tenancy and jobs settings, is in Configuring Process Engine .

PrefixParameterDescriptionDefault value
camunda-eight-clientcamunda-api-urlBase URL of REST API v2http://camunda:8080/v2
camunda-eight-clientbusiness-key-variableProcess variable name for the ticket identifierbusinessKey
camunda-eight-clientoauth2-enabledAttach a bearer token to requeststrue
camunda-eight-clientoauth2-registration-idClient registration ID from spring.security.oauth2.client.registrationcamunda8

camunda-client

Legacy engine REST client. It is not used with Camunda 8, but rest-api-url must be non-empty: the client is declared as @FeignClient and its bean is always created. With an empty URL the application fails to start with No Feign Client for loadBalancing defined. Any syntactically valid address is enough.

PrefixParameterDescriptionDefault value
camunda-clientrest-api-urlCamunda REST API URL—
camunda-clientoauth2-registration-idClient registration ID from spring.security.oauth2.client.registration—
camunda-clientoauth2-principalPrincipal (service name) used to cache the access token—

OAuth2 Clients (spring.security.oauth2.client)

Cabinee uses OAuth2 (client_credentials) to access external services.

Clients in use

Registration IDPurpose
unibpm-keycloakAccess to the Keycloak Admin API
unibpm-camundaAccess to the Camunda REST API

Tokens:

  • are requested automatically
  • are cached
  • are refreshed when they expire

External service integration (calender)

PrefixParameterDescriptionDefault value
calenderis-day-off-urlCalendar import service URLhttps://isdayoff.ru

Kafka configuration (spring.kafka)

PrefixParameterDescriptionDefault value
spring.kafkabootstrap-serversKafka broker address127.0.0.1:9092
spring.kafka.consumergroup-idKafka consumer groupunibpm-1

Database and Liquibase configuration

PrefixParameterDescriptionDefault value
spring.datasourceurlDatabase connection URLfrom environment variables
spring.datasourceusernameDatabase usernamefrom environment variables
spring.datasourcepasswordPasswordfrom environment variables
spring.datasource.hikariauto-commitAutocommitfalse
spring.datasource.hikaripool-namePool nameHikari
spring.jpahibernate.ddl-autoDDL strategynone
spring.liquibasechange-logChangelog pathclasspath:config/liquibase/master.xml
spring.liquibaseenabledEnable Liquibasetrue

Thread pool and asynchronous processing (task execution & scheduling)

PrefixParameterDescriptionDefault value
spring.task.executionthread-name-prefixThread name prefixunibpm-task-
spring.task.execution.poolcore-sizeMinimum number of threads2
spring.task.execution.poolmax-sizeMaximum number of threads50
spring.task.execution.poolqueue-capacityQueue size10000
spring.task.schedulingthread-name-prefixScheduler thread name prefixunibpm-scheduling-
spring.task.scheduling.poolsizeNumber of threads2

File uploads (spring.servlet.multipart)

PrefixParameterDescriptionDefault value
spring.servlet.multipartmax-file-sizeMaximum file size32MB
spring.servlet.multipartmax-request-sizeMaximum request size32MB

Server parameters (server)

PrefixParameterDescriptionDefault value
serverportApplication port8099
server.errorinclude-messageInclude error messagealways
server.errorinclude-binding-errorsInclude binding errorsalways
server.errorinclude-exceptionInclude exceptiontrue
server.errorinclude-stacktraceInclude stacktracealways

Swagger UI (springdoc.swagger-ui)

It is recommended to disable API documentation on a production stand.

PrefixParameterDescriptionDefault value
springdoc.swagger-uiswagger-ui.enabledEnable / disable API documentation (UI). It is recommended to set this to false on a production stand.true
springdoc.swagger-uiapi-docs.enabledEnable / disable API documentation (JSON). It is recommended to set this to false on a production stand.true
springdoc.swagger-uidisplay-operation-idDisplay operationIdtrue

AI Configuration (ai)

ParameterDescription
ai.enabledEnable AI functionality
spring.ai.openai.api-keyOpenAI API key
spring.ai.openai.embedding.options.modelEmbedding model
spring.ai.vectorstore.pgvector.*pgvector settings

Monitoring (management)

PrefixParameterDescriptionDefault value
management.info.gitenabledEnable git informationtrue
management.info.gitmodeGit info modefull
management.info.osenabledEnable OS informationtrue
management.info.buildenabledEnable build infotrue
management.info.envenabledEnable env infotrue
management.endpoints.web.exposureincludeWhich endpoints are enabledhealth,info
management.endpoint.healthshow-detailsHealth detailsalways