Skip to content

Commit 26d551e

Browse files
committed
feat(airflow): Add airflow 3.2.1
- Deprecate 3.1.6 - Bump git-sync to 4.6.0 - Bump cyclonedx-bom to 7.3.0 - Bump uv to 0.11.7
1 parent c61d277 commit 26d551e

6 files changed

Lines changed: 857 additions & 20 deletions

File tree

airflow/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ else
164164
fi
165165

166166
# Needed for pandas S3 integration to e.g. write and read csv and parquet files to/from S3
167+
# TODO: s3fs may already be installed via the s3fs extra and constraints. Check if this explicit install is still needed.
167168
uv pip install --no-cache-dir s3fs==${S3FS_VERSION} cyclonedx-bom==${CYCLONEDX_BOM_VERSION}
168169
# Needed for OIDC
169170
uv pip install --no-cache-dir Flask_OIDC==2.2.0 Flask-OpenID==1.3.1

airflow/boil-config.toml

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,15 @@ vector = "0.55.0"
88
stackable-devel = "1.0.0"
99

1010
[versions."2.9.3".build-arguments]
11+
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
1112
python-version = "3.9"
12-
git-sync-version = "v4.4.1"
13+
git-sync-version = "v4.6.0"
14+
# Must match the version in the constraints file.
15+
# TODO: Check if this can be removed in favour of letting it come in via the s3fs extra and constraints.
1316
s3fs-version = "2024.9.0"
14-
cyclonedx-bom-version = "6.0.0"
17+
cyclonedx-bom-version = "7.3.0"
1518
tini-version = "0.19.0"
16-
uv-version = "0.7.8"
19+
uv-version = "0.11.7"
1720
airflow-extras-other = "async,amazon,celery,cncf.kubernetes,docker,dask,elasticsearch,ftp,grpc,hashicorp,http,ldap,google,google_auth,microsoft.azure,odbc,pandas,postgres,redis,sendgrid,sftp,slack,ssh,statsd,virtualenv,trino"
1821
opa-auth-manager = "airflow-2"
1922
nodejs-version = "20"
@@ -25,14 +28,19 @@ vector = "0.55.0"
2528
stackable-devel = "1.0.0"
2629

2730
[versions."3.0.6".build-arguments]
31+
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
2832
python-version = "3.12"
29-
git-sync-version = "v4.4.1"
33+
git-sync-version = "v4.6.0"
34+
# Must match the version in the constraints file.
35+
# TODO: Check if this can be removed in favour of letting it come in via the s3fs extra and constraints.
3036
s3fs-version = "2024.9.0"
31-
cyclonedx-bom-version = "6.0.0"
37+
cyclonedx-bom-version = "7.3.0"
3238
tini-version = "0.19.0"
33-
uv-version = "0.7.8"
39+
uv-version = "0.11.7"
3440

35-
# Airflow extras are defined in separate lists to make them easier to check against the links below. The lists will be concatenated and duplicates removed in the dockerfile.
41+
# Airflow extras are defined in separate lists to make them easier to check against the links below.
42+
# The lists will be concatenated and duplicates removed in the dockerfile.
43+
# TODO: Add policy for when to add extras.
3644
# See https://airflow.apache.org/docs/apache-airflow/3.0.6/extra-packages-ref.html#core-airflow-extras
3745
airflow-extras-core = "async,graphviz,kerberos,otel,sentry,standard,statsd"
3846

@@ -54,39 +62,83 @@ airflow-extras-other = "common-compat,common-io,common-messaging,common-sql,ftp,
5462
opa-auth-manager = "airflow-3"
5563
nodejs-version = "20"
5664

57-
# Supported
65+
# Deprecated
5866
[versions."3.1.6".local-images]
5967
"shared/statsd-exporter" = "0.28.0"
6068
vector = "0.55.0"
6169
stackable-devel = "1.0.0"
6270

