Airflow + Kubernetes Executor+ Git Sync
Current chart version is 1.0.0
To install the Airflow chart in your Kubernetes cluster, add the larribas
repository (see main README), and then run:
helm install --namespace airflow --name airflow larribas/airflow
After the installation succeeds, you can get the Chart's status via:
helm status airflow
You can delete the Chart anytime via:
helm delete --purge airflow
By default, this Chart creates a new ServiceAccount and runs the deployment under it. You can disable this behavior setting serviceAccount.create = false
.
By default, the ingress controller is disabled. You can, however, instruct the Chart to create an Ingress resource for you with the values you specify.
Key | Type | Default | Description |
---|---|---|---|
affinity | object | {} |
|
airflowHome | string | "/usr/local/airflow" |
Used for mount paths |
config | object | {"AIRFLOW__CORE__COLORED_CONSOLE_LOG":"false","AIRFLOW__CORE__ENABLE_XCOM_PICKLING":"false","AIRFLOW__CORE__LOAD_EXAMPLES":"true","AIRFLOW__WEBSERVER__ENABLE_PROXY_FIX":"true"} |
Map of environment variables to inject via envFrom/configMapRef |
fullnameOverride | string | "" |
|
gitSync.dest | string | "sync" |
|
gitSync.enabled | bool | false |
Whether or not to use a Git repository as the source of truth for the DAGs available to Airflow. When enabled, you need to specify some of the environment variables listed here inside of the config value defined above |
gitSync.root | string | "/dags" |
|
gitSync.ssh.knownHosts | string | nil |
|
gitSync.ssh.privateKey | string | nil |
|
imagePullSecrets | list | [] |
|
images.airflow | object | {"pullPolicy":"IfNotPresent","repository":"apache/airflow","tag":"1.10.10"} |
The docker image to use for Airflow's webserver, scheduler and kubernetes workers |
images.gitSync | object | {"pullPolicy":"IfNotPresent","repository":"k8s.gcr.io/git-sync","tag":"v3.1.5"} |
The docker image to use to synchronize DAGs through Git |
ingress.annotations | object | {} |
|
ingress.enabled | bool | false |
|
ingress.hosts[0].host | string | "chart-example.local" |
|
ingress.hosts[0].paths | list | [] |
|
ingress.tls | list | [] |
|
initializeDatabase | bool | false |
When set to true, helm will create a one-time job to initialize the database |
nameOverride | string | "" |
|
nodeSelector | object | {} |
|
podSecurityContext | object | {} |
|
replicaCount | int | 1 |
|
resources.scheduler | object | {} |
|
resources.webserver | object | {} |
|
secrets | object | {} |
Map of environment variables to inject via envFrom/secretRef |
securityContext | object | {} |
|
service.webserver.port | int | 80 |
|
service.webserver.type | string | "ClusterIP" |
|
serviceAccount.create | bool | true |
Specifies whether a service account should be created |
serviceAccount.scheduler.annotations | object | {} |
|
serviceAccount.scheduler.name | string | nil |
|
serviceAccount.webserver.annotations | object | {} |
|
serviceAccount.webserver.name | string | nil |
|
serviceAccount.worker.annotations | object | {} |
|
serviceAccount.worker.name | string | nil |
|
tolerations | list | [] |