I have a deployment of Airflow running in a kubernetes cluster. I deployed it there using the official helm chart (described here). I manage DAGs using the recommended way, by "baking" them into a docker image (described here).
When I create or change a DAG, I run the docker build and docker push commands as listed in the documentation. This all works great. However, my changes don't show up in the GUI until I delete the scheduler and the webserver pods (kubectl delete pod airflow-scheduler-xxx, etc), forcing kubernetes to spin up new ones. This is not ideal for CI/CD purposes, as I don't want to continuously have to do this manually. Is there a way to pick up the changes automatically (e.g. by pulling the image periodically)?
I already tried to set dag_dir_list_interval in airflow.cfg (suggested here) through the helm values, but this doesn't seem to change anything. PullPolicy is set to Always because I use the latest tag. It looks like this in my override.yaml:
images:
airflow:
repository: -registry-name-
tag: latest
pullPolicy: Always
config:
scheduler:
# after how much time a new DAGs should be picked up from the filesystem
min_file_process_interval: 0
dag_dir_list_interval: 60