Significant Changes
Support for old versions of Apache Airflow <2.11 has been dropped (#61018)
Minimum supported version of Apache Airflow is now 2.11.0. If you want to deploy an
old version of Apache Airflow, please use the last released version of the chart 1.19.0.
workers specific sections have been moved to workers.celery / workers.kubernetes sections
Please update your configuration accordingly:
workers.commandcommand is now deprecated in favor ofworkers.celery.command/workers.kubernetes.command(#60067).workers.securityContextscommand is now deprecated in favor ofworkers.celery.securityContexts/workers.kubernetes.securityContexts(#60396).workers.containerLifecycleHookscommand is now deprecated in favor ofworkers.celery.containerLifecycleHooks/workers.kubernetes.containerLifecycleHooks(#61369).workers.kerberosSidecarsection is now deprecated in favor ofworkers.celery.kerberosSidecar/workers.kubernetes.kerberosSidecar(#61881).workers.kerberosInitContainersection is now deprecated in favor ofworkers.celery.kerberosInitContainer/workers.kubernetes.kerberosInitContainer(#60751).workers.terminationGracePeriodSecondscommand is now deprecated in favor ofworkers.celery.terminationGracePeriodSeconds/workers.kubernetes.terminationGracePeriodSeconds(#61892).workers.nodeSelectorcommand is now deprecated in favor ofworkers.celery.nodeSelector/workers.kubernetes.nodeSelector(#61957).workers.podDisruptionBudgetsection is now deprecated in favor ofworkers.celery.podDisruptionBudget. Please update your configuration accordingly. (#61414)workers.kedasection is now deprecated in favor ofworkers.celery.keda. Please update your configuration accordingly. (#61820)workers.resourcessection is now deprecated in favor ofworkers.celery.resourcesandworkers.kubernetes.resources. Please update your configuration accordingly. (#61890)
The previous configuration options are still working, but are deprecated and will be removed in a future version.
As Git-Sync is not service-type object, the readiness probe will be removed. (#62334)
To enable feature behaviour set dags.gitSync.recommendedProbeSetting to true. Section itself will be removed in future release as to not break setups during upgrades.
As Git-Sync has dedicated liveness service, the liveness probe behaviour will be changed. To enable feature behaviour set dags.gitSync.recommendedProbeSetting to true.
Please update your configuration accordingly.
Automatic env variables removed from container_extra_envs and custom_airflow_environment (#60750)
The automatic prefix addition for Kubernetes Executor environment variables and secrets has been removed from both the container_extra_envs and custom_airflow_environment helper functions.
What changed:
Previously, when you added environment variables to component-specific configurations (e.g., .Values.scheduler.env), the chart automatically created an additional environment variable (to specified in the env section) with the AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__ prefix for Kubernetes Executor worker pods. After this change, only the variable specified in env section will be created.
Furthermore, for values specified under .Values.secret section, the AIRFLOW__KUBERNETES_SECRETS__ prefix is no longer automatically added. Secrets are now passed as-is via secretKeyRef without the prefixed copy for worker pods.
Why this change:
- Prevent unintended exposure of sensitive data like
client_secretinformation. Previously, due to prefix, it was recognized as internal Airflow configuration leading to unintended exposure in Airflow UI (under Admin -> Configuration), even whenAIRFLOW__API__EXPOSE_CONFIGis set tonon-sensitive-only. - Avoid unintended environment propagation to workers: component-specific env configurations are intended strictly for specific components. Previous behaviour caused these variables to be passed to worker pods, which could result in configuration conflicts and unexpected side effects.
Migration Required:
If you need to pass environment variables specifically to Kubernetes Executor worker pods, use one of the following approaches:
Option 1: Use .Values.env
.. code-block:: yaml
env:
- name: my_var
value: "my_value"
Environment variables specified under .Values.env are now passed as-is without the automatic prefix (same behaviour as component-specific env).
Option 2: Use .Values.config.kubernetes_environment_variables
.. code-block:: yaml
config:
kubernetes_environment_variables:
my_var: "my_value"
Default Airflow image is updated to 3.1.8 (#63392)
The default Airflow image that is used with the Chart is now 3.1.8, previously it was 3.1.7.
Features
- Support Helm template expressions in
podAnnotationsandairflowPodAnnotationsvalues (#63019) - Add minute-level log retention to clean-logs script (#61855)
- Add LOG_MAX_SIZE environment variables to log groomer (#61559)
Improvements
- Remove automatic
KUBERNETES_ENVIRONMENT_VARIABLESandKUBERNETES_SECRETSprefixes from chart helpers (#60750) - Remove JWT secrets from triggerer, worker and dag-processor (#63204)
- Add
workers.celery.nodeSelector&workers.kubernetes.nodeSelector(#61957) - Add
workers.celery.terminationGracePeriodSeconds&workers.kubernetes.terminationGracePeriodSeconds(#61892) - Add
workers.celery.resources&workers.kubernetes.resources(#61890) - Add
workers.celery.kedasection (#61820) - Add
workers.celery.podDisruptionBudget(#61414) - Add
workers.celery.containerLifecycleHooks&workers.kubernetes.containerLifecycleHooks(#61369) - Refactor Git-Sync
livenessProbe& deprecatereadinessProbe& addstartupProbe(#62334) - Warn on deprecated per-component
securityContextvalues (#62729) - Add ingress deprecation warnings for
apiServer,statsd, andpgbouncer(#62490) - Add missing support for:
securityContextsandcontainerLifecycleHook(#60677)
Bug Fixes
- More restrictive chart rendering logic (#63464)
- Omit api-server
spec.replicaswhen HPA is enabled (#63187) - Add
workers.celery.kerberosSidecar&workers.kubernetes.kerberosSidecarsections (#61881) - Fix chart NOTES.txt showing deprecation warnings only without secret key (#62722)
- Fix
tplrendering for TLS hosts in ingress templates #62358 (#62548) - Fix
webserver.defaultUser.enabled=falsenot honored (#62143)
Doc only changes
- Cleanup Helm Chart documentation (#62544)
- Add missing deprecation warnings for workers section (#63659)
Misc
- Drop support for all Airflow versions below 2.11 in Helm Chart (#61018)
- Default airflow version to 3.1.8 (#63392)
- Add
*.imlto .gitignore in all distributions (#63636) - Upgrade important CI environment (#62792, #62610)
- Allow to use short SPDX license identifier for selected files (#62073)
- Fix all build-system/requires including transitive dependencies (#62570)