Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
- Document Helm deployed RBAC permissions and remove unnecessary permissions ([#767], [#774]).
- BREAKING: `configOverrides` now only accepts the known config file `webserver_config.py`. Previously, arbitrary file names were silently accepted and ignored ([#775]).
- Bump `stackable-operator` to 0.110.1, kube to 3.1.0, and snafu to 0.9 ([#775]).
- BREAKING: Rename `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `webserver_config.py` for arbitrary python code to `FILE_HEADER` and `FILE_FOOTER` ([#775], [#777]).

### Fixed

Expand All @@ -23,6 +24,7 @@
[#770]: https://github.com/stackabletech/airflow-operator/pull/770
[#774]: https://github.com/stackabletech/airflow-operator/pull/774
[#775]: https://github.com/stackabletech/airflow-operator/pull/775
[#777]: https://github.com/stackabletech/airflow-operator/pull/777

## [26.3.0] - 2026-03-16

Expand Down
6 changes: 3 additions & 3 deletions docs/modules/airflow/pages/usage-guide/overrides.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Not all roles use each setting, but some things -- such as external endpoints --
Airflow exposes an environment variable for every Airflow configuration setting, a list of which can be found in the {airflow-config-docs}[Configuration Reference].

As Airflow can be configured with python code too, arbitrary code can be added to the `webserver_config.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.

Expand All @@ -24,9 +24,9 @@ webservers:
configOverrides:
webserver_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 airflow.security import AirflowSecurityManager

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,17 @@ spec:
enableVectorAgent: {{ lookup('env', 'VECTOR_AGGREGATOR') | length > 0 }}
configOverrides:
webserver_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:
webserver_config.py:
EXPERIMENTAL_FILE_HEADER: |
FILE_HEADER: |
COMMON_HEADER_VAR = "group-value"
{% if test_scenario['values']['executor'] == 'celery' %}
celeryExecutors:
Expand Down
8 changes: 4 additions & 4 deletions tests/templates/kuttl/smoke/41-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 600
timeout: 300
commands:
#
# Test envOverrides
Expand All @@ -16,6 +16,6 @@ commands:
)

# Config Test Assertions
echo "$AIRFLOW_CONFIG" | grep 'COMMON_HEADER_VAR = "group-value"'
echo "$AIRFLOW_CONFIG" | grep 'ROLE_FOOTER_VAR = "role-value"'
echo "$AIRFLOW_CONFIG" | grep -v 'ROLE_HEADER_VAR = "role-value"'
echo "$AIRFLOW_CONFIG" | grep '^COMMON_HEADER_VAR = "group-value"'
echo "$AIRFLOW_CONFIG" | grep '^ROLE_FOOTER_VAR = "role-value"'
echo "$AIRFLOW_CONFIG" | grep -v '^ROLE_HEADER_VAR = "role-value"'
Loading