Skip to main content
Version: 8.9 (unreleased)

Camunda 8.8 property changes

Changes to component configuration properties introduced in Camunda 8.8.

About unified configuration property changes

In Camunda 8.8, the unified configuration for Orchestration Cluster components is introduced.

  • Cluster and component behavior is defined in a single, centralized configuration system.
  • This means some configuration properties have changed or are replaced with new properties.
  • For example, the new camunda.system.cpu-thread-count property replaces zeebe.broker.threads.cpuThreadCount.
Camunda 8.9 unified configuration breaking changes

Only the first partial set of unified configuration properties is introduced in Camunda 8.8.

  • All remaining unified property changes will be completed by Camunda 8.9.
  • This remaining work will result in future breaking changes. For example, the secondary database properties will be unified into a secondary-storage properties section.

New properties and backwards compatibility

Backwards compatibility between new Camunda 8.8 unified properties and existing legacy properties is as follows:

TypeDescription
Breaking change

New unified property with an existing equivalent legacy property or set of properties.

Backwards compatibility is not supported.

  • You should move legacy properties marked with breaking change to the new unified set before upgrading to Camunda 8.8.

  • You can keep legacy properties in your configuration file as long as they match the new unified configuration equivalent property. However, this is not recommended as it can lead to misconfiguration. If the values do not match, the application will not start, and an error will be logged.

Direct mapping

New unified property with a direct mapping to an existing equivalent legacy property or set of properties.

Backwards compatibility is supported as follows:

  • If you have defined the new property, it is used.

  • If you have not defined the new property, the legacy property is used.

New

New unified property without an existing equivalent legacy property.

As part of upgrading to Camunda 8.8, replace any legacy properties shown in the Camunda 8.8 property changes table below with the equivalent new unified configuration property.

You can define configuration properties 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:

PropertyEnvironment variable
camunda.api.grpc.addressCAMUNDA_API_GRPC_ADDRESS
camunda.api.grpc.min-keep-alive-intervalCAMUNDA_API_GRPC_MINKEEPALIVEINTERVAL

Example

In this example, an application uses the following legacy configuration:

camunda.database.url=http://prod-db.com:54321
camunda.operate.opensearch.url=http://prod-db.com:54321
camunda.tasklist.opensearch.url=http://prod-db.com:54321

Remove the legacy properties and add the corresponding new property:

camunda.data.secondary-storage.opensearch.url=http://prod-db.com:54321

Camunda 8.8 property changes

The following table shows new unified properties introduced in 8.8 and their equivalent legacy properties.

  • Use the search box to find a specific property or set of properties matching your search term.
  • Apply filter badges to filter the table by property change type.
  • Sort the table alphabetically using the column headers.
info

Learn more about new properties (including default values) in the property reference.

Area New property (8.8) Legacy properties (8.7 and earlier) Type
APIcamunda.api.grpc.address
  • zeebe.gateway.network.host
  • zeebe.broker.gateway.network.host

Direct mapping

APIcamunda.api.grpc.port
  • zeebe.gateway.network.port
  • zeebe.broker.gateway.network.port

Direct mapping

APIcamunda.api.grpc.min-keep-alive-interval
  • zeebe.gateway.network.minKeepAliveInterval
  • zeebe.broker.gateway.network.minKeepAliveInterval

Direct mapping

APIcamunda.api.grpc.max-message-size
  • zeebe.gateway.network.maxMessageSize
  • zeebe.broker.gateway.network.maxMessageSize

Direct mapping

APIcamunda.api.grpc.ssl.enabled
  • zeebe.gateway.security.enabled
  • zeebe.broker.gateway.security.enabled

Direct mapping

APIcamunda.api.grpc.ssl.certificate
  • zeebe.gateway.security.certificateChainPath
  • zeebe.broker.gateway.security.certificateChainPath

Direct mapping

APIcamunda.api.grpc.ssl.certificate-private-key
  • zeebe.gateway.security.privateKeyPath
  • zeebe.broker.gateway.security.privateKeyPath

Direct mapping

