lucargir opened a new pull request, #41777: URL: https://github.com/apache/superset/pull/41777
### SUMMARY Restructures the Helm chart configuration onto a first-class, documented values schema and renders `superset_config.py` from it, **while keeping existing installs working** through a deprecation path (old keys are auto-mapped and a warning is printed in `NOTES.txt` — nothing hard-fails). This is the "core" of a larger, previously-split chart effort; it is the foundation the follow-up chart PRs build on. It intentionally preserves recent chart behavior on `master` (bash `/dev/tcp` init wait, `redis_driver`, `SQLALCHEMY_TRACK_MODIFICATIONS=False`). **Highlights** - **New values schema:** `database.*`, `cache.*`, `cluster.*`, `config.*`, `featureFlags.*` (+ `globalPodAnnotations`). `superset_config.py` is rendered by a new `superset.config` helper; the legacy `superset-config` define is removed. - **Backward compatible (deprecation path):** coalescing resolver helpers map legacy `supersetNode.connections.*` and root `serviceAccountName` onto the new schema; a deprecation notice is surfaced in `NOTES.txt`. Existing `values.yaml` files keep working on upgrade. - **`cache.driver`** ports the legacy `redis_driver` escape hatch (`REDIS_DRIVER`). - **`serviceAccount.name`** is now honored (with legacy `serviceAccountName` fallback), fixing a gap where the new key was never read. - **Init job** runs `superset db upgrade` + `superset init` (schema migration) in addition to admin/examples; `init.initscript` is deprecated/unused. - **`values.schema.json`** (permissive) so bad values fail `helm install` early without rejecting existing values files. - **Docs:** `UPGRADING.md` migration guide; `README.md` regenerated. Chart bumped to **0.20.0** (appVersion unchanged, `6.1.0`). ⚠️ **Breaking-ish but mapped:** the values schema changed, but old keys are auto-mapped and only warned about, so `helm upgrade` continues to work. See `helm/superset/UPGRADING.md`. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF N/A — Helm chart change, no UI. ### TESTING INSTRUCTIONS ```bash # Lint (also validates values.schema.json) helm lint helm/superset # Render + verify no unrendered values helm template t helm/superset | grep -c '<no value>' # expect 0 # Schema validation (target k8s version) helm template t helm/superset | kubeconform -kubernetes-version 1.29.0 -strict -skip CustomResourceDefinition # Unit tests helm unittest helm/superset # Deprecation path: legacy keys still work + warn helm template t helm/superset --set supersetNode.connections.db_host=legacy | grep DB_HOST # -> legacy helm install --dry-run r helm/superset --set supersetNode.connections.db_host=x | grep -A2 "DEPRECATION" ``` ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [x] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
