Skip to content

Commit 55f7fc0

Browse files
authored
[DPE-1276] Update airflow values.yaml to use a new airflow version (#58)
* Update airflow values.yaml to use a new airflow version 2.10.5
1 parent a485dcc commit 55f7fc0

File tree

1 file changed

+53
-39
lines changed

1 file changed

+53
-39
lines changed

modules/apache-airflow/templates/values.yaml

Lines changed: 53 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ airflowHome: /opt/airflow
6868
defaultAirflowRepository: ghcr.io/sage-bionetworks-workflows/orca-recipes
6969

7070
# Default airflow tag to deploy
71-
defaultAirflowTag: "0.1.0"
71+
defaultAirflowTag: "0.2.0"
7272

7373
# Default airflow digest. If specified, it takes precedence over tag
7474
defaultAirflowDigest: ~
7575

7676
# Airflow version (Used to make some decisions based on Airflow Version being deployed)
77-
airflowVersion: "2.9.3"
77+
airflowVersion: "2.10.5"
7878

7979
# Images
8080
images:
@@ -105,7 +105,7 @@ images:
105105
pullPolicy: IfNotPresent
106106
statsd:
107107
repository: quay.io/prometheus/statsd-exporter
108-
tag: v0.26.1
108+
tag: v0.28.0
109109
pullPolicy: IfNotPresent
110110
redis:
111111
repository: redis
@@ -115,15 +115,15 @@ images:
115115
pullPolicy: IfNotPresent
116116
pgbouncer:
117117
repository: apache/airflow
118-
tag: airflow-pgbouncer-2024.01.19-1.21.0
118+
tag: airflow-pgbouncer-2025.01.10-1.24.0
119119
pullPolicy: IfNotPresent
120120
pgbouncerExporter:
121121
repository: apache/airflow
122122
tag: airflow-pgbouncer-exporter-2024.06.18-0.17.0
123123
pullPolicy: IfNotPresent
124124
gitSync:
125125
repository: registry.k8s.io/git-sync/git-sync
126-
tag: v4.1.0
126+
tag: v4.3.0
127127
pullPolicy: IfNotPresent
128128

129129
# Select certain nodes for airflow pods.
@@ -162,7 +162,7 @@ ingress:
162162

163163
# The hostnames or hosts configuration for the web Ingress
164164
hosts: []
165-
# # The hostname for the web Ingress (can be templated)
165+
# # The hostname for the web Ingress (templated)
166166
# - name: ""
167167
# # configs for web Ingress TLS
168168
# tls:
@@ -206,7 +206,7 @@ ingress:
206206

207207
# The hostnames or hosts configuration for the flower Ingress
208208
hosts: []
209-
# # The hostname for the flower Ingress (can be templated)
209+
# # The hostname for the flower Ingress (templated)
210210
# - name: ""
211211
# tls:
212212
# # Enable TLS termination for the flower Ingress
@@ -237,7 +237,7 @@ airflowPodAnnotations: {}
237237
# main Airflow configmap
238238
airflowConfigAnnotations: {}
239239

240-
# `airflow_local_settings` file as a string (can be templated).
240+
# `airflow_local_settings` file as a string (templated).
241241
airflowLocalSettings: |-
242242
{{- if semverCompare ">=2.2.0" .Values.airflowVersion }}
243243
{{- if not (or .Values.webserverSecretKey .Values.webserverSecretKeySecretName) }}
@@ -266,6 +266,7 @@ rbac:
266266

267267
# Airflow executor
268268
# One of: LocalExecutor, LocalKubernetesExecutor, CeleryExecutor, KubernetesExecutor, CeleryKubernetesExecutor
269+
# Specify executors in a prioritized list to leverage multiple execution environments as needed.
269270
executor: "CeleryExecutor"
270271

271272
# If this is true and using LocalExecutor/KubernetesExecutor/CeleryKubernetesExecutor, the scheduler's
@@ -307,6 +308,7 @@ enableBuiltInSecretEnvVars:
307308
AIRFLOW__CELERY__BROKER_URL: true
308309
AIRFLOW__ELASTICSEARCH__HOST: true
309310
AIRFLOW__ELASTICSEARCH__ELASTICSEARCH_HOST: true
311+
# AIRFLOW__OPENSEARCH__HOST: true
310312

311313
# Priority Classes that will be installed by charts.
312314
# Ideally, there should be an entry for dagProcessor, flower,
@@ -326,9 +328,9 @@ priorityClasses: []
326328
# Extra secrets that will be managed by the chart
327329
# (You can use them with extraEnv or extraEnvFrom or some of the extraVolumes values).
328330
# The format for secret data is "key/value" where
329-
# * key (can be templated) is the name of the secret that will be created
331+
# * key (templated) is the name of the secret that will be created
330332
# * value: an object with the standard 'data' or 'stringData' key (or both).
331-
# The value associated with those keys must be a string (can be templated)
333+
# The value associated with those keys must be a string (templated)
332334
extraSecrets: {}
333335
# eg:
334336
# extraSecrets:
@@ -353,9 +355,9 @@ extraSecrets: {}
353355
# Extra ConfigMaps that will be managed by the chart
354356
# (You can use them with extraEnv or extraEnvFrom or some of the extraVolumes values).
355357
# The format for configmap data is "key/value" where
356-
# * key (can be templated) is the name of the configmap that will be created
358+
# * key (templated) is the name of the configmap that will be created
357359
# * value: an object with the standard 'data' key.
358-
# The value associated with this keys must be a string (can be templated)
360+
# The value associated with this keys must be a string (templated)
359361
extraConfigMaps: {}
360362
# eg:
361363
# extraConfigMaps:
@@ -367,7 +369,7 @@ extraConfigMaps: {}
367369
# AIRFLOW_VAR_KUBERNETES_NAMESPACE: "{{ .Release.Namespace }}"
368370

369371
# Extra env 'items' that will be added to the definition of airflow containers
370-
# a string is expected (can be templated).
372+
# a string is expected (templated).
371373
# TODO: difference from `env`? This is a templated string. Probably should template `env` and remove this.
372374
extraEnv: ~
373375
# eg:
@@ -532,6 +534,9 @@ workers:
532534
maxSurge: "100%"
533535
maxUnavailable: "50%"
534536

537+
# Allow relaxing ordering guarantees while preserving its uniqueness and identity
538+
# podManagementPolicy: Parallel
539+
535540
# When not set, the values defined in the global securityContext will be used
536541
securityContext: {}
537542
# runAsUser: 50000
@@ -594,7 +599,8 @@ workers:
594599
SELECT ceil(COUNT(*)::decimal / {{ .Values.config.celery.worker_concurrency }})
595600
FROM task_instance
596601
WHERE (state='running' OR state='queued')
597-
{{- if eq .Values.executor "CeleryKubernetesExecutor" }}
602+
{{- if or (contains "CeleryKubernetesExecutor" .Values.executor)
603+
(contains "KubernetesExecutor" .Values.executor) }}
598604
AND queue != '{{ .Values.config.celery_kubernetes_executor.kubernetes_queue }}'
599605
{{- end }}
600606
@@ -779,8 +785,6 @@ workers:
779785
securityContexts:
780786
container: {}
781787

782-
env: []
783-
784788
volumeClaimTemplates: []
785789
# Additional volumeClaimTemplates needed.
786790
# Comment out the above and uncomment the section below to enable it.
@@ -870,7 +874,7 @@ scheduler:
870874

871875
# Create ServiceAccount
872876
serviceAccount:
873-
# default value is true
877+
# only affect CeleryExecutor, default value is true
874878
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
875879
automountServiceAccountToken: true
876880
# Specifies whether a ServiceAccount should be created
@@ -1186,18 +1190,15 @@ migrateDatabaseJob:
11861190
useHelmHooks: false
11871191
applyCustomEnv: true
11881192

1189-
# rpcServer support is experimental / dev purpose only and will later be renamed
1190-
_rpcServer:
1191-
enabled: false
1193+
_apiServer:
11921194

11931195
# Labels specific to workers objects and pods
11941196
labels: {}
11951197

1196-
# Command to use when running the Airflow rpc server (templated).
1197-
command:
1198-
- "bash"
1199-
# Args to use when running the Airflow rpc server (templated).
1200-
args: ["-c", "exec airflow internal-api"]
1198+
# Command to use when running the Airflow API server (templated).
1199+
command: ~
1200+
# Args to use when running the Airflow API server (templated).
1201+
args: ["bash", "-c", "exec airflow fastapi-api"]
12011202
env: []
12021203
serviceAccount:
12031204
# default value is true
@@ -1216,8 +1217,8 @@ _rpcServer:
12161217
## service annotations
12171218
annotations: {}
12181219
ports:
1219-
- name: rpc-server
1220-
port: "{{ .Values.ports._rpcServer }}"
1220+
- name: api-server
1221+
port: "9091"
12211222

12221223
loadBalancerIP: ~
12231224
## Limit load balancer source ips to list of CIDRs
@@ -1250,15 +1251,13 @@ _rpcServer:
12501251
# Launch additional containers into the flower pods.
12511252
extraContainers: []
12521253

1253-
# Additional network policies as needed (Deprecated - renamed to `webserver.networkPolicy.ingress.from`)
1254-
extraNetworkPolicies: []
12551254
networkPolicy:
12561255
ingress:
12571256
# Peers for webserver NetworkPolicy ingress
12581257
from: []
12591258
# Ports for webserver NetworkPolicy ingress (if `from` is set)
12601259
ports:
1261-
- port: "{{ .Values.ports._rpcServer }}"
1260+
- port: "9091"
12621261

12631262
resources: {}
12641263
# limits:
@@ -1282,8 +1281,6 @@ _rpcServer:
12821281
periodSeconds: 10
12831282
scheme: HTTP
12841283

1285-
# Wait for at most 1 minute (6*10s) for the RPC server container to startup.
1286-
# livenessProbe kicks in after the first successful startupProbe
12871284
startupProbe:
12881285
timeoutSeconds: 20
12891286
failureThreshold: 6
@@ -1336,6 +1333,7 @@ webserver:
13361333
# Args to use when running the Airflow webserver (templated).
13371334
args: ["bash", "-c", "exec airflow webserver"]
13381335

1336+
13391337
# Create ServiceAccount
13401338
serviceAccount:
13411339
# default value is true
@@ -1426,7 +1424,7 @@ webserver:
14261424
extraVolumes: []
14271425
extraVolumeMounts: []
14281426

1429-
# This string (can be templated) will be mounted into the Airflow Webserver
1427+
# This string (templated) will be mounted into the Airflow Webserver
14301428
# as a custom webserver_config.py. You can bake a webserver_config.py in to
14311429
# your image instead or specify a configmap containing the
14321430
# webserver_config.py.
@@ -2192,6 +2190,8 @@ pgbouncer:
21922190
# - name: my-templated-extra-volume
21932191
# mountPath: "{{ .Values.my_custom_path }}"
21942192
# readOnly: true
2193+
# Volumes apply to all pgbouncer containers, while volume mounts apply to the pgbouncer
2194+
# container itself. Metrics exporter container has its own mounts.
21952195
extraVolumes: []
21962196
extraVolumeMounts: []
21972197

@@ -2380,6 +2380,22 @@ elasticsearch:
23802380
# port: ~
23812381
connection: {}
23822382

2383+
# OpenSearch logging configuration
2384+
opensearch:
2385+
# Enable opensearch task logging
2386+
enabled: false
2387+
# A secret containing the connection
2388+
secretName: ~
2389+
# Or an object representing the connection
2390+
# Example:
2391+
# connection:
2392+
# scheme: ~
2393+
# user: ~
2394+
# pass: ~
2395+
# host: ~
2396+
# port: ~
2397+
connection: {}
2398+
23832399
# All ports used by chart
23842400
ports:
23852401
flowerUI: 5555
@@ -2391,8 +2407,7 @@ ports:
23912407
statsdScrape: 9102
23922408
pgbouncer: 6543
23932409
pgbouncerScrape: 9127
2394-
# rpcServer support is experimental / dev purpose only and will later be renamed
2395-
_rpcServer: 9080
2410+
# _apiServer: 9091
23962411

23972412
# Define any ResourceQuotas for namespace
23982413
quotas: {}
@@ -2499,10 +2514,10 @@ config:
24992514
executor: '{{ .Values.executor }}'
25002515
# For Airflow 1.10, backward compatibility; moved to [logging] in 2.0
25012516
colored_console_log: 'False'
2502-
remote_logging: '{{- ternary "True" "False" .Values.elasticsearch.enabled }}'
2517+
remote_logging: '{{- ternary "True" "False" (or .Values.elasticsearch.enabled .Values.opensearch.enabled) }}'
25032518
allowed_deserialization_classes_regexp: ".*"
25042519
logging:
2505-
remote_logging: '{{- ternary "True" "False" .Values.elasticsearch.enabled }}'
2520+
remote_logging: '{{- ternary "True" "False" (or .Values.elasticsearch.enabled .Values.opensearch.enabled) }}'
25062521
colored_console_log: 'False'
25072522
metrics:
25082523
statsd_on: '{{ ternary "True" "False" .Values.statsd.enabled }}'
@@ -2517,7 +2532,7 @@ config:
25172532
flower_url_prefix: '{{ ternary "" .Values.ingress.flower.path (eq .Values.ingress.flower.path "/") }}'
25182533
worker_concurrency: 16
25192534
scheduler:
2520-
standalone_dag_processor: '{{ ternary "True" "False" .Values.dagProcessor.enabled }}'
2535+
standalone_dag_processor: '{{ ternary "True" "False" (or (semverCompare ">=3.0.0" .Values.airflowVersion) (.Values.dagProcessor.enabled | default false)) }}'
25212536
# statsd params included for Airflow 1.10 backward compatibility; moved to [metrics] in 2.0
25222537
statsd_on: '{{ ternary "True" "False" .Values.statsd.enabled }}'
25232538
statsd_port: 9125
@@ -2743,4 +2758,3 @@ logs:
27432758
storageClassName: gp3
27442759
## the name of an existing PVC to use
27452760
existingClaim:
2746-

0 commit comments

Comments
 (0)