Configuration of priint:bpm (Camunda)
1. Configuring Application Properties
You can override any bundled properties by placing a file named application.yml next to the jar. It will be read in at startup (assuming you run it using the provided command, see installation instructions) and all properties within it will take precedence over the ones bundled with the app.
2. Port
The default port for Camunda is 8888. Change it to for example 8889 with this setting in application.yml
server:
port: 8889
3. Database
Properties for different DBMS engines can be used by specifying appropriate spring profiles. Default credentials can be found in our access-restricted documentation for partners. We recommend setting your own secure passwords.
MySQL and its connection configuration is used by default, other available DB-related profiles that need to be explicitly activated are: oracle, sqlserver.
- MySQL
- SQL Server
- Oracle
If you are using MySQL, add only the datasource config to your application.yml.
spring:
datasource:
url: jdbc:mysql://localhost:43306/priint_bpm?serverTimezone=Europe/Berlin&sessionVariables=transaction_isolation='READ-COMMITTED'
username: <check default credentials>
password: <check default credentials>
If required values are different, add the properties you wish to change to your application.yml.
If you are using Microsoft SQL Server, add a profile to your application.yml:
spring:
profiles:
active: "sqlserver"
Default connection settings would then be:
spring:
datasource:
url: "jdbc:sqlserver://localhost:1433;databaseName=priint_bpm"
username: <check default credentials>
password: <check default credentials>
You can override these values by adding them to your application.yml.
If working with an Oracle database, set the profile to oracle:
spring:
profiles:
active: "oracle"
Default connection properties are then:
spring:
datasource:
url: "jdbc:oracle:thin:<put_your_username>/<put_your_password>@localhost:1521:orcl"
username: <check default credentials>
password: <check default credentials>
In all cases "username" is the database name of the priint bpm / camunda database created by the installer. Use the password of the database user (not db admin user!) configured during the publishing server installation.
You only need to adjust these defaults if your database is not on localhost, or any other setting must be changed, add them to application.yml
4. Publishing Server Connection
The connection to the publishing server is controlled by the following settings:
planner.engine:
url: http://localhost:40080/PlannerEngine/api/
# The user added here needs to be assigned to or have access to projects this priint-bpm will process. Make sure you either
# explicitly configure this account to take part in projects or grant it a role that enables it to access any project.
user: admin
password: yourPlannerEnginePassword
If your installation uses different settings, please add them to application.yml.
Detailed description of the properties' mechanism used can be found here.
5. History
Most of our default processes are using the history provided by Camunda to provide an execution history and for displaying the outcome. The default settings are AUDIT and the logs are kept for 7 days. For more information on the history configuration consult the official documentation.
We don't recommend changing the defaults, so please only overwrite these values in your application.yml if you know what you're doing.
camunda.bpm:
history-level: AUDIT
If you run into problems in the applications, for example missing process instances in priint:planner or missing notifications, check that the history level is set to at least AUDIT.
6. Logging
You can configure logback to output logs as desired. When defining your own application.yml, just define a pointer to logback config file like this:
logging:
config: your-logback-file.xml
Then create your-logback-file.xml next to your jar and application.yml. Example configuration you might use as a start:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
<logger name="com.priint" level="INFO"/>
</configuration>
7. Health checks and metrics
Health and separate readiness and liveness endpoints can be activated by adding the following lines to application.yml:
management:
endpoint:
health:
show-details: ALWAYS
probes:
enabled: true
health:
livenessstate:
enabled: true
readinessstate:
enabled: true
endpoints:
web.exposure.include: health
Following endpoints will become accessible by HTTP GET at runtime:
http://your-host:your-port/actuator/healthhttp://your-host:your-port/actuator/health/readinesshttp://your-host:your-port/actuator/health/liveness
To enable metrics in prometheus format add prometheus to the list of exposed endpoints and enable metrics collection.
management:
endpoints:
web.exposure.include: ..., prometheus
camunda.bpm:
metrics:
enabled: true
db-reporter-activate: true
Following endpoint will become accessible by HTTP GET at runtime:
http://your-host:your-port/actuator/prometheus
8. Camunda configuration
The admin user creation wizard is shown on the first start of the priint:bpm application. You can find more about this initial setup and how to reset the admin user password here.
Alternatively it is possible to configure priint:bpm / Camunda in such a way that the admin user is created automatically on the first start of the application. To configure this add the following lines to your "application.yaml" and change the values. This is however optional.
camunda.bpm:
admin-user:
id: "admin"
password: "changeme"
email: "dev@priint.com"
first-name: "Camunda"
last-name: "Admin"