Skip to content

docs: Add values.schema.json and NOTES.txt - #1013

Open
lfrancke wants to merge 1 commit into
mainfrom
push-qkqtxxpxslum
Open

docs: Add values.schema.json and NOTES.txt#1013
lfrancke wants to merge 1 commit into
mainfrom
push-qkqtxxpxslum

Conversation

@lfrancke

Copy link
Copy Markdown
Member

Ports what hive-operator got in #743 and #753, so this is the second of sixteen. It adds three things, all documentation or validation — no behavioural change.

values.schema.json — Helm validates values against it on install, upgrade, lint and template, and Artifact Hub renders it as a values reference. additionalProperties is false, with the surface taken from what the templates actually read rather than from values.yaml.

NOTES.txt — no SDP chart has one, so helm install currently prints nothing. It also explains why no CRDs appear (they moved out of the chart, so kubectl get crd right after installing looks like a failed install), and warns when maintenance.customResourceDefinitions.maintain is false, where the chart ships no CRDs and the operator will not create them — currently a silent trap.

Four values documented in values.yamlimage.repository, image.productRepository, image.tag and priorityClassName are read by the templates but were absent from values.yaml. Since helm show values does not read the schema, they were invisible from the CLI, so someone pulling from a mirror had no way to discover image.repository.

Why the schema can be hive's with names substituted

The chart reads exactly the same values as hive's. Verified by extracting every .Values.* reference from every template in both charts and diffing: identical. values.yaml differs from hive's by one line, the header comment.

Verification

  • default render byte-identical to main, so nothing changes for an existing install
  • helm lint clean against both registry overlays, so the schema accepts the shipped values.yaml
  • the schema really enforces: --set priorityClassNam=oops now fails with additional properties 'priorityClassNam' not allowed
  • the four newly documented values take effect — image.tag reaches the image reference, productRepository reaches the IMAGE_REPOSITORY env var, priorityClassName reaches the pod spec
  • NOTES.txt rendered with maintain both true and false
  • both documentation links return 200

Ports what hive-operator has, since both charts read the same values.

values.schema.json makes Helm validate values on install, upgrade, lint and
template, and gives Artifact Hub a values reference. additionalProperties is
false, with the surface taken from what the templates read rather than from
values.yaml, because four keys are read but were never declared there.

helm show values does not read the schema, so image.repository,
image.productRepository, image.tag and priorityClassName could not be discovered
from the CLI at all. They are added to values.yaml as commented examples.

Nothing was printed after helm install. NOTES.txt now says what was installed and
where the documentation is, explains why no CRDs appear, and warns when
maintenance.customResourceDefinitions.maintain is false, where the chart ships no
CRDs and the operator does not create them either.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant