refactor: remove deprecated global elasticsearch and opensearch values from 8.10 chart - #6914
Open
bkenez wants to merge 6 commits into
Open
refactor: remove deprecated global elasticsearch and opensearch values from 8.10 chart#6914bkenez wants to merge 6 commits into
bkenez wants to merge 6 commits into
Conversation
bkenez
force-pushed
the
6766-remove-deprecated-global-es-os
branch
from
August 20, 2026 06:27
673d840 to
2294d05
Compare
|
bkenez
marked this pull request as ready for review
August 20, 2026 07:36
bkenez
requested review from
eamonnmoloney
and
a lite review from Copilot
and removed request for
a team
August 20, 2026 07:36
Contributor
There was a problem hiding this comment.
Pull request overview
This PR completes the 8.10 chart deprecation lifecycle by removing the deprecated global.elasticsearch and global.opensearch value trees and their template fallbacks, shifting all datastore configuration to component-scoped keys (Optimize + Orchestration secondary storage) and enforcing removal via root-level keyRemoved constraints.
Changes:
- Remove
global.elasticsearch/global.opensearchfromcharts/camunda-platform-8.10/values.yamland regenerate the 8.10 schema/docs outputs. - Update 8.10 templates to render only from component-scoped datastore keys and remove now-unreachable legacy branches (incl. truststore-password injection and
cluster-namerendering). - Migrate unit/integration tests, CI scenario values layers, and
helm-values-mcptests to match the new configuration surface and regenerated goldens.
Reviewed changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| helm-values-mcp/test/helm-values.test.ts | Adjusts MCP tests for 8.10 dependency assertions and deprecated-path detection. |
| docs/tls-coverage-810.md | Updates TLS coverage notes to reflect removal of global datastore trees. |
| charts/camunda-platform-8.10/values.yaml | Removes deprecated global datastore trees; moves datastore URL defaults into component-scoped keys. |
| charts/camunda-platform-8.10/values.schema.json | Regenerates schema to drop removed global datastore trees and update descriptions/defaults. |
| charts/camunda-platform-8.10/test/unit/web-modeler/service_test.go | Migrates tests off global.elasticsearch.* to secondary-storage type selection. |
| charts/camunda-platform-8.10/test/unit/orchestration/statefulset_test.go | Removes obsolete global.elasticsearch.enabled value from golden test setup. |
| charts/camunda-platform-8.10/test/unit/orchestration/golden/configmap.golden.yaml | Golden update removing cluster-name output. |
| charts/camunda-platform-8.10/test/unit/orchestration/golden/configmap-retention.golden.yaml | Golden update removing cluster-name output. |
| charts/camunda-platform-8.10/test/unit/orchestration/golden/configmap-log4j2.golden.yaml | Golden update removing cluster-name output. |
| charts/camunda-platform-8.10/test/unit/orchestration/golden/configmap-authorizations.golden.yaml | Golden update removing cluster-name output. |
| charts/camunda-platform-8.10/test/unit/orchestration/configmap_unified_test.go | Removes obsolete global.elasticsearch.enabled setup from RDBMS test case. |
| charts/camunda-platform-8.10/test/unit/orchestration/configmap_test.go | Removes obsolete global.elasticsearch.enabled setup from golden RDBMS configmap test. |
| charts/camunda-platform-8.10/test/unit/common/multi_optimize_reference_test.go | Removes legacy global.elasticsearch.enabled boilerplate from multi-optimize reference tests. |
| charts/camunda-platform-8.10/test/unit/common/constraints_test.go | Adds coverage for keyRemoved guards on removed global datastore trees. |
| charts/camunda-platform-8.10/test/unit/common/component_tls_custom_key_test.go | Updates TLS assertions to ensure truststore-password injection is absent. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/rdbms.yaml | Migrates scenario values to component-scoped Optimize datastore keys. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/rdbms-self-signed.yaml | Migrates scenario values to component-scoped Optimize datastore keys. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/rdbms-external.yaml | Migrates scenario values to component-scoped Optimize datastore keys. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/opensearch-self-signed.yaml | Removes global-tree setup; updates notes around JKS password non-usage. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/opensearch-self-signed-os-trust.yaml | Drops obsolete global Elasticsearch disablement. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/opensearch-embedded.yaml | Drops obsolete global Elasticsearch disablement. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/no-elasticsearch.yaml | Renames/retargets to “none” backend for 8.10 and removes global-tree usage. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/elasticsearch.yaml | Migrates scenario values to component-scoped Optimize datastore keys. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/persistence/elasticsearch-external.yaml | Migrates scenario values to component-scoped Optimize datastore keys and updates notes. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/identity/oidc.yaml | Removes obsolete global Elasticsearch enablement. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/identity/auth0.yaml | Removes obsolete global Elasticsearch enablement. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/features/multinamespace-hub.yaml | Removes obsolete global Elasticsearch enablement toggle. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/features/multinamespace-2orch-hub.yaml | Removes obsolete global Elasticsearch enablement toggle. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/features/multi-optimize/values-platform.yaml | Removes obsolete global Elasticsearch enablement toggle. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/features/multi-optimize/values-optimize-only.yaml | Removes obsolete global Elasticsearch enablement toggle. |
| charts/camunda-platform-8.10/test/integration/scenarios/chart-full-setup/values/base.yaml | Removes global datastore enablement from base layer per new persistence layering. |
| charts/camunda-platform-8.10/templates/orchestration/statefulset.yaml | Removes global datastore secret env injection; aligns legacy exporter auth wiring to component-scoped keys. |
| charts/camunda-platform-8.10/templates/orchestration/files/_application.yaml | Drops global fallbacks/legacy blocks; removes cluster-name; simplifies exporter auth/prefix defaults. |
| charts/camunda-platform-8.10/templates/orchestration/_helpers.tpl | Removes global datastore fallbacks from secondary storage selection and legacy exporter helpers. |
| charts/camunda-platform-8.10/templates/optimize/files/_environment-config.yaml | Removes global fallbacks; uses Optimize component-scoped datastore keys exclusively. |
| charts/camunda-platform-8.10/templates/optimize/deployment.yaml | Removes global fallbacks and inlines effective auth references to component-scoped keys. |
| charts/camunda-platform-8.10/templates/optimize/_helpers.tpl | Simplifies effective TLS/URL/prefix helpers after removal of global datastore trees. |
| charts/camunda-platform-8.10/templates/common/constraints.tpl | Replaces per-leaf guards with root keyRemoved checks; adds optional migration text; updates caBundle warnings gating. |
| charts/camunda-platform-8.10/templates/common/_helpers.tpl | Removes global datastore host/port fallbacks and deletes truststore-password injection path. |
| charts/camunda-platform-8.10/README.md | Regenerates docs to remove deprecated global datastore trees and reflect updated references. |
| .github/instructions/go-tests.instructions.md | Updates example test instructions to use secondary-storage type instead of global datastore flags. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This was referenced Aug 20, 2026
pull Bot
pushed a commit
to Mu-L/camunda
that referenced
this pull request
Aug 20, 2026
…atform global datastore values (camunda#60601) ## Description camunda-platform chart 15.x (Camunda 8.10) removes the deprecated `global.elasticsearch.*` and `global.opensearch.*` value trees (camunda/camunda-platform-helm#6766, removal in camunda/camunda-platform-helm#6914). Once the chart dependency moves past `15.0.0-alpha4`, any values file still carrying those keys fails `helm install`/`helm upgrade` with a `keyRemoved` error. This PR migrates the two consumers in this repository to the component-scoped replacement keys ahead of the chart bump. The values are valid both before and after the removal, so this is safe to merge independently: - `.ci/preview-environments/charts/c8sm`: `global.elasticsearch.{enabled,url.host}` moves to `camunda-platform.optimize.database.elasticsearch.{enabled,url.host}` (Optimize's datastore and the legacy Zeebe exporter resolve from that block; the Orchestration Cluster already uses `orchestration.data.secondaryStorage`). Also retargets a stale comment in `templates/elasticsearch.yml`. - `load-tests/setup/main/values`: `camunda-platform-values-elasticsearch.yaml` and `camunda-platform-values-opensearch.yaml` move to `orchestration.data.secondaryStorage.<engine>.url` plus `optimize.database.<engine>.*`. The `-optimize-*` variants already use component-scoped keys. - Load-test golden files regenerated (`make warm-chart-cache update-golden PATTERN='GoldenFiles/c8-golden-main'`, 16/16 pass). The diff is strictly removals: the chart's deprecation warnings for the legacy keys, and legacy Operate/Tasklist OpenSearch config blocks that only rendered when `global.opensearch.enabled` was set (ignored by the unified 8.10 application configuration). ## Checklist - [ ] Enable backports when necessary (fex. [for bug fixes](https://github.com/camunda/camunda/blob/main/CONTRIBUTING.md#backporting-changes), [for CI changes](https://camunda.github.io/camunda/ci/#when-to-backport-ci-changes), or [for documentation changes](https://camunda.github.io/camunda/ci/#documentation-specific-backporting-monorepo-docs-folders)). ## Related issues closes camunda/camunda-platform-helm#6917
…s from 8.10 chart
bkenez
force-pushed
the
6766-remove-deprecated-global-es-os
branch
from
August 21, 2026 05:55
f2daae4 to
d36bbf4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which problem does the PR fix?
Closes #6766.
What's in this PR?
Removes the deprecated
global.elasticsearchandglobal.opensearchvalue trees from the 8.10 chart (deprecated in the 8.9 cycle via #5171, ADR-0084), completing the deprecation lifecycle before the first stable 15.x release.values.yaml: both global trees deleted; the URL defaults move down intooptimize.database.{elasticsearch,opensearch}.urlso default rendering is unchanged.optimize.database.*,orchestration.data.secondaryStorage.*). All global fallback arms are stripped and helpers that became pure proxies are inlined and deleted (camundaPlatform.elasticsearchPort/opensearchPort,optimize.effectiveEs/OsTlsConfig,optimize.effectiveEs/OsAuthConfig,optimize.effectiveEs/OsUsername,optimize.effectiveOsAwsEnabled,orchestration.legacyElasticsearchExporterAuthenticationEnabled)._resolve_tls_jks_config+TRUSTSTORE_PASSWORD) is deleted: its only producer keys lived under the removed global trees and the mechanism was already unreachable on main (all callers pass component TLS configs, which have nojksblock). Migration:global.tls.caBundle.secret(PEM), or an explicit-Djavax.net.ssl.trustStorePasswordin<component>.javaOpts.cluster-nameis no longer rendered: the unifiedcamunda.data.secondary-storage.<engine>.cluster-nameproperty defaults to the same values the chart set, and nothing in the 8.10 application consumes it beyond config-bean copy-downs. Escape hatch:orchestration.extraConfiguration.camundaPlatform.keyRemovedguards forglobal.elasticsearchandglobal.opensearchreplace the six stale per-leaf guards (which would nil-deref once the trees are gone).keyRemovedgains an optional, backwards-compatiblemigrationfield so the error names the replacement keys.optimize.database.<engine>.enabled AND optimizeEnabled AND (exporters.zeebe.enabled OR regions < 2). The rdbms term was subsumed by the Optimize term. A second dropped term,global.<engine>.enabled AND exporters.zeebe.enabled(no Optimize requirement), traces to the original 8.10 chart scaffold (3812a38a1e) and was never covered by any test — post-fix: align legacy exporter with its component datastore source #6840 the exporter's contract is Optimize-owned (ADR-0084), so this untested, Optimize-independent path is not preserved. Documented in the migration guide as a disclosed narrowing, not a silent one.optimize.database.<db>.url.protocol: httpis now gated on that database being enabled — otherwise the moved-downhttpdefault would fire it for every caBundle user regardless of Optimize usage.opensearch/zeebeOpensearchconfig blocks are removed — they were reachable only viaglobal.opensearch.enabled; the canonicalcamunda.data.secondary-storage.opensearch.aws-enabledand CamundaExporterconnect.awsEnabledpaths still render.base.yamlinto the persistence layers.opensearch-self-signedstays distinct from-os-trustas the component BYO-JKS coverage (a JKS truststore is readable without its integrity password;TRUSTSTORE_PASSWORDwas already not rendered on main).global.elasticsearch.enabledboilerplate deleted; web-modeler service tests satisfy the storage constraint viaorchestration.data.secondaryStorage.type; the TLS no-password contract is folded into the sharedrequireTLSCustomKeyhelper; newTestGlobalDatastoreTreesRemovedGatecovers both guards plus a clean component-scoped render.helm-values-mcpdeprecation test (retargeted toorchestration.extraInitContainers),docs/tls-coverage-810.md. Also repairs a pre-existinglist_componentstest failure (asserted 8.10 bundled ES/Keycloak chart dependencies that were removed in 15.0.0-alpha2; reproduced on pristine main) by pinning those assertions to 8.9.README.md,values.schema.json, and goldens regenerated via repo tooling. Golden churn is exactly thecluster-nameline in 4 orchestration configmap goldens.The full leaf-by-leaf migration mapping (including the two items above with no direct replacement) is documented in camunda-docs#9653, which also updates the 8.9→8.10 upgrade guide, secret-management, TLS, and production-install pages: camunda/camunda-docs#9653
Note for reviewers grepping the repo:
charts/elasticsearch-21has its own unrelatedglobal.elasticsearch.service.*keys — a different chart with no dependency relationship to camunda-platform-8.10.scripts/deploy-camunda/deploy/merge_test.gokeeps itsglobal.elasticsearchfixture on purpose: it models the 8.7 chart, where the key is still a supported surface.Checklist
Please make sure to follow our Contributing Guide.
Before opening the PR:
make go.update-golden-only.After opening the PR: