fix(helm): allow additional PodDisruptionBudget config properties #58864
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.
Summary
The Helm chart templates already allow arbitrary PodDisruptionBudget configuration via:
{{ toYaml .Values..podDisruptionBudget.config | nindent 2 }}
This means users should be able to set any valid PDB fields, including newer ones such as unhealthyPodEvictionPolicy.
However, the values.schema.json file currently restricts these config blocks with:
"additionalProperties": false
This causes Helm validation to fail when users provide valid PDB fields not explicitly listed in the schema.
What this PR changes
This PR updates the schema for all components’ PodDisruptionBudget sections:
podDisruptionBudget.additionalProperties
podDisruptionBudget.config.additionalProperties
These are now set to true, allowing arbitrary valid fields to be passed through exactly as the template already supports.
Why this is needed
Without this change, using any non-standard (but fully valid) PDB field results in:
values don't meet the specifications of the schema(s):
.podDisruptionBudget.config: Additional property is not allowed
This prevents users from adopting newer Kubernetes PDB fields and contradicts the behavior of the chart templates.
Scope of the change
✔ Only values.schema.json is updated.
✔ No changes to templates or chart behavior.
✔ No functional changes — the schema now reflects the existing intended behavior.
Issue
Fixes: #58650