feat: adjust modeler cluster defaults for console migration#6390
feat: adjust modeler cluster defaults for console migration#6390JacobiCamunda wants to merge 16 commits into
Conversation
| livenessProbe: {} | ||
| metrics: {} | ||
| serviceAccount: {} | ||
|
|
There was a problem hiding this comment.
Is this still needed or was/is this needed at all?
|
@eamonnmoloney, tests should be failing because the image with the needed changes doesn't exist right now as the feature is not merged yet. When you want to test it manually, you can make use of the latest built image from this PR. Right now it is this image Console and new navigation bar can be enabled via |
There was a problem hiding this comment.
Pull request overview
This PR removes the Console component from the Camunda Platform Helm chart 8.10 and adjusts Web Modeler’s default cluster configuration to align with the Hub-driven “components[]” cluster schema, including updating unit test goldens and CI config accordingly.
Changes:
- Removed Console values, templates, NOTES entries, and unit tests from chart 8.10; updated CI unit-test package matrix accordingly.
- Switched Web Modeler REST API default cluster rendering to a shared helper that outputs the new
components:-based cluster format. - Updated golden files and unit test types/assertions to reflect the new cluster schema and the Console removal.
Reviewed changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/camunda-platform-8.10/values.yaml | Removes Console-related values; updates CamundaHub section wording (needs further backward-compat consideration). |
| charts/camunda-platform-8.10/values.schema.json | Removes most Console schema, but still contains a console schema fragment (inconsistent with values removal). |
| charts/camunda-platform-8.10/test/unit/web-modeler/types.go | Extends cluster YAML types to support components[] structure. |
| charts/camunda-platform-8.10/test/unit/web-modeler/goldenfiles_test.go | Stabilizes golden rendering namespace and removes unused imports. |
| charts/camunda-platform-8.10/test/unit/web-modeler/golden/configmap-restapi.golden.yaml | Updates rendered default cluster to new components: schema. |
| charts/camunda-platform-8.10/test/unit/web-modeler/configmap_restapi_test.go | Updates assertions to validate orchestration URLs via components[]. |
| charts/camunda-platform-8.10/test/unit/identity/golden/configmap.golden.yaml | Removes Console preset/init sections from Identity config golden. |
| charts/camunda-platform-8.10/test/unit/console/types.go | Deletes Console unit test types (Console removed). |
| charts/camunda-platform-8.10/test/unit/console/testdata/values-templated-labels.yaml | Deletes Console testdata (Console removed). |
| charts/camunda-platform-8.10/test/unit/console/testdata/values-templated-ingress-host.yaml | Deletes Console testdata (Console removed). |
| charts/camunda-platform-8.10/test/unit/console/service_test.go | Deletes Console service tests. |
| charts/camunda-platform-8.10/test/unit/console/resources_cpu_test.go | Deletes Console resource parsing tests. |
| charts/camunda-platform-8.10/test/unit/console/httproute_test.go | Deletes Console HTTPRoute tests. |
| charts/camunda-platform-8.10/test/unit/console/goldenfiles_test.go | Deletes Console golden tests. |
| charts/camunda-platform-8.10/test/unit/console/golden/serviceaccount.golden.yaml | Deletes Console ServiceAccount golden. |
| charts/camunda-platform-8.10/test/unit/console/golden/service.golden.yaml | Deletes Console Service golden. |
| charts/camunda-platform-8.10/test/unit/console/golden/deployment.golden.yaml | Deletes Console Deployment golden. |
| charts/camunda-platform-8.10/test/unit/console/golden/configmap.golden.yaml | Deletes Console ConfigMap golden. |
| charts/camunda-platform-8.10/test/unit/console/deployment_test.go | Deletes Console deployment tests. |
| charts/camunda-platform-8.10/test/unit/console/configmap_test.go | Deletes Console configmap tests. |
| charts/camunda-platform-8.10/test/unit/common/tls_secrets_test.go | Removes Console TLS-related unit tests. |
| charts/camunda-platform-8.10/test/unit/common/documentstore_irsa_test.go | Removes Console IRSA-related unit tests. |
| charts/camunda-platform-8.10/test/unit/common/constraints_test.go | Removes Console-related constraints coverage test. |
| charts/camunda-platform-8.10/test/ci-test-config.yaml | Drops console from the unit-test package matrix for 8.10. |
| charts/camunda-platform-8.10/templates/web-modeler/configmap-restapi.yaml | Replaces inline default cluster YAML with camundaPlatform.defaultWebModelerCluster helper output. |
| charts/camunda-platform-8.10/templates/service-monitor/console-service-monitor.yaml | Deletes Console ServiceMonitor template. |
| charts/camunda-platform-8.10/templates/NOTES.txt | Removes Console install/port-forward hints and URLs. |
| charts/camunda-platform-8.10/templates/identity/configmap.yaml | Removes Console client/preset/init wiring from Identity configmap. |
| charts/camunda-platform-8.10/templates/console/serviceaccount.yaml | Deletes Console ServiceAccount template. |
| charts/camunda-platform-8.10/templates/console/service.yaml | Deletes Console Service template. |
| charts/camunda-platform-8.10/templates/console/httproute.yaml | Deletes Console HTTPRoute template. |
| charts/camunda-platform-8.10/templates/console/deployment.yaml | Deletes Console Deployment template. |
| charts/camunda-platform-8.10/templates/console/configmap.yaml | Deletes Console ConfigMap template. |
| charts/camunda-platform-8.10/templates/console/_helpers.tpl | Deletes Console helpers. |
| charts/camunda-platform-8.10/templates/common/ingress-http.yaml | Removes Console route from shared ingress. |
| charts/camunda-platform-8.10/templates/common/constraints.tpl | Removes Console-specific constraints, warnings, and key-removed checks. |
| charts/camunda-platform-8.10/templates/common/_helpers.tpl | Removes Console helpers/URLs; adds default Web Modeler cluster helper emitting components[]. |
| charts/camunda-platform-8.10/README.md | Removes Console parameters and updates CamundaHub section text (but still references Console in one row). |
| "console": { | ||
| "properties": { | ||
| "env": { | ||
| "type": "array", | ||
| "items": { |
| {{- if or .Values.orchestration.enabled (or .Values.camundaHub.webModeler.restapi.clusters .Values.webModeler.restapi.clusters) }} | ||
| clusters: | ||
| {{- if (or .Values.camundaHub.webModeler.restapi.clusters .Values.webModeler.restapi.clusters) }} | ||
| {{- (or .Values.camundaHub.webModeler.restapi.clusters .Values.webModeler.restapi.clusters) | toYaml | nindent 10 }} | ||
| {{- else}} | ||
| - id: "default-cluster" | ||
| name: {{ tpl .Values.global.zeebeClusterName . | quote }} | ||
| version: {{ include "camundaPlatform.imageTagByParams" (dict "base" .Values.global "overlay" .Values.orchestration) | quote }} | ||
| authentication: {{ include "webModeler.authConfigValue" . | quote }} | ||
| authorizations: | ||
| enabled: {{ .Values.orchestration.security.authorizations.enabled }} | ||
| url: | ||
| grpc: {{ include "camundaPlatform.orchestrationGRPCInternalURL" . | quote }} | ||
| rest: {{ include "camundaPlatform.orchestrationHTTPInternalURL" . | quote }} | ||
| web-app: {{ include "camundaPlatform.orchestrationExternalURL" . | quote }} | ||
| {{- include "camundaPlatform.defaultWebModelerCluster" . | nindent 10 }} |
| var orchestrationComp ComponentYAML | ||
| for _, c := range configmapApplication.Camunda.Modeler.Clusters[0].Components { | ||
| if c.Type == "orchestration" { | ||
| orchestrationComp = c | ||
| break | ||
| } | ||
| } |
| var orchestrationComp ComponentYAML | ||
| for _, c := range configmapApplication.Camunda.Modeler.Clusters[0].Components { | ||
| if c.Type == "orchestration" { | ||
| orchestrationComp = c | ||
| break | ||
| } | ||
| } |
eamonnmoloney
left a comment
There was a problem hiding this comment.
Please do not merge until the e2e tests are adjusted to work with this change
|
I pushed a change to split the default cluster into two: One for management for Identity and Web Modeler components and the rest as usual. This was discussed today with Wolfgang and Felix. Eamonn couldn't speak today anymore but he said he will take a look into the review comment from Copilot as I was also unsure with some points and the handling of some Console properties. Btw, we already have an official image with the changes which could be used: |
c2b2ffa to
1574328
Compare
1574328 to
cf9a751
Compare
PR #6390 removed the Console resource server registration from the Identity bootstrap config, but the integration-test `venom` client in base.yaml still referenced `resourceServerId: console-api`. At install time Identity calls findResourceServerByAudience("console-api"), gets 404 from Keycloak, and crash-loops, failing every GKE install scenario. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-cluster component test - Drop orphaned `console` block from values.schema.json (values.yaml removed console entirely but schema retained a stub with only env[]) - Fix README description for camundaHub.enabled (Console no longer a sub-component; WebModeler only) - Add TestManagementClusterContainsBothIdentityAndWebModelerComponents to verify management-cluster emits both identity and webModelerWebApp components in the new components[] cluster schema Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Without this guard, camundaPlatform.defaultWebModelerCluster emitted an empty default-cluster entry whenever orchestration, optimize, and connectors were all disabled. Gate the block on `or orchestration.enabled optimize.enabled connectors.enabled` so the cluster is only included when it would have components. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PR #6390 removed the Console resource server registration from the Identity bootstrap config, but the integration-test `venom` client in base.yaml still referenced `resourceServerId: console-api`. At install time Identity calls findResourceServerByAudience("console-api"), gets 404 from Keycloak, and crash-loops, failing every GKE install scenario. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sets CAMUNDA_MODELER_FEATURE_CONSOLE_ENABLED and CAMUNDA_MODELER_FEATURE_GLOBAL_NAVIGATION_V2_ENABLED to "true" on the web-modeler restapi deployment so the in-modeler Console UI and new top navigation render against the migrated hub-restapi image (camunda/camunda-hub#25089). Required for CI on this PR until upstream defaults flip. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ole.enabled Replace unconditional "true" wiring of CAMUNDA_MODELER_FEATURE_CONSOLE_ENABLED and CAMUNDA_MODELER_FEATURE_GLOBAL_NAVIGATION_V2_ENABLED with a new camundaHub.consoleEnabled helper that returns "true" when either camundaHub.enabled or the legacy console.enabled key is set. This preserves the documented 8.9->8.10 backward-compat shim so existing console.enabled: true values continue to surface Console inside the new hub-restapi image. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
CAMUNDA_MODELER_FEATURE_GLOBAL_NAVIGATION_V2_ENABLED is not driven by Console presence and should remain false until the new navigation bar is ready to ship. Pin it to "false" instead of mirroring the Console helper. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The camundaHub.enabled @param previously claimed Hub "deploys both Console and WebModeler as sub-components", but Console no longer exists as a separate deployment in 8.10. Update the docstring (and the auto-generated README parameter table) to describe Console as a feature of the hub-restapi pod and note that the legacy console.* and webModeler.* keys remain as a compatibility shim. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
e39d107 to
f67d995
Compare
After removing console: from values.yaml, deepCopy .Values.console is nil, causing a nil pointer panic when camundaHub.consoleEnabled is true (which it is whenever camundaHub/Modeler is enabled). Use | default dict to guard the merge and dig for safe nested key access. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Which problem does the PR fix?
Part of https://github.com/camunda/camunda-hub/issues/25087
What's in this PR?
Checklist
Please make sure to follow our Contributing Guide.
Before opening the PR:
make go.update-golden-only.After opening the PR: