ThomasJLLN opened a new pull request, #366:
URL: https://github.com/apache/superset-kubernetes-operator/pull/366

   ## Summary
   
   `charts/superset-operator/values.schema.json` sets `"additionalProperties": 
false` on the root object. Helm validates the fully coalesced values against 
this schema, so installing the chart fails whenever anything supplies a 
top-level value the chart does not itself declare:
   
   ```
   $ helm install superset-operator charts/superset-operator -f 
shared-values.yaml
   Error: values don't meet the specifications of the schema(s) in the 
following chart(s):
   superset-operator:
   - at '': additional properties 'clusterName' not allowed
   ```
   
   The chart owns none of those keys and ignores them at render time, so 
rejecting them is strictly a loss. Three common workflows are affected:
   
   1. **Shared values files.** A single org-wide `common-values.yaml` applied 
across several charts in one pipeline makes the chart fail.
   2. **CD tooling that injects release metadata.** Deployers commonly `--set` 
a small block of cluster/environment identity into every release.
   3. **`--set appVersion=<build>`**, a widespread convention, fails.
   
   This PR removes `additionalProperties: false` from the root object only. The 
nested`additionalProperties: false` constraints are unchanged, so everything 
that catches real mistakes still fires.
   
   ## Details
   
   There is already precedent for this reasoning in the same file. `global` is 
declared as a bare permissive object:
   
   ```json
   "global": {
     "type": "object",
     "description": "Helm-injected global values (present when installed as a 
dependency)."
   }
   ```
   
   That is the schema conceding that something outside the chart injects keys 
there and that those keys should not be validated against the chart's own 
vocabulary. Top-level injection is the same situation with the same answer. 
Widely used chart families (e.g. Bitnami) ship `values.schema.json` files with 
no `additionalProperties` constraints at all.
   
   ### Trade-off
   
   A misspelled top-level key (`servicAccount:`, `imagee:`) becomes a silent 
but every misspelling *inside* a value block is still caught.
   
   ## Testing
   
   - `make helm-test`
   - Added a chart unit test asserting the chart renders when an undeclared 
top-level value
    is supplied.
   - `make helm-values-covered` unaffected — no new `values.yaml` knob.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to