docs: document stable pod labels for Web Modeler anti-affinity rules - #6931
docs: document stable pod labels for Web Modeler anti-affinity rules#6931bkenez wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
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
affinityparameter descriptions invalues.yaml, plus regeneratedvalues.schema.json/README.mdentries, across chart versions 8.7–8.10. - Add unit-test values fixtures and assertions to verify
podLabels+affinity.podAntiAffinitycomposition for Web Modeler components. - Add an 8.10 shim contract test verifying
camundaHuboverrides for pod labels and affinity win together over legacywebModelervalues.
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
podLabelsis 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
podLabelsis 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
podLabelsmatching 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
podLabelsmatching 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
podLabelsmatching 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
podLabelsmatching 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 |
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:
podLabelsentry with the same label selector underaffinity.camundaHubvalues win together over legacywebModelervalues in 8.10.## @extraannotation for the Orchestration Cluster affinity value, which rendered a bogusglobal.orchestration.Affinityrow in the generated README instead oforchestration.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:
make go.update-golden-only.After opening the PR: