From d2bd18eaedba1b1addeacee347865aad463c279d Mon Sep 17 00:00:00 2001 From: xeniape Date: Mon, 20 Apr 2026 13:13:13 +0200 Subject: [PATCH 1/3] chore: Rename EXPERIMENTAL_FILE_HEADER / EXPERIMENTAL_FILE_FOOTER in webserver_config.py --- CHANGELOG.md | 1 + .../usage-guide/configuration-environment-overrides.adoc | 6 +++--- tests/templates/kuttl/smoke/30-install-superset.yaml.j2 | 6 +++--- tests/templates/kuttl/smoke/31-assert.yaml | 8 ++++---- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ee7a316..5b59ddb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - BREAKING: `configOverrides` now only accepts the supported config file name `superset_config.py`. Previously arbitrary keys were silently accepted but ignored ([#719]). - Bump `stackable-operator` to 0.110.0 and `kube` to 3.1.0 ([#719]). - Support setting `clientAuthenticationMethod` for OIDC authentication. The value is passed through to the Flask-AppBuilder config as `token_endpoint_auth_method` ([#719]). +- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `superset_config.py` for arbitrary python code to `FILE_HEADER` and `FILE_FOOTER` ([]). [#717]: https://github.com/stackabletech/superset-operator/pull/717 [#719]: https://github.com/stackabletech/superset-operator/pull/719 diff --git a/docs/modules/superset/pages/usage-guide/configuration-environment-overrides.adoc b/docs/modules/superset/pages/usage-guide/configuration-environment-overrides.adoc index 1bead951..9b8e7eb2 100644 --- a/docs/modules/superset/pages/usage-guide/configuration-environment-overrides.adoc +++ b/docs/modules/superset/pages/usage-guide/configuration-environment-overrides.adoc @@ -59,7 +59,7 @@ For a full list of configuration options we refer to the https://github.com/apache/superset/blob/master/superset/config.py[main config file for Superset]. As Superset can be configured with python code too, arbitrary code can be added to the `superset_conf.py`. -You can use either `EXPERIMENTAL_FILE_HEADER` to add code to the top or `EXPERIMENTAL_FILE_FOOTER` to add to the bottom. +You can use either `FILE_HEADER` to add code to the top or `FILE_FOOTER` to add to the bottom. IMPORTANT: This is an experimental feature @@ -69,9 +69,9 @@ nodes: configOverrides: superset_config.py: CSV_EXPORT: "{'encoding': 'utf-8'}" - EXPERIMENTAL_FILE_HEADER: | + FILE_HEADER: | from modules.my_module import my_class - EXPERIMENTAL_FILE_FOOTER: | + FILE_FOOTER: | import logging from superset.security import SupersetSecurityManager diff --git a/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 b/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 index 872202e5..019bae50 100644 --- a/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 +++ b/tests/templates/kuttl/smoke/30-install-superset.yaml.j2 @@ -46,17 +46,17 @@ spec: enableVectorAgent: {{ lookup('env', 'VECTOR_AGGREGATOR') | length > 0 }} configOverrides: superset_config.py: - EXPERIMENTAL_FILE_HEADER: | + FILE_HEADER: | COMMON_HEADER_VAR = "role-value" ROLE_HEADER_VAR = "role-value" - EXPERIMENTAL_FILE_FOOTER: | + FILE_FOOTER: | ROLE_FOOTER_VAR = "role-value" roleGroups: default: replicas: 1 configOverrides: superset_config.py: - EXPERIMENTAL_FILE_HEADER: | + FILE_HEADER: | COMMON_HEADER_VAR = "group-value" envOverrides: COMMON_VAR: group-value # overrides role value diff --git a/tests/templates/kuttl/smoke/31-assert.yaml b/tests/templates/kuttl/smoke/31-assert.yaml index d25220f2..b286403f 100644 --- a/tests/templates/kuttl/smoke/31-assert.yaml +++ b/tests/templates/kuttl/smoke/31-assert.yaml @@ -1,7 +1,7 @@ --- apiVersion: kuttl.dev/v1beta1 kind: TestAssert -timeout: 600 +timeout: 300 commands: # # Test envOverrides @@ -16,9 +16,9 @@ commands: ) # Config Test Assertions - echo "$SUPERSET_CONFIG" | grep 'COMMON_HEADER_VAR = "group-value"' - echo "$SUPERSET_CONFIG" | grep 'ROLE_FOOTER_VAR = "role-value"' - echo "$SUPERSET_CONFIG" | grep -v 'ROLE_HEADER_VAR = "role-value"' + echo "$SUPERSET_CONFIG" | grep '^COMMON_HEADER_VAR = "group-value"' + echo "$SUPERSET_CONFIG" | grep '^ROLE_FOOTER_VAR = "role-value"' + echo "$SUPERSET_CONFIG" | grep -v '^ROLE_HEADER_VAR = "role-value"' # STS Spec Test Data SUPERSET_NODE_DEFAULT_STS=$(kubectl -n "$NAMESPACE" get sts superset-node-default -o yaml) From c1a80d1cea7f0cb3dd14300cd000806bd5ad7653 Mon Sep 17 00:00:00 2001 From: xeniape Date: Mon, 20 Apr 2026 13:15:22 +0200 Subject: [PATCH 2/3] adjust changelog entry --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b59ddb8..0430d0bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,11 @@ - BREAKING: `configOverrides` now only accepts the supported config file name `superset_config.py`. Previously arbitrary keys were silently accepted but ignored ([#719]). - Bump `stackable-operator` to 0.110.0 and `kube` to 3.1.0 ([#719]). - Support setting `clientAuthenticationMethod` for OIDC authentication. The value is passed through to the Flask-AppBuilder config as `token_endpoint_auth_method` ([#719]). -- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `superset_config.py` for arbitrary python code to `FILE_HEADER` and `FILE_FOOTER` ([]). +- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `superset_config.py` for arbitrary python code to `FILE_HEADER` and `FILE_FOOTER` ([#721]). [#717]: https://github.com/stackabletech/superset-operator/pull/717 [#719]: https://github.com/stackabletech/superset-operator/pull/719 +[#721]: https://github.com/stackabletech/superset-operator/pull/721 ## [26.3.0] - 2026-03-16 From 5d7795134997d9e89262904dfe7d7fb138129cf5 Mon Sep 17 00:00:00 2001 From: Xenia Date: Mon, 20 Apr 2026 13:49:09 +0200 Subject: [PATCH 3/3] Update CHANGELOG.md Co-authored-by: Sebastian Bernauer --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0430d0bc..fb7aeea7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ - BREAKING: `configOverrides` now only accepts the supported config file name `superset_config.py`. Previously arbitrary keys were silently accepted but ignored ([#719]). - Bump `stackable-operator` to 0.110.0 and `kube` to 3.1.0 ([#719]). - Support setting `clientAuthenticationMethod` for OIDC authentication. The value is passed through to the Flask-AppBuilder config as `token_endpoint_auth_method` ([#719]). -- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `superset_config.py` for arbitrary python code to `FILE_HEADER` and `FILE_FOOTER` ([#721]). +- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `superset_config.py` for arbitrary Python code to `FILE_HEADER` and `FILE_FOOTER` ([#719], [#721]). [#717]: https://github.com/stackabletech/superset-operator/pull/717 [#719]: https://github.com/stackabletech/superset-operator/pull/719