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.
| Prefix (parameter group) | Parameter | Description | Default value |
|---|
Core application parameters (application)
| Prefix | Parameter | Description | Default value |
|---|
| application | version | Application version (taken from pom.xml by default) | @project.version@ |
| application | admin-role-name | Administrator role name | ROLE_cabinee-admin |
| application | application-url | Application URL for display in templates | http://localhost:8099 |
| application | sender-role-name | Role name for working with Sender via REST API | cabinee-sender |
| application | prefix-role-name | Role prefix | ROLE_ |
| application | preference-theme-key | User preference key for the theme | THEME |
| application | workflow.code-max-length | Maximum process code length | 10 |
| application | correlate-message-tenants | Multi-tenant BPMN message routing | true |
| application | fqdn | Fully qualified domain name used to form Message-ID in outbound messages | localhost |
| application | ticket-number-prefix | Ticket number prefix used to form outbound message subjects | Ticket |
| application | plain-text-pattern | Image filtering regexp (plain text) for inbound message processing | see application.yaml |
| application | html-text-pattern | Image filtering regexp (HTML) for inbound message processing | see application.yaml |
| application | user-attribute-position | Keycloak attribute that stores the user job title | jobTitle |
| application | user-attribute-id | Keycloak attribute that stores the employee ID of the user | employeeId |
| application | keycloak-pagination | Page size when importing users from Keycloak | 100 |
Mail gateway (sender)
| Prefix | Parameter | Description | Default value |
|---|
| sender | retries | Number of message processing attempts | 3 |
| sender | is-handle | Enable/disable message processing | true |
| sender | send-delay-in-millis | Outbound message send interval (ms) | 60000 |
| sender | receive-delay-in-millis | Inbound message receive interval (ms) | 60000 |
| sender | channel-init-delay-in-millis | Channel refresh interval (ms) | 60000 |
| sender | token-refresh-delay-in-millis | OAuth2 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
| Prefix | Parameter | Description | Default value |
|---|
| identity.keycloak | base-url | Keycloak server URL | — |
| identity.keycloak | realm | Realm | — |
| identity.keycloak | client-registration-id | OAuth2 client registration ID | — |
| identity.keycloak | principal | Principal for client_credentials | — |
| identity.keycloak | delay-in-millis | User synchronization interval (ms) | 60000 |
| identity.keycloak | keycloak-pagination | Page size when importing users | 100 |
| identity.keycloak | user-attribute-position | Keycloak attribute for job title | jobTitle |
| identity.keycloak | user-attribute-id | Keycloak attribute for employee ID | employeeId |
| identity.keycloak | front-client-registration-id | Frontend client registration ID | — |
Camunda integration
unibpm.engine
| Prefix | Parameter | Description | Value |
|---|
| unibpm.engine | version | Enables Camunda 8 integration | no 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.
| Prefix | Parameter | Description | Default value |
|---|
| camunda-kafka-import | user-task-event-topic | Kafka topic for importing user tasks | reunico.unibpm.task.events.prod |
| camunda-kafka-import | change-state-topic | Kafka topic for importing status changes | reunico.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
.
| Prefix | Parameter | Description | Default value |
|---|
| camunda-eight-client | camunda-api-url | Base URL of REST API v2 | http://camunda:8080/v2 |
| camunda-eight-client | business-key-variable | Process variable name for the ticket identifier | businessKey |
| camunda-eight-client | oauth2-enabled | Attach a bearer token to requests | true |
| camunda-eight-client | oauth2-registration-id | Client registration ID from spring.security.oauth2.client.registration | camunda8 |
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.
| Prefix | Parameter | Description | Default value |
|---|
| camunda-client | rest-api-url | Camunda REST API URL | — |
| camunda-client | oauth2-registration-id | Client registration ID from spring.security.oauth2.client.registration | — |
| camunda-client | oauth2-principal | Principal (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 ID | Purpose |
|---|
| unibpm-keycloak | Access to the Keycloak Admin API |
| unibpm-camunda | Access to the Camunda REST API |
Tokens:
- are requested automatically
- are cached
- are refreshed when they expire
External service integration (calender)
| Prefix | Parameter | Description | Default value |
|---|
| calender | is-day-off-url | Calendar import service URL | https://isdayoff.ru |
Kafka configuration (spring.kafka)
| Prefix | Parameter | Description | Default value |
|---|
| spring.kafka | bootstrap-servers | Kafka broker address | 127.0.0.1:9092 |
| spring.kafka.consumer | group-id | Kafka consumer group | unibpm-1 |
Database and Liquibase configuration
| Prefix | Parameter | Description | Default value |
|---|
| spring.datasource | url | Database connection URL | from environment variables |
| spring.datasource | username | Database username | from environment variables |
| spring.datasource | password | Password | from environment variables |
| spring.datasource.hikari | auto-commit | Autocommit | false |
| spring.datasource.hikari | pool-name | Pool name | Hikari |
| spring.jpa | hibernate.ddl-auto | DDL strategy | none |
| spring.liquibase | change-log | Changelog path | classpath:config/liquibase/master.xml |
| spring.liquibase | enabled | Enable Liquibase | true |
Thread pool and asynchronous processing (task execution & scheduling)
| Prefix | Parameter | Description | Default value |
|---|
| spring.task.execution | thread-name-prefix | Thread name prefix | unibpm-task- |
| spring.task.execution.pool | core-size | Minimum number of threads | 2 |
| spring.task.execution.pool | max-size | Maximum number of threads | 50 |
| spring.task.execution.pool | queue-capacity | Queue size | 10000 |
| spring.task.scheduling | thread-name-prefix | Scheduler thread name prefix | unibpm-scheduling- |
| spring.task.scheduling.pool | size | Number of threads | 2 |
File uploads (spring.servlet.multipart)
| Prefix | Parameter | Description | Default value |
|---|
| spring.servlet.multipart | max-file-size | Maximum file size | 32MB |
| spring.servlet.multipart | max-request-size | Maximum request size | 32MB |
Server parameters (server)
| Prefix | Parameter | Description | Default value |
|---|
| server | port | Application port | 8099 |
| server.error | include-message | Include error message | always |
| server.error | include-binding-errors | Include binding errors | always |
| server.error | include-exception | Include exception | true |
| server.error | include-stacktrace | Include stacktrace | always |
Swagger UI (springdoc.swagger-ui)
It is recommended to disable API documentation on a production stand.
| Prefix | Parameter | Description | Default value |
|---|
| springdoc.swagger-ui | swagger-ui.enabled | Enable / disable API documentation (UI). It is recommended to set this to false on a production stand. | true |
| springdoc.swagger-ui | api-docs.enabled | Enable / disable API documentation (JSON). It is recommended to set this to false on a production stand. | true |
| springdoc.swagger-ui | display-operation-id | Display operationId | true |
AI Configuration (ai)
| Parameter | Description |
|---|
| ai.enabled | Enable AI functionality |
| spring.ai.openai.api-key | OpenAI API key |
| spring.ai.openai.embedding.options.model | Embedding model |
| spring.ai.vectorstore.pgvector.* | pgvector settings |
Monitoring (management)
| Prefix | Parameter | Description | Default value |
|---|
| management.info.git | enabled | Enable git information | true |
| management.info.git | mode | Git info mode | full |
| management.info.os | enabled | Enable OS information | true |
| management.info.build | enabled | Enable build info | true |
| management.info.env | enabled | Enable env info | true |
| management.endpoints.web.exposure | include | Which endpoints are enabled | health,info |
| management.endpoint.health | show-details | Health details | always |