Repository navigation
Annotate config, image, env and postgresql values - #401
mertbozfakioglu wants to merge 1 commit into
Conversation
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>
|
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.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
[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. FindingsReviews (1) · Last reviewed commit: "Annotate config, image, env and postgres..." · Reviewed by Greptile |
| "useInsecureCookies": { | ||
| "description": "Serve the session cookie without the `Secure` flag. Only enable this when Retool is served over plain HTTP.", | ||
| "type": "boolean" |
There was a problem hiding this comment.
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.
| # valueFrom: | ||
| # fieldRef: | ||
| # fieldPath: status.hostIP | ||
| # -- Environment variables in Kubernetes `EnvVar` form, for values `env` cannot express such as `valueFrom.fieldRef`. |
There was a problem hiding this comment.
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!

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 thepostgresqlsubchart block.This is the first PR where
values.schema.jsonvalidates anything, so it bumps the minor version (6.13.0).nullvalues. Neither tool can see commented-out keys.nullrenders exactly like a missing key, while""would not, becausequoterenders them differently.quotetake integers or strings (config.postgresql.port,dbConnectorTimeout,postgresPoolMaxSize).ssl_enabledtakes a boolean or a string. Optional keys acceptnull.image.pullPolicy,secretStoreRef.kind).image.pullSecretswas read by the templates but never mentioned invalues.yaml.config.jwtSecretnow notes that reusing the generated secret relies on Helmlookup, so Argo CD users should set it explicitly.Testing
compare-render.sh: all 35ci/values files render the same asmain.main's full repo-rootvalues.yaml, used as a user values file, passes the schema.Reviewing
Only
charts/retool/values.yamlis hand-written. Read the annotated sections in the file itself, since the diff is noisy. The schema, README and rootvalues.yamlare generated.🤖 Generated with Claude Code