-
Notifications
You must be signed in to change notification settings - Fork 148
Description
Describe the issue:
Currently, the Helm chart’s JSON Schema validation allows unknown keys within intermediate (non-leaf) YAML objects when additionalProperties is not explicitly set to false.
As a result, typos or invalid nested keys are silently ignored instead of failing fast during validation.
Example:
global:
identity:
keycloak:
urll: https://example.com # typo (should be "url")This configuration passes schema validation and renders successfully, but the incorrect property is ignored at runtime.
Actual behavior:
Running:
helm template camunda-platform \
camunda/camunda-platform \
--version 13.0.0 \
--set global.identity.keycloak.urll=https://example.comsucceeds without any error, even though urll is not a valid property of global.identity.keycloak.
Helm produces manifests as if the property were absent, leading to silent misconfigurations.
Expected behavior:
Helm should fail schema validation when encountering unknown parameters inside defined object structures.
Example expected output:
Error: values don't meet the schema:
global.identity.keycloak.urll: additional property urll is not allowedOnly explicitly defined properties (like url) should be accepted.
Top-level user-defined structures (e.g. YAML anchors) can remain flexible using patternProperties.
How to reproduce:
-
Run the following command:
helm template camunda-platform \ camunda/camunda-platform \ --version 13.0.0 \ --set global.identity.keycloak.urll=https://example.com
-
Observe that the command succeeds.
-
Check the rendered manifests — the
urllproperty is ignored.
Logs:
No validation error or warning is shown.
Helm renders successfully, but the misconfigured value is dropped.
Environment:
- Platform:
- Helm CLI version:
- Chart version: 13.0.0
- Values file:
Proposed solution:
- Ensure that non-leaf YAML objects in the schema explicitly set
"additionalProperties": false. - Maintain flexibility at the root level to allow user-defined structures or YAML anchors using
patternProperties. - This could be automated in the schema generation script (
make-schema-strict.shor equivalent) to enforce the rule consistently.
Rationale / Benefits:
✅ Prevents silent configuration errors due to typos or invalid keys.
✅ Improves developer experience by providing immediate feedback.
✅ Reduces debugging time and increases confidence in chart configuration.
✅ Aligns with the strict schema validation initiative from PR [#4397](#4397).