Skip to content

Annotate config, image, env and postgresql values - #401

Closed
mertbozfakioglu wants to merge 1 commit into
mertbozfakioglu/values-docs-1-toolingfrom
mertbozfakioglu/values-docs-2-config
Closed

mertbozfakioglu wants to merge 1 commit into
mertbozfakioglu/values-docs-1-toolingfrom
mertbozfakioglu/values-docs-2-config

Conversation

@mertbozfakioglu

@mertbozfakioglu mertbozfakioglu commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Stack 2/4. See #400 for the tooling and conventions.

What

Annotates the credential and database sections of values.yaml: nameOverride/fullnameOverride, config (license, encryption key, JWT, Google auth, external Postgres), image, initImage, env, environmentSecrets, environmentVariables, externalSecrets, and the postgresql subchart block.

This is the first PR where values.schema.json validates anything, so it bumps the minor version (6.13.0).

  • Commented-out options become real keys with null values. Neither tool can see commented-out keys. null renders exactly like a missing key, while "" would not, because quote renders them differently.
  • Types are as wide as the templates accept. Values rendered through quote take integers or strings (config.postgresql.port, dbConnectorTimeout, postgresPoolMaxSize). ssl_enabled takes a boolean or a string. Optional keys accept null.
  • Enums only where Kubernetes would reject the value anyway (image.pullPolicy, secretStoreRef.kind).
  • Unknown keys are still allowed.
  • New documentation: image.pullSecrets was read by the templates but never mentioned in values.yaml. config.jwtSecret now notes that reusing the generated secret relies on Helm lookup, so Argo CD users should set it explicitly.

Testing

  • compare-render.sh: all 35 ci/ values files render the same as main.
  • main's full repo-root values.yaml, used as a user values file, passes the schema.

Reviewing

Only charts/retool/values.yaml is hand-written. Read the annotated sections in the file itself, since the diff is noisy. The schema, README and root values.yaml are generated.

🤖 Generated with Claude Code

Document and type the credential and database sections of values.yaml:
nameOverride/fullnameOverride, config (license, encryption key, JWT,
Google auth, external Postgres), image, initImage, env,
environmentSecrets, environmentVariables, externalSecrets and the
postgresql subchart block.

This is the first PR where values.schema.json validates anything, so
bump the minor version. Commented-out options become real keys with
null values, which render identically; types are as wide as the
templates accept (e.g. ports and timeouts take integers or strings).

Also documents image.pullSecrets, which templates read but values.yaml
never mentioned.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@greptile-apps

greptile-apps Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The change reaches teams using the Retool Helm chart.

Widen the two boolean-only schema entries before merging so existing values files can still upgrade.

Findings

  1. P1 Quoted settings block upgrades ▶
  2. P2 Docs understate supported fields ▶

Reviews (1) · Last reviewed commit: "Annotate config, image, env and postgres..." · Reviewed by Greptile

Comment on lines +197 to +199
"useInsecureCookies": {
"description": "Serve the session cookie without the `Secure` flag. Only enable this when Retool is served over plain HTTP.",
"type": "boolean"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Quoted settings block upgrades

The new schema rejects config.useInsecureCookies: "false" and postgresql.ssl_enabled: "false", although both previously worked. Their templates use quote, so strings and booleans produce the same environment values. Existing values files, including values passed through --set-string, now fail Helm validation before an upgrade can render.

Add [boolean, string] annotations for both settings in values.yaml and regenerate the schema, matching config.postgresql.ssl_enabled.

Comment thread charts/retool/values.yaml
# valueFrom:
# fieldRef:
# fieldPath: status.hostIP
# -- Environment variables in Kubernetes `EnvVar` form, for values `env` cannot express such as `valueFrom.fieldRef`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Docs understate supported fields

The new description says env cannot express valueFrom.fieldRef, but retool.env already passes through every map field other than value, including nested valueFrom.fieldRef. This gives operators a false reason to move settings into environmentVariables.

Describe it as an alternative list of full Kubernetes EnvVar entries, then regenerate the documentation.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

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