Skip to content

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

Merged
lfrancke merged 1 commit into
mainfrom
push-qkqtxxpxslum
Aug 28, 2026
Merged

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

Conversation

@lfrancke

@lfrancke lfrancke commented Aug 21, 2026

Copy link
Copy Markdown
Member

@lfrancke lfrancke self-assigned this Aug 27, 2026
@lfrancke lfrancke moved this to Development: Waiting for Review in Stackable Engineering Aug 27, 2026
@dervoeti dervoeti moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Aug 27, 2026

@dervoeti dervoeti left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but one thing was caught when I had Claude review this:

Helm injects global into every subchart's values before validating them against the subchart's schema. It does this unconditionally, even when the parent chart defines no globals at all, so wrapping this chart in any umbrella chart now fails.

global is blocked in our Chart because of additionalProperties: false at the root level.

Suggested fix:

"global": {
    "title": "Global values",
    "description": "Values shared with parent and sibling charts when this chart is used as a subchart. Not read by this chart.",
    "type": "object"
  }

This sounds like a valid concern to me and I was able to reproduce it. Maybe some customers would like to wrap our charts. Maybe this would affect some ArgoCD deployments as well ("app of apps").

See https://helm.sh/de/docs/chart_template_guide/subcharts_and_globals/

We'd have to fix this in all our values.schema.json, I saw that at least hive-operator has one.

This is mostly copied over from hive-operator since the files are not
templated.

Having a schema makes Helm validate values on install, upgrade, lint and
template AND shows as a nice reference on ArtifactHub.

One thing to note is that we include the "global" block even if it's not
used by us. This is due to https://helm.sh/de/docs/chart_template_guide/subcharts_and_globals/

In short: When used as a subchart Helm injects a "global" into every
subchart. If we don't declare it validation will fail when used as a
subchart.

This also documents all used values in values.yaml itself and adds a
NOTES.txt which is displayed automatically after an install.
@lfrancke

Copy link
Copy Markdown
Member Author

Fixed by adding the globals block as suggested. And sorry, I used jujutsu and forgot to create another commit on top. Hence the force push. I'll fold it into the open Hive PR as well.

@lfrancke
lfrancke requested a review from dervoeti August 27, 2026 20:33
@lfrancke
lfrancke added this pull request to the merge queue Aug 28, 2026
@lfrancke lfrancke moved this from Development: In Review to Development: Done in Stackable Engineering Aug 28, 2026
Merged via the queue into main with commit ccf4101 Aug 28, 2026
13 checks passed
@lfrancke
lfrancke deleted the push-qkqtxxpxslum branch August 28, 2026 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: Done

Development

Successfully merging this pull request may close these issues.

2 participants