6371
[versions."3.1.6".build-arguments]
64-
# NOTE (@Techassi): Maybe this version can be bumped
72+
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
6573
python-version = "3.12"
66-
git-sync-version = "v4.5.1"
74+
git-sync-version = "v4.6.0"
75+
# Must match the version in the constraints file.
76+
# TODO: Check if this can be removed in favour of letting it come in via the s3fs extra and constraints.
6777
s3fs-version = "2026.1.0"
68-
cyclonedx-bom-version = "7.2.1"
78+
cyclonedx-bom-version = "7.3.0"
79+
tini-version = "0.19.0"
80+
uv-version = "0.11.7"
81+
82+
# Airflow extras are defined in separate lists to make them easier to check against the links below.
83+
# The lists will be concatenated and duplicates removed in the dockerfile.
84+
# TODO: Add policy for when to add extras.
85+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#core-airflow-extras
86+
airflow-extras-core = "async,graphviz,kerberos,otel,sentry,standard,statsd"
87+
88+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#meta-airflow-package-extras
89+
airflow-extras-meta = "aiobotocore,cloudpickle,github-enterprise,google-auth,graphviz,ldap,leveldb,pandas,polars,rabbitmq,s3fs,saml,uv"
90+
91+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#apache-software-extras
92+
airflow-extras-provider-apache = "apache-beam,apache-cassandra,apache-drill,apache-druid,apache-flink,apache-hdfs,apache-hive,apache-iceberg,apache-impala,apache-kafka,apache-kylin,apache-livy,apache-pig,apache-pinot"
93+
94+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#external-services-extras
95+
airflow-extras-external-services = "airbyte,alibaba,apprise,amazon,asana,atlassian-jira,microsoft-azure,cloudant,cohere,databricks,datadog,dbt-cloud,dingding,discord,facebook,github,google,hashicorp,openai,opsgenie,pagerduty,pgvector,pinecone,qdrant,salesforce,sendgrid,segment,slack,snowflake,tableau,tabular,telegram,vertica,weaviate,yandex,ydb,zendesk"
96+
97+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#locally-installed-software-extras
98+
airflow-extras-locally-installed-software = "arangodb,celery,cncf-kubernetes,docker,edge3,elasticsearch,exasol,fab,git,github,influxdb,jenkins,mongo,microsoft-mssql,neo4j,odbc,openfaas,oracle,postgres,presto,redis,samba,singularity,teradata,trino"
99+
100+
# See https://airflow.apache.org/docs/apache-airflow/3.1.6/extra-packages-ref.html#other-extras
101+
airflow-extras-other = "common-compat,common-io,common-messaging,common-sql,ftp,grpc,http,imap,jdbc,microsoft-psrp,microsoft-winrm,openlineage,opensearch,papermill,sftp,smtp,sqlite,ssh"
102+
103+
opa-auth-manager = "airflow-3"
104+
nodejs-version = "22"
105+
106+
# Supported
107+
[versions."3.2.1".local-images]
108+
"shared/statsd-exporter" = "0.28.0"
109+
vector = "0.55.0"
110+
stackable-devel = "1.0.0"
111+
112+
[versions."3.2.1".build-arguments]
113+
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
114+
python-version = "3.12"
115+
git-sync-version = "v4.6.0"
116+
# Must match the version in the constraints file.
117+
# TODO: Check if this can be removed in favour of letting it come in via the s3fs extra and constraints.
118+
s3fs-version = "2026.3.0"
119+
cyclonedx-bom-version = "7.3.0"
69120
tini-version = "0.19.0"
70-
# NOTE (@Techassi): Maybe this version can be bumped
71-
uv-version = "0.7.22"
121+
uv-version = "0.11.7"
72122

73-
# Airflow extras are defined in separate lists to make them easier to check against the links below. The lists will be concatenated and duplicates removed in the dockerfile.
74-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#core-airflow-extras
123+
# Airflow extras are defined in separate lists to make them easier to check against the links below.
124+
# The lists will be concatenated and duplicates removed in the dockerfile.
125+
# TODO: Add policy for when to add extras.
126+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#core-airflow-extras
75127
airflow-extras-core = "async,graphviz,kerberos,otel,sentry,standard,statsd"
76128

77-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#meta-airflow-package-extras
129+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#meta-airflow-package-extras
78130
airflow-extras-meta = "aiobotocore,cloudpickle,github-enterprise,google-auth,graphviz,ldap,leveldb,pandas,polars,rabbitmq,s3fs,saml,uv"
79131

80-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#apache-software-extras
132+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#apache-software-extras
81133
airflow-extras-provider-apache = "apache-beam,apache-cassandra,apache-drill,apache-druid,apache-flink,apache-hdfs,apache-hive,apache-iceberg,apache-impala,apache-kafka,apache-kylin,apache-livy,apache-pig,apache-pinot"
82134

83-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#external-services-extras
135+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#external-services-extras
84136
airflow-extras-external-services = "airbyte,alibaba,apprise,amazon,asana,atlassian-jira,microsoft-azure,cloudant,cohere,databricks,datadog,dbt-cloud,dingding,discord,facebook,github,google,hashicorp,openai,opsgenie,pagerduty,pgvector,pinecone,qdrant,salesforce,sendgrid,segment,slack,snowflake,tableau,tabular,telegram,vertica,weaviate,yandex,ydb,zendesk"
85137

86-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#locally-installed-software-extras
138+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#locally-installed-software-extras
87139
airflow-extras-locally-installed-software = "arangodb,celery,cncf-kubernetes,docker,edge3,elasticsearch,exasol,fab,git,github,influxdb,jenkins,mongo,microsoft-mssql,neo4j,odbc,openfaas,oracle,postgres,presto,redis,samba,singularity,teradata,trino"
88140

89-
# See https://airflow.apache.org/docs/apache-airflow/3.1.5/extra-packages-ref.html#other-extras
141+
# See https://airflow.apache.org/docs/apache-airflow/3.2.1/extra-packages-ref.html#other-extras
90142
airflow-extras-other = "common-compat,common-io,common-messaging,common-sql,ftp,grpc,http,imap,jdbc,microsoft-psrp,microsoft-winrm,openlineage,opensearch,papermill,sftp,smtp,sqlite,ssh"
91143

92144
opa-auth-manager = "airflow-3"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Cython>=3.1.0

0 commit comments

Comments
 (0)