Upgrade Camunda components from 8.9 to 8.10
This page is a work in progress for Camunda 8.10 and will be updated as upgrade requirements are finalized.
Review component-level actions that may be required when upgrading a Camunda 8 Self-Managed deployment from 8.9.x to 8.10.x.
About
Use this page with the deployment upgrade guide for your environment. Start with the Upgrade Camunda 8 overview, then apply any component-specific steps that match your setup.
Camunda Hub
In 8.10, Camunda Hub replaces Console and Web Modeler. To support this change:
- Console-specific configurations have been removed.
- Cluster configurations have been updated.
If you use a custom configuration, review this section and make applicable changes. Otherwise, this section is not applicable to your setup.
Console configuration
Console no longer exists in 8.10. Therefore, if you've configured Console with custom settings, remove those settings:
- If using application properties, remove the top-level
camunda.consoleobject. The application will fail on startup if this is configured. - If using environment variables, remove the following variables:
CAMUNDA_CONSOLE_CONTEXT_PATHCAMUNDA_CONSOLE_CUSTOMERIDCAMUNDA_CONSOLE_DISABLE_AUTHCAMUNDA_CONSOLE_EXPERIMENTAL_DISCOVERY_MODECAMUNDA_CONSOLE_INSTALLATIONIDCAMUNDA_CONSOLE_REDIRECT_TRAILING_SLASHCAMUNDA_CONSOLE_REDIRECT_URLCAMUNDA_CONSOLE_TELEMETRY
Cluster configuration
The following settings have been ported from the Console configuration in 8.9 to Camunda Hub in 8.10:
| 8.9 | 8.10 |
|---|---|
camunda.console.managed.releases[0].tags | camunda.modeler.clusters[0].tags |
camunda.console.managed.releases[0].custom-properties | camunda.modeler.clusters[0].custom-properties |
camunda.console.managed.releases[0].components | camunda.modeler.clusters[0].components |
camunda.console.managed.releases[0].components[0].id | camunda.modeler.clusters[0].components[0].type |
camunda.console.managed.releases[0].components[0].url | camunda.modeler.clusters[0].components[0].urls.<webapp|rest|grpc> |
camunda.console.managed.releases[0].components[0].readiness | camunda.modeler.clusters[0].components[0].urls.readiness |
camunda.console.managed.releases[0].components[0].metrics | Removed. |
Cluster configuration example
Console 8.9 configuration:
camunda:
console:
managed:
releases:
- name: camunda-platform
namespace: qa-camunda-platform
version: 8.9.0
tags:
- dev
custom-properties:
- description: "Monitoring"
links:
- name: "Grafana"
url: "http://localhost:3000"
- name: "Prometheus"
url: "http://localhost:9090"
- description: "Documentation"
links:
- name: "Wiki"
url: "http://localhost:8090/wiki"
components:
- name: camunda-platform
namespace: camunda-platform-namespace
version: 9.1.2
components:
- name: Console
id: console
version: 8.9-SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/
readiness: http://camunda-platform-console.qa-camunda-platform:9100/health/readiness
metrics: http://camunda-platform-console.qa-camunda-platform:9100/prometheus
- name: Keycloak
id: keycloak
url: https://qa.ci.distro.ultrawombat.com/auth/
- name: Identity
id: identity
version: SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/identity
readiness: http://camunda-platform-identity.qa-camunda-platform:82/actuator/health
metrics: http://camunda-platform-identity.qa-camunda-platform:82/actuator/prometheus
- name: WebModeler
id: webModelerWebApp
version: SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/modeler
readiness: http://camunda-platform-web-modeler-restapi.qa-camunda-platform:8091/modeler/health/readiness
metrics: http://camunda-platform-web-modeler-restapi.qa-camunda-platform:8091/modeler/metrics
- name: Optimize
id: optimize
version: 8.9-SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/optimize
readiness: http://camunda-platform-optimize.qa-camunda-platform:80/optimize/api/readyz
metrics: http://camunda-platform-optimize.qa-camunda-platform:8092/actuator/prometheus
- name: Connectors
id: connectors
version: 8.9-SNAPSHOT
url: http://camunda-platform-connectors.qa-camunda-platform:8080/connectors
readiness: http://camunda-platform-connectors.qa-camunda-platform:8080/connectors/actuator/health/readiness
metrics: http://camunda-platform-connectors.qa-camunda-platform:8080/connectors/actuator/prometheus
- name: Operate
id: operate
version: 8.9-SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/core/operate
readiness: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness
metrics: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/prometheus
- name: Tasklist
id: tasklist
version: 8.9-SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/core/tasklist
readiness: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness
metrics: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/prometheus
- name: Orchestration Admin
id: orchestrationIdentity
version: 8.9-SNAPSHOT
url: https://qa.ci.distro.ultrawombat.com/core/admin
readiness: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness
metrics: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/prometheus
- name: Orchestration Cluster
id: orchestration
version: 8.9-SNAPSHOT
urls:
grpc: https://grpc-qa.ci.distro.ultrawombat.com
http: https://qa.ci.distro.ultrawombat.com/core
readiness: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness
metrics: http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/prometheus
Camunda Hub 8.10 configuration:
camunda:
modeler:
clusters:
- id: "camunda-platform"
name: "camunda-platform"
namespace: "qa-camunda-platform"
version: "8.10.0"
authentication: BEARER_TOKEN
authorizations:
enabled: true
tags:
- "dev"
custom-properties:
- description: "Monitoring"
links:
- name: "Grafana"
url: "http://localhost:3000"
- name: "Prometheus"
url: "http://localhost:9090"
- description: "Documentation"
links:
- name: "Wiki"
url: "http://localhost:8090/wiki"
components:
- name: "Identity"
type: "identity"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/identity"
readiness: "http://camunda-platform-identity.qa-camunda-platform:82/actuator/health"
- name: "WebModeler"
type: "webModelerWebApp"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/modeler"
readiness: "http://camunda-platform-web-modeler-restapi.qa-camunda-platform:8091/modeler/health/readiness"
- name: "Optimize"
type: "optimize"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/optimize"
readiness: "http://camunda-platform-optimize.qa-camunda-platform:80/optimize/api/readyz"
- name: "Connectors"
type: "connectors"
version: "8.10.0"
urls:
rest: "http://camunda-platform-connectors.qa-camunda-platform:8080/connectors"
readiness: "http://camunda-platform-connectors.qa-camunda-platform:8080/connectors/actuator/health/readiness"
- name: "Operate"
type: "operate"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/core/operate"
readiness: "http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness"
- name: "Tasklist"
type: "tasklist"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/core/tasklist"
readiness: "http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness"
- name: "Orchestration Admin"
type: "orchestrationIdentity"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/core/admin"
readiness: "http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness"
- name: "Orchestration Cluster"
type: "orchestration"
version: "8.10-SNAPSHOT"
urls:
grpc: "https://grpc-qa.ci.distro.ultrawombat.com"
rest: "https://qa.ci.distro.ultrawombat.com/core"
readiness: "http://camunda-platform-zeebe.qa-camunda-platform:9600/core/actuator/health/readiness"
Component types
console and keycloak are no longer valid component types. The application will fail on startup if you've configured a console or keycloak component:
camunda:
modeler:
clusters:
- id: camunda-platform
# other fields...
components:
- name: "Console"
type: "console" # type cannot be "console" or "keycloak"
version: "8.10-SNAPSHOT"
urls:
webapp: "https://qa.ci.distro.ultrawombat.com/"
readiness: "http://camunda-platform-console.qa-camunda-platform:9100/health/readiness"
Dynamic cluster management
In Camunda 8.8 and 8.9, you could use CAMUNDA_CONSOLE_EXPERIMENTAL_DISCOVERY_MODE to expose the discovery API, which allowed clusters to send license information and register themselves with Console. This experimental feature is now replaced by a new feature flag in the Camunda Hub configuration: DYNAMIC_CLUSTER_MANAGEMENT_ENABLED.
With dynamic cluster management, clusters can regularly send license information to a discovery endpoint:
POST /api/v1/clusters
With that information, Camunda Hub can create a record for the cluster with minimal information and no management functionality in the user interface. This behavior is similar to CAMUNDA_CONSOLE_EXPERIMENTAL_DISCOVERY_MODE.
However, unlike in Console where cluster records were cleaned up on restart, Camunda Hub cluster records persist through restarts. Therefore, you need to delete them manually using the delete cluster endpoint:
DELETE /api/v1/clusters/{clusterId}
Read more about dynamic cluster management in the Camunda Hub properties reference.