Commit Graph
2 Commits
Author SHA1 Message Date
jklein 4e97097a64 cyberchef: honour ingress.enabled, add null-safe hardening
Three changes, all about values that do not do what they promise:

1. Ingress gate (#93): the Ingress template is wrapped in
   {{- if .Values.ingress.enabled }}. The key already existed in
   values.yaml with default true but was never read, so switching it off
   did nothing. Both required() calls for domain and clusterIssuer live
   inside the Ingress file, so gating also removes the contradiction that
   one had to supply a domain and issuer in order to turn off an Ingress
   one does not want.

2. Null-safety for hardening, probes and resources (#99): an override
   written without children is YAML null and erased the whole default
   sub-tree, rendering "securityContext: null" - an unhardened container
   that starts and reports healthy.

3. values.schema.json types (#68 + #99): the blocks covered by the
   null-safety accept null. This is load-bearing only for keys that have
   no chart default (e.g. resources.limits): there Helm has nothing to
   delete, so the null survives into schema validation and a strict
   "object" type rejected it outright.

Rendering with normal values is byte-identical to 7.0.0.
2026-08-23 20:27:00 +02:00
jklein 2cfc2bfbba Add strict values.schema.json to cyberchef
additionalProperties: false on every chart-owned object level, so a key
the chart does not read is rejected at render time instead of being
silently ignored. Objects passed verbatim into the pod spec (probes,
securityContext, global) stay open - Kubernetes owns their schema there.

Major bump: a schema can break existing deployments that carry dead keys.

Refs #68
2026-08-23 19:19:44 +02:00