APIcamunda.api.grpc.ssl.key-store.file-path
  • zeebe.gateway.security.keyStore.filePath
  • zeebe.broker.gateway.security.keyStore.filePath

Direct mapping

APIcamunda.api.grpc.ssl.key-store.password
  • zeebe.gateway.security.keyStore.password
  • zeebe.broker.gateway.security.keyStore.password

Direct mapping

APIcamunda.api.grpc.interceptors[].id
  • zeebe.gateway.interceptors.[x].id
  • zeebe.broker.gateway.interceptors.[x].id

Direct mapping

APIcamunda.api.grpc.interceptors[].jar-path
  • zeebe.gateway.interceptors.[x].jarPath
  • zeebe.broker.gateway.interceptors.[x].jarPath

Direct mapping

APIcamunda.api.grpc.interceptors[].class-name
  • zeebe.gateway.interceptors.[x].className
  • zeebe.broker.gateway.interceptors.[x].className

Direct mapping

APIcamunda.api.grpc.management-threads
  • zeebe.gateway.threads.managementThreads
  • zeebe.broker.gateway.threads.managementThreads

Direct mapping

APIcamunda.api.long-polling.enabled
  • zeebe.gateway.longPolling.enabled
  • zeebe.broker.gateway.longPolling.enabled

Direct mapping

APIcamunda.api.long-polling.timeout
  • zeebe.gateway.longPolling.timeout
  • zeebe.broker.gateway.longPolling.timeout

Direct mapping

APIcamunda.api.long-polling.probe-timeout
  • zeebe.gateway.longPolling.probeTimeout
  • zeebe.broker.gateway.longPolling.probeTimeout

Direct mapping

APIcamunda.api.long-polling.min-empty-responses
  • zeebe.gateway.longPolling.minEmptyResponses
  • zeebe.broker.gateway.longPolling.minEmptyResponses

Direct mapping

APIcamunda.api.rest.filters[].id
  • zeebe.gateway.filters.[x].id
  • zeebe.broker.gateway.filters.[x].id

Direct mapping

APIcamunda.api.rest.filters[].jar-path
  • zeebe.gateway.filters.[x].jarPath
  • zeebe.broker.gateway.filters.[x].jarPath

Direct mapping

APIcamunda.api.rest.filters[].class-name
  • zeebe.gateway.filters.[x].className
  • zeebe.broker.gateway.filters.[x].className

Direct mapping

APIcamunda.api.rest.process-cache.max-sizecamunda.rest.processCache.maxSize

Direct mapping

APIcamunda.api.rest.process-cache.expiration-idlecamunda.rest.processCache.expirationIdleMillis

Direct mapping

APIcamunda.api.rest.executor.core-pool-size-multipliercamunda.rest.apiExecutor.corePoolSizeMultiplier

Direct mapping

APIcamunda.api.rest.executor.max-pool-size-multipliercamunda.rest.apiExecutor.maxPoolSizeMultiplier

Direct mapping

APIcamunda.api.rest.executor.keep-alivecamunda.rest.apiExecutor.keepAliveSeconds

Direct mapping

APIcamunda.api.rest.executor.queue-capacitycamunda.rest.apiExecutor.queueCapacity

Direct mapping

Clustercamunda.cluster.metadata.sync-delayzeebe.broker.cluster.configManager.gossip.syncDelay

Direct mapping

Clustercamunda.cluster.metadata.sync-request-timeoutzeebe.broker.cluster.configManager.gossip.syncRequestTimeout

Direct mapping

Clustercamunda.cluster.metadata.gossip-fanoutzeebe.broker.cluster.configManager.gossip.gossipFanout

Direct mapping

Clustercamunda.cluster.network.host
  • zeebe.gateway.cluster.host
  • zeebe.broker.network.host

Direct mapping

Clustercamunda.cluster.node-idzeebe.broker.cluster.nodeId

Direct mapping

Clustercamunda.cluster.partition-countzeebe.broker.cluster.partitionsCount

Direct mapping

Clustercamunda.cluster.replication-factorzeebe.broker.cluster.replicationFactor

Direct mapping

Clustercamunda.cluster.sizezeebe.broker.cluster.clusterSize

