For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.10 (unreleased)

Camunda 8.10 deployment topology

Camunda 8.10 Self-Managed is deployed as a Hub plane and one or more execution planes, each installed as its own Helm release.

A single Helm chart still produces every component. What changed in 8.10 is that you choose the role each release plays in the wider deployment, using global.topology.mode. One management release running Camunda Hub can serve many independently deployed Orchestration Clusters, and each cluster can host several Physical Tenants, each with its own Optimize release.

For the mechanics of installing this topology, see install the deployment topology.

Release roles​

global.topology.mode selects what a release deploys and what it must be told about the rest of the deployment.

Minimum chart versions

The deployment topology needs these minimum Helm chart versions:

Camunda versionChart lineMinimum chart versionAdds
8.1015.x15.0.0The hub, orchestration, and optimize roles, and physicalTenants
8.914.x14.11.0The orchestration role
8.813.x13.14.0The orchestration role
8.712.x12.14.0The orchestration role, with architecture: legacy in the Hub record

Older 8.7, 8.8, and 8.9 charts have no global.topology key. They silently ignore global.topology.mode and deploy a combined release, so check the chart version before you set the role.

RoleChart versionsDeploysKey requirements
hub8.10 (15.0.0+)Camunda Hub and Management Identityidentity.enabled: true, OIDC authentication, and it's the only release that declares global.topology.clusters
orchestration8.10 (15.0.0+), 8.9 (14.11.0+), 8.8 (13.14.0+), 8.7 (12.14.0+)8.10 and 8.9: one Orchestration Cluster and Connectors. 8.8: the same, plus the chart's default bundled Elasticsearch. 8.7: Zeebe, Zeebe Gateway, Operate, Tasklist, Optimize, and Connectors, plus the default bundled Elasticsearchglobal.identity.auth.enabled: true, identity.enabled: false, a reachable global.identity.service.url, and the workload enabled. Requirements differ by chart version, see per-version requirements
optimize8.10 (15.0.0+)Optimize onlyoptimize.enabled: true, global.noSecondaryStorage: false, an enabled Elasticsearch or OpenSearch backend with a non-empty host, an OIDC issuer, a reachable Management Identity URL, and optimize.contextPath when the chart renders this release's routing
combinedAll; the implicit behavior of charts without global.topologyEvery enabled component in one releaseNone beyond normal component configuration. This is the default

Camunda Hub and its cluster inventory exist only in the 8.10 chart, so hub and optimize are 8.10-only roles. The 8.7, 8.8, and 8.9 charts support combined and orchestration only, from the minimum versions above. Earlier versions of those charts have no global.topology key: they always behave as combined, and setting orchestration on them has no effect and produces no error.

A chart 8.7 orchestration release still runs Optimize in-release, so it doesn't follow the one-Optimize-release-per-tenant model.

The chart validates these requirements at render time and fails with a [camunda][error] message naming the missing value, so a misconfigured topology doesn't reach the cluster.

How the planes fit together​

One Hub release serves any number of Orchestration Clusters. Each cluster hosts one or more Physical Tenants, and each tenant is served by exactly one Optimize release.

Optimize is one-to-one with a Physical Tenant because it reads exported records from a single index prefix. A tenant without its own Optimize release has no analytics; an Optimize release pointed at two tenants reads only one of them.

The default Physical Tenant counts. Every Orchestration Cluster has one, created at provisioning time, and it needs its own Optimize release like any other tenant.

Mix Orchestration Cluster versions under one Hub​

An 8.10 Hub release manages Orchestration Cluster releases on the 8.7, 8.8, 8.9, and 8.10 charts. Each cluster deploys from its own chart and its own values, so clusters upgrade independently of the Hub and of each other.

Orchestration chartRole to setCluster record needs
8.10orchestrationThe standard record
8.9orchestrationThe standard record
8.8orchestrationThe standard record
8.7orchestrationarchitecture: legacy and the legacy service names

Chart 8.7 predates the unified Orchestration Cluster, so it runs Zeebe, Zeebe Gateway, Operate, and Tasklist as separate workloads. Its Hub cluster record must set architecture: legacy, which makes the Hub inventory address those split services and omit the Orchestration Admin component. See describe a chart 8.7 cluster.

The Hub release always owns registration, clients, permissions, and inventory, whatever chart version a cluster runs. The older charts can't own any of that, because Camunda Hub doesn't exist in them.

Why the topology is split​

  • Independent cluster lifecycle. Each Orchestration Cluster is deployed, scaled, upgraded, and removed on its own schedule, without declaring its sibling clusters or duplicating their configuration.
  • One authoritative inventory. Management Identity registration and Camunda Hub's cluster list both derive from the same global.topology.clusters records, so client IDs, audiences, roles, and endpoints can't drift apart.
  • Tenant-level isolation. Physical Tenants give each team separate data storage and independent backup and restore within one cluster, and each tenant's Optimize gets its own OIDC client and resource server.
  • Declarative operation. Topology renders from values alone, with no cluster discovery, so Helm, Argo CD, and Flux all produce the same resources.

What the split does not give you​

  • Hub is single-region. Multi-region guidance applies to the Orchestration Cluster only.
  • Physical Tenants share compute. Tenants have isolated data and independent management, but they share the cluster's brokers and gateways, so runtime interference is reduced rather than eliminated. See what is not isolated.
  • Identity reconciliation is additive. Removing a cluster or tenant record doesn't delete its external client, resource server, permissions, or role. Inventory and clean those objects yourself, after the releases that used them have stopped.
  • Authentication isolation isn't storage isolation. Separate OIDC credentials per cluster and tenant do nothing to separate shared Elasticsearch or OpenSearch data. Index prefixes do that, and they're your responsibility. See configure Physical Tenants across releases.
  • Scale limits are undefined. Supported cluster and tenant counts haven't been established. Validate your own target scale before committing to it.

What the chart does not own​

The chart deploys workloads and wires them to the endpoints you give it. Everything below is yours to provide, and every URL you configure must be reachable from the release that uses it.

ConcernOwner
OIDC provider, its clients, and its pinned issuerYou
Cross-namespace and cross-cluster DNS, routing, and TLS trustYou
NetworkPolicies and firewall rulesYou
Management Identity and Camunda Hub relational databasesYou
Orchestration Cluster and Optimize secondary storageYou
Index retention and deletion, including after a Helm uninstallYou
Kubernetes workloads, services, secrets wiring, and volumesThe chart
Management Identity presets and Camunda Hub cluster inventoryThe chart, from global.topology.clusters

Camunda 8.10 bundles no Elasticsearch, PostgreSQL, or Keycloak subcharts. Provision these before you install. See deploy required dependencies.

Choose your topology​

Your situationUse
Evaluating Camunda, or developing locallyA combined release. See quick developer install
A new production deployment, one clusterA hub release plus one orchestration release. See install the deployment topology
A new production deployment, several clusters or tenantsThe same, plus one optimize release per Physical Tenant. See configure Physical Tenants across releases
Analytics for a Physical Tenant in the split topologyOne optimize release per Physical Tenant. See install an Optimize release
Upgrading an existing 8.9 deploymentUpgrade in place first, staying on combined. See upgrade Camunda 8.9 to 8.10 using Helm
Moving an existing combined release to the split topologySee move from a combined release to the split topology

A combined release remains supported, and remains the default. It's the right choice for evaluation, proofs of concept, and 8.9 compatibility. For a new production deployment, the split topology is the baseline.