Skip to main content
Version: 8.9 (unreleased)

Configuration

As a Spring Boot application, Operate supports any standard Spring configuration method.

By default, the configuration for Operate is stored in a YAML file (application.yml). All Operate-related settings are prefixed with camunda.operate.

note

Configuration properties can be defined as environment variables using Spring Boot conventions. To define an environment variable, convert the configuration property to uppercase, remove any dashes, and replace any delimiters (.) with _.

For example, the property camunda.operate.elasticsearch.clustername is represented by the environment variable CAMUNDA_OPERATE_ELASTICSEARCH_CLUSTERNAME.

The following parts are configurable:

Licensing

See the core settings documentation.

Webserver and security

See the core settings documentation.

Elasticsearch or OpenSearch

See the secondary storage documentation and core settings documentation.

Zeebe Elasticsearch or OpenSearch exporter

note

Version 8.8+: The Importer is required only for migration scenarios (upgrades from 8.7). Keep it enabled until all remaining 8.7 records have been imported. After that, the Camunda Exporter takes over and writes directly to the Operate indices. The Importer can then be safely disabled for subsequent restarts or deployments.

New 8.8+ installations do not need to enable or configure the Importer. Its only purpose is to temporarily support migrations from 8.7 data.

For Elasticsearch, Operate imports data from indices created and filled in by the Zeebe Elasticsearch exporter.

For OpenSearch, Operate imports data from indices created and filled in by the Zeebe OpenSearch exporter.

Therefore, settings for this Elasticsearch or OpenSearch connection must be defined and must correspond to the settings on the Zeebe side.

Settings to connect and import

See also settings to connect to a secured Elasticsearch instance or settings to connect to a secured OpenSearch instance.

note

You may need to import the certificate keystore into the JVM runtime.

# Kubernetes example:
zeebe:

javaOpts: >-

-Djavax.net.ssl.trustStore=/path/to/certificates/elasticsearch.jks
NameDescriptionDefault value
camunda.operate.zeebeElasticsearch.clusterNameCluster name of Elasticsearchelasticsearch
camunda.operate.zeebeElasticsearch.urlURL of Zeebe Elasticsearch REST APIhttp://localhost:9200
camunda.operate.zeebeElasticsearch.prefixIndex prefix as configured in Zeebe Elasticsearch exporterzeebe-record
camunda.operate.zeebeElasticsearch.usernameUsername to access Elasticsearch REST API-
camunda.operate.zeebeElasticsearch.passwordPassword to access Elasticsearch REST API-
camunda.operate.zeebeElasticsearch.ssl.certificatePathPath to certificate used by Elasticsearch-
camunda.operate.zeebeElasticsearch.ssl.selfSignedCertificate was self-signedfalse
camunda.operate.zeebeElasticsearch.ssl.verifyHostnameShould the hostname be validatedfalse

Snippet from application.yml for Elasticsearch

camunda.operate:
zeebeElasticsearch:
# Cluster name
clusterName: elasticsearch
# Url
url: https://localhost:9200
# Index prefix, configured in Zeebe Elasticsearch exporter
prefix: zeebe-record

Example for OpenSearch:

NameDescriptionDefault value
camunda.operate.zeebeOpensearch.clusterNameCluster name of OpenSearchopensearch
camunda.operate.zeebeOpensearch.urlURL of Zeebe OpenSearch REST APIhttp://localhost:9200
camunda.operate.zeebeOpensearch.prefixIndex prefix as configured in Zeebe OpenSearch exporterzeebe-record
camunda.operate.zeebeOpensearch.usernameUsername to access OpenSearch REST API-
camunda.operate.zeebeOpensearch.passwordPassword to access OpenSearch REST API-
camunda.operate.zeebeOpensearch.ssl.certificatePathPath to certificate used by OpenSearch-
camunda.operate.zeebeOpensearch.ssl.selfSignedCertificate was self-signedfalse
camunda.operate.zeebeOpensearch.ssl.verifyHostnameShould the hostname be validatedfalse

Snippet from application.yml for OpenSearch

camunda.operate:
zeebeOpensearch:
# Cluster name
clusterName: opensearch
# Url
url: https://localhost:9200
# Index prefix, configured in Zeebe OpenSearch exporter
prefix: zeebe-record

Operation executor

Operations are user operations, like cancellation of process instance(s) or updating the variable value.

Operations are executed in a multi-threaded manner.

NameDescriptionDefault value
camunda.operate.operationExecutor.threadsCountHow many threads should be used.3

Snippet from application.yml

camunda.operate:
operationExecutor:
threadsCount: 3

Monitoring Operate

See the core settings documentation.

Logging

See the core settings documentation.

Backups

See the core settings documentation.