-
I have configured my kubernetes executors to mount a volume with certificates needed for the gitsync like stated in this docs: https://crds.stackable.tech/24.3.0/airflow.stackable.tech/airflowcluster/v1alpha1/#spec-webservers-podOverrides-spec-initContainers-volumeMounts However whatever I do, my initContainer does not get this volume mounted. What do I need to do to get this done? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 15 replies
-
Do you have an example custom resource you are using? (you can leave all the gitsync stuff out, just so I can try and see reproduce it). |
Beta Was this translation helpful? Give feedback.
-
Airflow reads the Secret and then writes the credentials to environment variables. This is how the database credential secret is used, for example, so you shouldn't have to mount it explicitly. But note also that the implementation for gitSync has to be (with the current implemntation) user + password. We have an issue open for allowing SSH access to gitSync (currently not planned). |
Beta Was this translation helpful? Give feedback.
The PR is this one: stackabletech/airflow-operator#456. Just to explain a few things: there were actually two things missing - the podOverrides were not being passed through to the gitsync containers, and neither were the envOverrides in kubernetesExecutor-mode. There are actually three places where the gitsync container is created: for the two modes (kubernetesExecutor and celeryExecutor), which are different as one requires a template that is used by airflow, and the other is the pod we create ourselves, but also we need an initContainer as well as a sidecar for the celeryExecutor to avoid a race condition.