Skip to content

docs: document stable pod labels for Web Modeler anti-affinity rules - #6931

Open
bkenez wants to merge 2 commits into
mainfrom
5876-document-stable-affinity-labels
Open

docs: document stable pod labels for Web Modeler anti-affinity rules#6931
bkenez wants to merge 2 commits into
mainfrom
5876-document-stable-affinity-labels

Conversation

@bkenez

@bkenez bkenez commented Aug 21, 2026

Copy link
Copy Markdown
Member

Which problem does the PR fix?

Closes #5876.

What's in this PR?

This PR documents and guards the existing way to configure upgrade-stable Web Modeler pod anti-affinity rules:

  • Pair a user-owned podLabels entry with the same label selector under affinity.
  • Cover Web Modeler components across chart lines 8.7 through 8.10.
  • Verify that the current camundaHub values win together over legacy webModeler values in 8.10.
  • Update generated values references without changing templates, defaults, or rendered manifests.
  • Fix the 8.9 and 8.10 ## @extra annotation for the Orchestration Cluster affinity value, which rendered a bogus global.orchestration.Affinity row in the generated README instead of orchestration.affinity.

This is a non-breaking documentation and contract-coverage change. Local build and validation commands were not run; CI is the validation authority for this PR.

Companion documentation PR: camunda/camunda-docs#9666
Documentation tracking issue: #6932

Checklist

Please make sure to follow our Contributing Guide.

Before opening the PR:

  • In the repo's root dir, run make go.update-golden-only.
  • There is no other open pull request for the same update/change.
  • Tests for charts are added (if needed).
  • In-repo documentation are updated (if needed).

After opening the PR:

  • Did you sign our CLA (Contributor License Agreement)? It will show once you open the PR.
  • Did all checks/tests pass in the PR?

@github-actions github-actions Bot added version/8.7 Camunda applications/cycle version version/8.8 Camunda applications/cycle version version/8.9 Camunda applications/cycle version version/8.10 Camunda applications/cycle version labels Aug 21, 2026
@bkenez
bkenez marked this pull request as ready for review August 21, 2026 09:44
@bkenez
bkenez requested a review from a team as a code owner August 21, 2026 09:44
@bkenez
bkenez requested review from aabouzaid and a lite review from Copilot and removed request for a team August 21, 2026 09:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the chart documentation surfaces (values annotations, generated schema/README) and adds unit-test contracts to document and validate an upgrade-stable Web Modeler / Camunda Hub pod anti-affinity pattern based on user-owned podLabels.

Changes:

  • Update affinity parameter descriptions in values.yaml, plus regenerated values.schema.json / README.md entries, across chart versions 8.7–8.10.
  • Add unit-test values fixtures and assertions to verify podLabels + affinity.podAntiAffinity composition for Web Modeler components.
  • Add an 8.10 shim contract test verifying camundaHub overrides for pod labels and affinity win together over legacy webModeler values.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
charts/camunda-platform-8.7/values.yaml Updates webModeler.*.affinity parameter description text.
charts/camunda-platform-8.7/test/unit/web-modeler/testdata/values-pod-anti-affinity.yaml Adds a values fixture demonstrating stable anti-affinity via podLabels.
charts/camunda-platform-8.7/test/unit/web-modeler/deployment_test.go Adds a unit test asserting stable anti-affinity selector matches podLabels.
charts/camunda-platform-8.7/README.md Regenerates values reference text for webModeler.*.affinity.
charts/camunda-platform-8.8/values.yaml Updates webModeler.*.affinity parameter description text.
charts/camunda-platform-8.8/values.schema.json Regenerates schema descriptions for webModeler.*.affinity.
charts/camunda-platform-8.8/test/unit/web-modeler/testdata/values-pod-anti-affinity.yaml Adds a values fixture demonstrating stable anti-affinity via podLabels.
charts/camunda-platform-8.8/test/unit/web-modeler/deployment_test.go Adds a unit test asserting stable anti-affinity selector matches podLabels.
charts/camunda-platform-8.8/README.md Regenerates values reference text for webModeler.*.affinity.
charts/camunda-platform-8.9/values.yaml Updates webModeler.*.affinity parameter description text.
charts/camunda-platform-8.9/values.schema.json Regenerates schema descriptions for webModeler.*.affinity.
charts/camunda-platform-8.9/test/unit/web-modeler/testdata/values-pod-anti-affinity.yaml Adds a values fixture demonstrating stable anti-affinity via podLabels.
charts/camunda-platform-8.9/test/unit/web-modeler/deployment_test.go Adds a unit test asserting stable anti-affinity selector matches podLabels.
charts/camunda-platform-8.9/README.md Regenerates values reference text for webModeler.*.affinity.
charts/camunda-platform-8.10/values.yaml Updates legacy webModeler.*.affinity parameter description text (8.10 hub era).
charts/camunda-platform-8.10/values.schema.json Regenerates schema descriptions for webModeler.*.affinity.
charts/camunda-platform-8.10/test/unit/web-modeler/testdata/values-pod-anti-affinity.yaml Adds a values fixture demonstrating stable anti-affinity via camundaHub.*.podLabels and camundaHub.*.affinity.
charts/camunda-platform-8.10/test/unit/web-modeler/deployment_test.go Adds a unit test asserting stable anti-affinity selector matches podLabels for the 8.10 hub-based rendering path.
charts/camunda-platform-8.10/test/unit/web-modeler/camunda_hub_shim_test.go Adds a shim contract test ensuring camundaHub podLabels+affinity override legacy values together.
charts/camunda-platform-8.10/README.md Regenerates values reference text for webModeler.*.affinity.
Suppressed comments (6)

