Skip to content

Commit 0f40ffe

Browse files
author
Lidor Ettinger
authored
scheduler kubernetes secrets (#48)
Signed-off-by: lidor ettinger <[email protected]>
1 parent eec4d17 commit 0f40ffe

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

charts/airflow/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
description: airflow is a platform to programmatically author, schedule, and monitor workflows
33
name: airflow
4-
version: 7.15.0
4+
version: 7.16.0
55
appVersion: 1.10.12
66
icon: https://airflow.apache.org/_images/pin_large.png
77
home: https://airflow.apache.org/

charts/airflow/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ airflow create_user ...
5353

5454
Find chart version numbers under [GitHub Releases](https://github.com/airflow-helm/charts/releases):
5555

56+
- [v7.15.X → v7.16.0](UPGRADE.md#v715x--v7160)
5657
- [v7.14.X → v7.15.0](UPGRADE.md#v714x--v7150)
5758
- [v7.13.X → v7.14.0](UPGRADE.md#v713x--v7140)
5859
- [v7.12.X → v7.13.0](UPGRADE.md#v712x--v7130)
@@ -712,6 +713,9 @@ __Airflow Scheduler values:__
712713
| `scheduler.preinitdb` | if we run `airflow upgradedb` inside a special initContainer | `false` |
713714
| `scheduler.initialStartupDelay` | the number of seconds to wait (in bash) before starting the scheduler container | `0` |
714715
| `scheduler.livenessProbe.*` | configs for the scheduler liveness probe | `<see values.yaml>` |
716+
| `scheduler.secretsDir` | the directory in which to mount secrets on scheduler containers | `/var/airflow/secrets` |
717+
| `scheduler.secrets` | the names of existing Kubernetes Secrets to mount as files at `{workers.secretsDir}/<secret_name>/<keys_in_secret>` | `[]` |
718+
| `scheduler.secretsMap` | the name of an existing Kubernetes Secret to mount as files to `{web.secretsDir}/<keys_in_secret>` | `""` |
715719
| `scheduler.extraInitContainers` | extra init containers to run before the scheduler pod | `[]` |
716720

717721
__Airflow Webserver Values:__

charts/airflow/templates/scheduler/scheduler-deployment.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,17 @@ spec:
181181
volumeMounts:
182182
- name: scripts
183183
mountPath: /home/airflow/scripts
184+
{{- if .Values.scheduler.secretsMap }}
185+
- name: {{ .Values.scheduler.secretsMap }}-volume
186+
readOnly: true
187+
mountPath: {{ $.Values.scheduler.secretsDir }}
188+
{{- else }}
189+
{{- range .Values.scheduler.secrets }}
190+
- name: {{ . }}-volume
191+
readOnly: true
192+
mountPath: {{ $.Values.scheduler.secretsDir }}/{{ . }}
193+
{{- end }}
194+
{{- end }}
184195
{{- if .Values.dags.persistence.enabled }}
185196
- name: dags-data
186197
mountPath: {{ .Values.dags.path }}
@@ -281,6 +292,17 @@ spec:
281292
configMap:
282293
name: {{ include "airflow.fullname" . }}-scripts
283294
defaultMode: 0755
295+
{{- if .Values.scheduler.secretsMap }}
296+
- name: {{ .Values.scheduler.secretsMap }}-volume
297+
secret:
298+
secretName: {{ .Values.scheduler.secretsMap }}
299+
{{- else }}
300+
{{- range .Values.scheduler.secrets }}
301+
- name: {{ . }}-volume
302+
secret:
303+
secretName: {{ . }}
304+
{{- end }}
305+
{{- end }}
284306
{{- if .Values.dags.persistence.enabled }}
285307
- name: dags-data
286308
persistentVolumeClaim:

charts/airflow/values.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,21 @@ scheduler:
346346
periodSeconds: 30
347347
failureThreshold: 5
348348

349+
## the directory in which to mount secrets on scheduler containers
350+
##
351+
secretsDir: /var/airflow/secrets
352+
353+
## the names of existing Kubernetes Secrets to mount as files at `{workers.secretsDir}/<secret_name>/<keys_in_secret>`
354+
##
355+
secrets: []
356+
357+
## the name of an existing Kubernetes Secret to mount as files to `{web.secretsDir}/<keys_in_secret>`
358+
##
359+
## NOTE:
360+
## - overrides `scheduler.secrets`
361+
##
362+
secretsMap: ""
363+
349364
## extra init containers to run before the scheduler Pod
350365
##
351366
## EXAMPLE:

0 commit comments

Comments
 (0)