Direct mapping

Clustercamunda.cluster.raft.priority-election-enabledzeebe.broker.cluster.raft.enablePriorityElection

Direct mapping

Clustercamunda.cluster.raft.flush-enabledzeebe.broker.cluster.raft.flush.enabled

Direct mapping

Clustercamunda.cluster.raft.flush-delayzeebe.broker.cluster.raft.flush.delay

Direct mapping

Clustercamunda.cluster.raft.heartbeat-intervalzeebe.broker.cluster.heartbeatInterval

Direct mapping

Clustercamunda.cluster.raft.election-timeoutzeebe.broker.cluster.electionTimeout

Direct mapping

Datacamunda.data.snapshot-periodzeebe.broker.data.snapshotPeriod

Direct mapping

Datacamunda.data.export.distribution-intervalzeebe.broker.exporting.distributionInterval

Direct mapping

Datacamunda.data.export.skip-recordszeebe.broker.exporting.skipRecords

Direct mapping

Datacamunda.data.backup.repository-name

Note: Starting with 8.8, the same repository must be used for both Operate and Tasklist.

  • camunda.operate.backup.repositoryName
  • camunda.tasklist.backup.repositoryName

Breaking change

Datacamunda.data.backup.snapshot-timeoutcamunda.operate.backup.snapshotTimeout

Direct mapping

Datacamunda.data.backup.incomplete-check-timeoutcamunda.operate.backup.incompleteCheckTimeoutInSeconds

Direct mapping

Datacamunda.data.backup.storezeebe.broker.data.backup.store

Direct mapping

Datacamunda.data.backup.s3.bucket-namezeebe.broker.data.backup.s3.bucketName

Direct mapping

Datacamunda.data.backup.s3.endpointzeebe.broker.data.backup.s3.endpoint

Direct mapping

Datacamunda.data.backup.s3.endpointzeebe.broker.data.backup.s3.endpoint

Direct mapping

Datacamunda.data.backup.s3.regionzeebe.broker.data.backup.s3.region

Direct mapping

Datacamunda.data.backup.s3.access-keyzeebe.broker.data.backup.s3.accessKey

Direct mapping

Datacamunda.data.backup.s3.secret-keyzeebe.broker.data.backup.s3.secretKey

Direct mapping

Datacamunda.data.backup.s3.api-call-timeoutzeebe.broker.data.backup.s3.apiCallTimeout

Direct mapping

Datacamunda.data.backup.s3.force-path-style-accesszeebe.broker.data.backup.s3.forcePathStyleAccess

Direct mapping

Datacamunda.data.backup.s3.compression:zeebe.broker.data.backup.s3.compression:

Direct mapping

Datacamunda.data.backup.s3.max-concurrent-connections:zeebe.broker.data.backup.s3.maxConcurrentConnections

Direct mapping

Datacamunda.data.backup.s3.connection-acquisition-timeoutzeebe.broker.data.backup.s3.connectionAcquisitionTimeout

Direct mapping

Datacamunda.data.backup.s3.base-pathzeebe.broker.data.backup.s3.basePath

Direct mapping

Datacamunda.data.backup.s3.support-legacy-md5zeebe.broker.data.backup.s3.supportLegacyMd5

Direct mapping

Datacamunda.data.backup.gcs.bucket-namezeebe.broker.data.backup.gcs.bucketName

Direct mapping

Datacamunda.data.backup.gcs.hostzeebe.broker.data.backup.gcs.host

Direct mapping

Datacamunda.data.backup.gcs.authzeebe.broker.data.backup.gcs.auth

Direct mapping

Datacamunda.data.backup.azure.endpointzeebe.broker.data.backup.azure.endpoint

Direct mapping

Datacamunda.data.backup.azure.account-namezeebe.broker.data.backup.azure.accountName

Direct mapping

Datacamunda.data.backup.azure.account-keyzeebe.broker.data.backup.azure.accountKey

Direct mapping

Datacamunda.data.backup.azure.connection-stringzeebe.broker.data.backup.azure.connectionString

Direct mapping

Datacamunda.data.backup.azure.base-pathzeebe.broker.data.backup.azure.basePath