charts/camunda-platform-8.7/values.yaml:3380

  • The affinity field is a general Kubernetes affinity block; describing it only as matching sibling podLabels is narrower than other affinity params in this chart (e.g. identity.affinity at values.yaml:2602) and can mislead users who set nodeAffinity/podAffinity here. Consider keeping the standard affinity wording + add the stable anti-affinity note separately.
    ## @param webModeler.webapp.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

charts/camunda-platform-8.7/values.yaml:3557

  • The affinity field is a general Kubernetes affinity block; describing it only as matching sibling podLabels is narrower than other affinity params in this chart (e.g. identity.affinity at values.yaml:2602) and can mislead users who set nodeAffinity/podAffinity here. Consider keeping the standard affinity wording + add the stable anti-affinity note separately.
    ## @param webModeler.websockets.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

charts/camunda-platform-8.8/values.yaml:1906

  • This affinity param is documented more narrowly than other affinity params in this chart (e.g. identity.affinity at values.yaml:872). Since the value is a full affinity object (supports nodeAffinity/podAffinity/podAntiAffinity), consider restoring the standard wording and adding the stable podLabels matching note.
    ## @param webModeler.webapp.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

charts/camunda-platform-8.8/values.yaml:2081

  • This affinity param is documented more narrowly than other affinity params in this chart (e.g. identity.affinity at values.yaml:872). Since the value is a full affinity object (supports nodeAffinity/podAffinity/podAntiAffinity), consider restoring the standard wording and adding the stable podLabels matching note.
    ## @param webModeler.websockets.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

charts/camunda-platform-8.9/values.yaml:2098

  • This affinity param is documented more narrowly than other affinity params in this chart (e.g. identity.affinity at values.yaml:1055). Since the value is a full affinity object (supports nodeAffinity/podAffinity/podAntiAffinity), consider restoring the standard wording and adding the stable podLabels matching note.
    ## @param webModeler.websockets.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

charts/camunda-platform-8.10/values.yaml:1676

  • This affinity param is documented more narrowly than other affinity params in this chart (e.g. identity.affinity at values.yaml:1071). Since the value is a full affinity object (supports nodeAffinity/podAffinity/podAntiAffinity), consider restoring the standard wording and adding the stable podLabels matching note.
    ## @param webModeler.websockets.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

## @param webModeler.restapi.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []
## @param webModeler.restapi.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
## @param webModeler.restapi.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity
## @param webModeler.restapi.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []
## @param webModeler.restapi.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
## @param webModeler.restapi.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity
## @param webModeler.restapi.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []
## @param webModeler.restapi.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
## @param webModeler.restapi.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity
## @param webModeler.restapi.tolerations can be used to define pod tolerations, see https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
tolerations: []
## @param webModeler.restapi.affinity can be used to define pod affinity or anti-affinity, see https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
## @param webModeler.restapi.affinity can be used to match sibling `podLabels` in pod affinity or anti-affinity
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

version/8.7 Camunda applications/cycle version version/8.8 Camunda applications/cycle version version/8.9 Camunda applications/cycle version version/8.10 Camunda applications/cycle version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve labels handling in affinity conf

2 participants