Direct mapping

Datacamunda.data.backup.azure.create-containerzeebe.broker.data.backup.azure.createContainer

Direct mapping

Datacamunda.data.backup.azure.sas-token.typezeebe.broker.data.backup.azure.sasToken.type

Direct mapping

Datacamunda.data.backup.azure.sas-token.valuezeebe.broker.data.backup.azure.sasToken.value

Direct mapping

Datacamunda.data.backup.filesystem.base-pathzeebe.broker.data.backup.filesystem.basePath

Direct mapping

Datacamunda.data.secondary-storage.type
  • camunda.database.type
  • camunda.operate.database
  • camunda.tasklist.database

Breaking change

Datacamunda.data.secondary-storage.autoconfigure-camunda-exporterN/A

New

Datacamunda.data.secondary-storage.elasticsearch.url
  • camunda.database.url
  • camunda.operate.elasticsearch.url
  • camunda.tasklist.elasticsearch.url
  • zeebe.broker.exporters.camundaexporter.args.connect.url

Breaking change

Datacamunda.data.secondary-storage.elasticsearch.cluster-name
  • camunda.database.clusterName
  • camunda.operate.elasticsearch.clusterName
  • camunda.tasklist.elasticsearch.clusterName

Breaking change

Datacamunda.data.secondary-storage.elasticsearch.username
  • camunda.database.username
  • camunda.operate.elasticsearch.username
  • camunda.tasklist.elasticsearch.username

Breaking change

Datacamunda.data.secondary-storage.elasticsearch.password
  • camunda.database.password
  • camunda.operate.elasticsearch.password
  • camunda.tasklist.elasticsearch.password

Breaking change

Datacamunda.data.secondary-storage.elasticsearch.security.enabledN/A

New

Datacamunda.data.secondary-storage.elasticsearch.security.certificate-pathN/A

New

Datacamunda.data.secondary-storage.elasticsearch.security.verify-hostnameN/A

New

Datacamunda.data.secondary-storage.elasticsearch.security.self-signedN/A

New

Datacamunda.data.secondary-storage.elasticsearch.index-prefix
  • camunda.database.indexPrefix
  • camunda.tasklist.elasticsearch.indexPrefix
  • camunda.operate.elasticsearch.indexPrefix

Breaking change

Datacamunda.data.secondary-storage.opensearch.url
  • camunda.database.url
  • camunda.operate.opensearch.url
  • camunda.tasklist.opensearch.url
  • zeebe.broker.exporters.camundaexporter.args.connect.url

Breaking change

Datacamunda.data.secondary-storage.opensearch.cluster-name
  • camunda.database.clusterName
  • camunda.operate.opensearch.clusterName
  • camunda.tasklist.opensearch.clusterName

Breaking change

Datacamunda.data.secondary-storage.opensearch.username
  • camunda.database.username
  • camunda.operate.opensearch.username
  • camunda.tasklist.opensearch.username

Breaking change

Datacamunda.data.secondary-storage.opensearch.password
  • camunda.database.password
  • camunda.operate.opensearch.password
  • camunda.tasklist.opensearch.password

Breaking change

Datacamunda.data.secondary-storage.opensearch.security.enabledcamunda.database.security.enabled

Breaking change

Datacamunda.data.secondary-storage.opensearch.security.certificate-path
  • camunda.database.security.certificatePath
  • camunda.tasklist.opensearch.ssl.certificatePath
  • camunda.operate.opensearch.ssl.certificatePath

Breaking change

Datacamunda.data.secondary-storage.opensearch.security.verify-hostname
  • camunda.database.security.verifyHostname
  • camunda.tasklist.opensearch.ssl.verifyHostname
  • camunda.operate.opensearch.ssl.verifyHostname

Breaking change

Datacamunda.data.secondary-storage.opensearch.security.self-signed
  • camunda.database.security.selfSigned
  • camunda.tasklist.elasticsearch.ssl.selfSigned
  • camunda.operate.elasticsearch.ssl.selfSigned

Breaking change

Datacamunda.data.secondary-storage.opensearch.index-prefix
  • camunda.database.indexPrefix
  • camunda.tasklist.opensearch.indexPrefix
  • camunda.operate.opensearch.indexPrefix

Breaking change

Datacamunda.data.primary-storage.directoryzeebe.broker.data.directory

Direct mapping

Datacamunda.data.primary-storage.runtime-directoryzeebe.broker.data.runtimeDirectory

Direct mapping

Datacamunda.data.primary-storage.disk.monitoring-intervalzeebe.broker.data.disk.monitoringInterval

Direct mapping

Datacamunda.data.primary-storage.disk.monitoring-enabledzeebe.broker.data.disk.enableMonitoring

Direct mapping

Datacamunda.data.primary-storage.disk.free-space.processingzeebe.broker.data.disk.freeSpace.processing

Direct mapping

Datacamunda.data.primary-storage.disk.free-space.replicationzeebe.broker.data.disk.freeSpace.replication

Direct mapping

Datacamunda.data.primary-storage.logstream.log-segment-sizezeebe.broker.data.logSegmentSize

Direct mapping

Datacamunda.data.primary-storage.logstream.log-index-densityzeebe.broker.data.logIndexDensity

Direct mapping

Datacamunda.data.primary-storage.rocksdb.statistics-enabledzeebe.broker.experimental.rocksdb.enableStatistics

Direct mapping

Datacamunda.data.primary-storage.rocksdb.access-metricszeebe.broker.experimental.rocksdb.accessMetrics

Direct mapping

Datacamunda.data.primary-storage.rocksdb.memory-limitzeebe.broker.experimental.rocksdb.memoryLimit

Direct mapping

Datacamunda.data.primary-storage.rocksdb.max-open-fileszeebe.broker.experimental.rocksdb.maxOpenFiles

Direct mapping

Datacamunda.data.primary-storage.rocksdb.max-write-buffer-numberzeebe.broker.experimental.rocksdb.maxWriteBufferNumber

Direct mapping

Datacamunda.data.primary-storage.rocksdb.min-write-buffer-number-to-mergezeebe.broker.experimental.rocksdb.minWriteBufferNumberToMerge

Direct mapping

Datacamunda.data.primary-storage.rocksdb.io-rate-bytes-per-secondzeebe.broker.experimental.rocksdb.ioRateBytesPerSecond

Direct mapping

Datacamunda.data.primary-storage.rocksdb.wal-disabledzeebe.broker.experimental.rocksdb.disableWal

Direct mapping

Datacamunda.data.primary-storage.rocksdb.column-family-optionszeebe.broker.experimental.rocksdb.columnFamilyOptions

Direct mapping

Datacamunda.data.primary-storage.rocksdb.sst-partitioning-enabledzeebe.broker.experimental.rocksdb.enableSstPartitioning

Direct mapping

Systemcamunda.system.cpu-thread-countzeebe.broker.threads.cpuThreadCount

Direct mapping

Systemcamunda.system.io-thread-countzeebe.broker.threads.ioThreadCount

Direct mapping

Systemcamunda.system.clock-controlledzeebe.clock.controlled

Direct mapping

Systemcamunda.system.actor.idle.max-spinszeebe.actor.idle.maxSpins

Direct mapping

Systemcamunda.system.actor.idle.max-yieldszeebe.actor.idle.maxYields

Direct mapping

Systemcamunda.system.actor.idle.max-park-periodzeebe.actor.idle.maxParkPeriod

Direct mapping

Systemcamunda.system.upgrade.enable-version-checkzeebe.broker.experimental.versionCheckRestrictionEnabled

Direct mapping

Spring Profilespring.profiles.activeN/A

New

Serverserver.addressN/A

New

Serverserver.portN/A

New

Serverserver.ssl.enabledN/A

New

Serverserver.ssl.certificateN/A

New

Serverserver.ssl.certificate-private-keyN/A

New

Servermanagement.serverN/A

New

Servermanagement.server.addressN/A

New

Servermanagement.server.portN/A

New

Servermanagement.server.ssl.enabledN/A

New

Servermanagement.endpointN/A

New

Licensingcamunda.license.keyN/A

New