DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Complexity Analysis and Rating - Chart Parameters
Parameters from Docs (based on Helm Chart 1.19.0 release)
Common
Parameter | Description | Default | Opinion Jens | Opinion Bugra | Opinion Przemek |
|---|---|---|---|---|---|
| airflow_local_settings file as a string (templated). You can bake an airflow_local_settings.py into your image instead. In that case, set this value to null. |
| keep | keep | Keep |
| Airflow version (Used to make some decisions based on Airflow Version being deployed). |
| keep | keep | Keep |
| Annotations to add to the Api secret. |
| Why is this for flask in AF3? | Description remains from v2 terms. | Move under apiServer section |
| The Flask secret key for Airflow Api to encrypt browser session. |
| Why is this for flask in AF3? | Description remains from v2 terms. | Maybe dedicated section for flask-related configs 🤔
|
| This string (templated) will be mounted into the Airflow API Server as a custom webserver_config.py. You can bake a webserver_config.py in to your image instead or specify a configmap containing the webserver_config.py. |
Examples: apiServerConfig: |- from airflow import configuration as conf # The SQLAlchemy connection string. SQLALCHEMY_DATABASE_URI = conf.get('database', 'SQL_ALCHEMY_CONN') # Flask-WTF flag for CSRF CSRF_ENABLED = True | keep Is example still relevant? | This is still relevant if the user is using providers-fab and adding more fine-grained authentication integration through fab. That also generalised to BaseAuthManager and to providers that implement 3rd-party libraries and tools. I think the description should be updated. | |
| The configmap name containing the webserver_config.py. |
Examples: apiServerConfigConfigMapName: my-api-server-configmap | keep | keep | keep |
| Settings to go into the mounted airflow.cfg |
| keep | keep | keep |
| Enable default user creation. |
| keep | keep |
|
| Default airflow digest to deploy. Overrides tag. |
| keep | keep | keep |
| Default airflow repository. Overrides all the specific images below. |
| keep | keep | keep |
| Default airflow tag to deploy. |
| keep | keep | keep |
| Airflow executor. |
|
|
| keep |
| The Fernet key used to encrypt passwords (can only be set during install, not upgrade). |
| keep | keep | Maybe new encryption section 🤔?
|
| Annotations to add to the Fernet Key secret. |
| keep | keep | |
| Secret key used to encode and decode JWTs to authenticate to public and private APIs (can only be set during install, not upgrade). |
| keep | keep | |
| Annotations to add to the JWT secret. |
| keep | keep | |
| Enable PgBouncer. |
| keep | keep | Whole section discussion under pgbouncer section |
| Whether to mount the config secret files under /etc/pgbouncer/ by default. |
| keep | keep | |
| Specify kube scheduler name for Pods. |
| Put this to Kustomize? | No disagreement with Jens. | No strong opinion |
| This string (templated) will be mounted into the Airflow webserver as a custom webserver_config.py. You can bake a webserver_config.py in to your image instead or specify a configmap containing the webserver_config.py. |
Examples: webserverConfig: |- from airflow import configuration as conf # The SQLAlchemy connection string. SQLALCHEMY_DATABASE_URI = conf.get('database', 'SQL_ALCHEMY_CONN') # Flask-WTF flag for CSRF CSRF_ENABLED = True | removed with dropping AF2 support | Drop with Airflow 2
| |
| The configmap name containing the webserver_config.py. |
Examples: webserverConfigConfigMapName: my-webserver-configmap |
removed with dropping AF2 support
| ||
| Annotations to add to the webserver secret. |
|
removed with dropping AF2 support
| ||
| The Flask secret key for Airflow Webserver to encrypt browser session. |
|
| |||||
| Specify kube scheduler name for Airflow Celery workers objects and pods created with pod-template-file. |
| Put this to Kustomize? | No disagreement with Jens. | No strong opinion |
Airflow
Parameter | Description | Default | Opinion Jens | Opinion Bugra | Opinion Przemek |
|---|---|---|---|---|---|
| Airflow home directory. Used for mount paths. |
| keep | keep | keep |
| Whether various Airflow components launch jobs. |
| Can this not implicitly be discovered if K8s executor? | It can be automated indeed. We can map to both a feature and a deprecation along with it. |
|
| Whether various Airflow components launch pods. |
| Can this not implicitly be discovered if K8s executor? | It can be automated indeed. We can map to both a feature and a deprecation along with it. |
|
| The Secret name containing Flask secret_key for the Api. |
| Why is this for flask in AF3? | Description remains from v2 terms. | Maybe move to flask dedicated section 🤔? |
| Git branch |
| Should we transform the gitSync into a bundle definition? | It makes sense. There are multiple ways in various systems of mounting the dags into the components. Making it bundled can help with easier additions on top of it for mounting operations. |
dags.gitSync.containerName
Git sync container name.
Drop in favor of bundle and maybe seperate it to not-dag related section for sync with potential external dags dependencies
|
git-sync
|
dags.gitSync.credentialsSecret
| |||||
| Git sync container name. |
|
|
| |
| Name of a Secret containing the repo GIT_SYNC_USERNAME and GIT_SYNC_PASSWORD. |
|
|
| |
| Repository depth. |
|
|
| |
| Configuration for dags empty dir volume. |
|
|
| |
| Enable Git sync. |
|
|
| |
| Environment variables for git sync container. |
Examples: env: - name: GIT_SYNC_TIMEOUT value: '60' env: - name: GIT_SYNC_USERNAME valueFrom: secretKeyRef: key: username name: git-secret |
|
| |
| Extra envFrom ‘items’ that will be added to the definition of Airflow gitSync containers; a string or array are expected (templated). |
Examples: envFrom: |- - secretRef: name: 'proxy-config envFrom: |- - configMapRef: name: 'proxy-config |
|
| |
| Mount additional volumes into git sync container. |
|
|
| |
| When using a ssh private key, the contents of your known_hosts file. |
Examples: knownHosts: |- <host1>,<ip1> <key1> <host2>,<ip2> <key2> knownHosts: <host1>,<ip1> <key1> |
|
| |
| The number of consecutive failures allowed before aborting. |
|
|
| |
| Interval between git sync attempts in Go-style duration string. High values are more likely to cause DAGs to become out of sync between different components. Low values cause more traffic to the remote git repository. |
|
|
| |
| Git revision branch, tag, or hash. |
|
|
| |
| Git repository. |
|
| ||
| Resources on workers git-sync sidecar |
Examples: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
|
| |
| Git revision. |
|
|
| |
| Security context for the gitSync container (deprecated, use securityContexts instead). If not set, the values from securityContext will be used. |
Examples: securityContext: runAsGroup: 0 runAsUser: 50000 |
|
| |
| SSH private key |
|
|
| |
| Name of a Secret containing the repo sshKeySecret. |
|
|
| |
| Subpath within the repo where dags are located. |
|
|
| |
| Git sync container run as user parameter. |
|
|
| |
| Interval between git sync attempts in seconds. High values are more likely to cause DAGs to become out of sync between different components. Low values cause more traffic to the remote git repository. |
|
|
| |
| Where dags volume will be mounted. Works for both persistence and gitSync. If not specified, dags mount path will be set to $AIRFLOW_HOME/dags |
|
|
| |
| Access mode of the persistent volume. |
|
|
|
|
| Annotations for the dag PVC |
|
|
|
|
| Enable persistent volume for storing dags. |
|
|
|
|
| The name of an existing PVC to use. |
|
|
|
|
| Volume size for dags. |
|
|
|
|
| If using a custom StorageClass, pass name here (templated). |
|
|
|
|
| Subpath within the PVC where dags are located. |
|
|
|
|
| Elasticsearch connection configuration. |
Examples: connection: host: '...' pass: '...' port: '...' scheme: https user: '...' |
|
| Drop/move to Kustomize
|
| Host |
|
|
| |
| Password |
|
|
| |
| Port |
|
|
| |
| Scheme |
|
|
| |
| Username |
|
|
| |
| Enable Elasticsearch task logging. |
|
|
| |
| Extra annotations to apply to the elasticsearch secret. |
|
|
| |
| A secret containing the connection string. |
|
|
| |
| Enable |
| What is this for? | SQLAlchemy connection string from K8s secret. Keeping with a better description and maybe renaming to reflect better. |
|
| Enable |
| What is this for? | Enable using K8S secret in env var to pass jwt_secret config |
|
| Enable |
| What is this for? | Similar to above |
|
| Enable |
| What is this for? |
All these are the same as above, as setting some config that enables to read secret to pass to the env var. Maybe move them to Kustomize? |
|
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| What is this for? | ||
| Enable |
| removed with dropping AF2 support |
|
|
| Environment variables for all Airflow containers. |
Examples: env: - name: MYENVVAR value: something_fun |
|
| keep |
| Extra env ‘items’ that will be added to the definition of Airflow containers; a string is expected (templated). |
Examples: extraEnv: |- - name: AIRFLOW__CORE__LOAD_EXAMPLES value: True |
|
| keep |
| Extra envFrom ‘items’ that will be added to the definition of Airflow containers; a string is expected (templated). |
Examples: extraEnvFrom: |- - secretRef: name: '{{ .Release.Name }}-airflow-connections' extraEnvFrom: |- - configMapRef: name: '{{ .Release.Name }}-airflow-variables' |
|
| keep |
| The Fernet key secret name. |
|
|
| Maybe move to fernet/encryption section |
| Group of airflow user. |
|
|
| |
| The JWT secret name. |
|
|
|
|
| Configuration for logs empty dir volume. |
|
|
|
|
| Annotations to add to logs PVC |
|
|
|
|
| Enable persistent volume for storing logs. |
|
|
|
|
| The name of an existing PVC to use. |
|
|
|
|
| Volume size for logs. |
|
|
|
|
| If using a custom StorageClass, pass name here (templated). |
|
|
|
|
| The subpath of the existing PVC to use. |
|
|
|
|
| Whether Airflow can launch workers and/or pods in multiple namespaces. If true, it creates |
|
|
|
|
| OpenSearch connection configuration. |
Examples: connection: host: '...' pass: '...' port: '...' scheme: https user: '...' |
|
| Drop/move to Kustomize
|
| Host |
|
|
| |
| Password |
|
|
| |
| Port |
|
|
| |
| Scheme |
|
|
| |
| Username |
|
|
| |
| Enable OpenSearch task logging. |
|
|
| |
| A secret containing the connection string. |
|
|
| |
| The content of |
Examples: podTemplate: |- apiVersion: v1 kind: Pod metadata: name: placeholder-name labels: tier: airflow component: worker release: {{ .Release.Name }} spec: priorityClassName: high-priority containers: - name: base ... |
|
| Move to workers.kubernetes as it is only related to KubernetesExecutor |
| Secrets for all Airflow containers. |
Examples: secret: - envName: SecretEnvVar secretKey: somekey secretName: somesecret |
|
| keep |
| User of airflow user. |
|
|
|
|
| VolumeMounts for all Airflow containers. |
|
|
| keep |
| Volumes for all Airflow containers. |
|
|
| keep |
| The Secret name containing Flask secret_key for the Webserver. |
| removed with dropping AF2 support |
| Drop with Airflow 2 |
Images
Parameter | Description | Default | Opinion Jens | Opinion Bugra |
|---|---|---|---|---|
| The airflow image digest. If set, it will override the tag. |
|
|
|
| The airflow image pull policy. |
|
|
|
| The airflow image repository. |
|
|
|
| The airflow image tag. |
|
|
|
| The flower image pull policy. |
|
|
|
| The flower image repository. |
|
|
|
| The flower image tag. |
|
|
|
| The gitSync image pull policy. |
|
|
Maybe we can bundle these with the gitSync definitions above. I see from Jed's comment in Slack that if we completely hammer it, bundling can make it easier, but on the other hand, not sure if it would be worth the effort. |
| The gitSync image repository. |
| ||
| The gitSync image tag. |
| Note: Drop support for old versions! | |
| The time (in seconds) to wait for the DB migrations to complete. |
|
|
|
| The PgBouncer image pull policy. |
|
|
|
| The PgBouncer image repository. |
|
|
|
| The PgBouncer image tag. |
|
|
|
| The PgBouncer exporter image pull policy. |
|
|
|
| The PgBouncer exporter image repository. |
|
|
|
| The PgBouncer exporter image tag. |
|
|
|
| The pod_template image pull policy. |
|
|
|
| The pod_template image repository. If |
|
|
|
| The pod_template image tag. If |
|
|
|
| The redis image pull policy. |
|
|
|
| The redis image repository. |
|
|
|
| The redis image tag. |
|
|
|
| The StatsD image pull policy. |
|
|
|
| The StatsD image repository. |
|
| |
| The StatsD image tag. |
|
|
|
| To avoid images with user code for running and waiting for DB migrations set this to |
|
|
|
...
Parameter | Description | Default | Opinion Jens | Opinion Przemek |
|---|---|---|---|---|
| Airflow UI port. |
| keep all | Keep |
| API server port. |
|
| Keep |
| Flower UI port. |
|
| Move with flower to Kustomize |
| PgBouncer port. |
|
| Keep |
| PgBouncer scrape port. |
|
| Keep |
| Redis port. |
|
| Keep |
| StatsD ingest port. |
|
| Move with statsd to Kustomize |
| StatsD scrape port. |
|
| Move with statsd to Kustomize |
| Triggerer logs port. |
|
| Keep |
| Worker logs port. |
|
| Keep |
Database
Parameter | Description | Default | Opinion Jens | Opinion Bugra | Opinion Przemek |
|---|---|---|---|---|---|
| Annotations to add to the broker url secret. |
|
|
| Move to workers.celery/redis as it is only for CeleryExecutor |
| The name of the database. |
|
|
| Move to metastore/database section
|
| The database host. |
|
|
| |
| The user’s password. |
|
|
| |
| The database port. |
|
|
| |
| The database protocol. |
|
|
| |
| Annotations to add to the metadata connection secret. |
|
|
| |
| The database SSL parameter. |
|
|
| |
| The database user. |
|
|
| |
| Metadata connection string secret. |
|
|
| |
| Result backend connection configuration. |
|
|
| Move to workers.celery as it is only for CeleryExecutor
|
| The name of the database. |
|
|
| |
| The database host. |
|
|
| |
| The database password. |
|
|
| |
| The database port. |
|
|
| |
| The database protocol. |
|
|
| |
| The database SSL parameter. |
|
|
| |
| The database user. |
|
|
| |
| Annotations to add to the result backend connection secret. |
|
|
| |
| Result backend connection string secret. |
|
|
| |
| Assign a password to the ‘postgres’ admin user. Otherwise, remote access will be blocked for this user |
| Drop postgres inline support |
This is not even needs a discussion :D | Drop |
| Password for the custom user to create. |
|
| ||
| Password for the ‘postgres’ admin user. |
|
| ||
| Name for a custom user to create |
|
| ||
| Enable PostgreSQL subchart. |
|
| ||
| The PostgreSQL image repository. |
|
| ||
| The PostgreSQL image tag. |
|
|
PgBouncer
Parameter | Description | Default | Opinion Jens | Opinion Bugra | Opinion Przemek |
|---|---|---|---|---|---|
| Specify scheduling constraints for PgBouncer pods. |
|
| I have a comment on this as a whole. While we are planning to hammer PostgreSQL. Why we should also consider dropping support for PgBouncer as well It is just an idea thrown into the wild. Since it is specific to the PostgreSQL environment, maybe our focus can be on making core charts better rather than spending time providing support to another tool similar to PostgreSQL. I am not discussing how useful it is for availability and managing/distributing database connections. My ideation is more on I see no difference with having ProxySQL, which is a similar tool (open source under GNU, GPL-3).
|
pgbouncer.annotations
Annotations to add to the PgBouncer deployment
|
{}
|
pgbouncer.args
Args to use for PgBouncer (templated).
|
~
|
pgbouncer.auth_file
The name of the file to load user names and passwords from
/etc/pgbouncer/users.txt
| In addition to Bugra's comment - as I agree on that pgbouncer is just one possible tool which can be used, I think it goes potentially a little deeper in the sense of what we would want this chart to be. Do we want it to be only a baseline (base config and support for Apache Airflow features, nothing more), or do we want to make it more production-grade with a recommended setup (e.g. use pgbouncer) with integration tests, e.g. for upgrade/downgrades, etc. (maybe not like use this or that, but we are testing that kind of setup and it seems to work like with constraints file)? On the whole section itself, I would remove it from the core chart as it is not an Airflow-related component (I had an idea that maybe the core chart should only consist of Airflow-related things, and the rest should be customisation).
| ||
| Annotations to add to the PgBouncer deployment |
|
|
| Args to use for PgBouncer (templated). |
|
|
| The name of the file to load user names and passwords from |
|
|
| Method of authenticating users |
|
|
| Annotations to add to the PgBouncer certificates secret. |
|
| ||
| The allowed ciphers, might be ‘fast’, ‘normal’ or list ciphers separated with ‘:’. |
|
| ||
| Command to use for PgBouncer (templated). |
|
| |||
| Annotations to add to the PgBouncer config secret. |
|
|
| The PgBouncer config Secret name. |
|
|
| Add additional env vars to pgbouncer container. |
|
|
| Launch additional containers into pgbouncer. |
|
| ||
| Add extra general PgBouncer ini configuration: https://www.pgbouncer.org/config.html |
|
| ||
| Add extra metadata database specific PgBouncer ini configuration: https://www.pgbouncer.org/config.html#section-databases |
|
| |||
| Add extra result backend database specific PgBouncer ini configuration: https://www.pgbouncer.org/config.html#section-databases |
|
|
| Additional NetworkPolicies as needed. |
|
|
| Mount additional volumes into PgBouncer. |
|
| ||
| Mount additional volumes into PgBouncer. |
|
| ||
| Labels to add to the PgBouncer objects and pods. |
|
| |||
| Log successful logins. |
|
|
| Log disconnections with reasons. |
|
|
| Maximum clients that can connect to PgBouncer (higher = more file descriptors). |
|
|
| Metadata pool size. |
|
| ||
| Mount additional volumes into PgBouncer Metrics Exporter. |
|
| ||
| Metrics Exporter liveness probe initial delay |
|
| |||
| Metrics Exporter liveness probe frequency |
|
|
| Metrics Exporter liveness probe command timeout |
|
|
| Metrics Exporter readiness probe initial delay |
|
| ||
| Metrics Exporter readiness probe frequency |
|
| ||
| Metrics Exporter readiness probe command timeout |
|
| ||
| Resources for the PgBouncer metric exporter. |
Examples: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
| ||
| SSL mode for |
|
| ||
| Annotations to add to the PgBouncer stats secret. |
|
| |||
| Key referencing the PGBouncer Metrics connection URI within an existing Secrets object. Defaults to connection if left null. |
|
|
| Name of an existing Secrets object containing PgBouncer Metrics secrets. |
|
|
| Select certain nodes for PgBouncer pods. |
|
| |||
| Add annotations for the PgBouncer Pod. |
|
|
| Max unavailable pods for PgBouncer. |
|
|
| Min available pods for PgBouncer. |
|
|
| Enabled PodDistributionBudget. |
|
|
| Specify priority for PgBouncer pods. |
|
| ||
| Number of PgBouncer replicas to run in Deployment. |
|
| |||
| Resources for the PgBouncer pods. |
Examples: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
|
| Result backend pool size. |
|
|
| Specific ClusterIP for the PgBouncer Service. |
|
| ||
| Extra annotations for the PgBouncer Service. |
|
| ||
| Annotations to add to the worker Kubernetes ServiceAccount. |
|
| |||
| Specifies if ServiceAccount’s API credentials should be mounted onto Pods. |
|
|
| Specifies whether a ServiceAccount should be created. |
|
|
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the release name. |
|
|
Certificate Authority for server side |
|
|
| Server Certificate for server side |
|
| ||
| Private key used to authenticate with the server |
|
| |||
| SSL mode for PgBouncer. |
|
|
| Specify Tolerations for PgBouncer pods. |
|
|
| Specify topology spread constraints for PgBouncer pods. |
|
| ||
| PgBouncer run as user parameter. |
|
| ||
| Increase PgBouncer verbosity. |
|
|
API Server
Parameter | Description | Default | Opinion Jens | Opinion Bugra | Opinion Przemek |
|---|---|---|---|---|---|
| Specify scheduling constraints for API server pods. |
|
|
|
|
| Allow API server to read k8s pod logs. Useful when you don’t have an external log store. |
|
|
|
|
| Annotations to add to the API server deployment |
|
|
|
|
| Args to use when running the Airflow API server (templated). When running behind a reverse proxy, add –proxy-headers to enable Uvicorn to respect X-Forwarded-Proto, X-Forwarded-For, and X-Forwarded-Port headers. |
Examples: args: - bash - -c - exec airflow api-server --proxy-headers |
|
|
|
| Command to use when running the Airflow API server (templated). |
|
|
|
|
| Extra annotations to apply to the API server configmap. |
|
|
|
|
| Enable Airflow API server deployment. |
|
|
|
|
| Add additional env vars to API server. When running behind a reverse proxy, set FORWARDED_ALLOW_IPS to specify which IPs are trusted to send X-Forwarded-* headers. Use “*” for trusted environments, or specify proxy IP ranges for production. |
Examples: env: - - name: FORWARDED_ALLOW_IPS value: '*' |
|
|
|
| Launch additional containers into API server. |
|
|
|
|
| Add additional init containers into API server. |
|
|
|
|
| Mount additional volumes into API server. |
|
|
|
|
| Mount additional volumes into API server. |
|
|
|
|
| HostAliases for the API server pod. |
Examples: hostAliases: - hostnames: - foo.local ip: 127.0.0.1 hostAliases: - hostnames: - foo.remote ip: 10.1.2.3 |
|
|
|
| HorizontalPodAutoscalerBehavior configures the scaling behavior of the target. |
| Should we keep both KEDA and HPA? Or move both to a Kustomize? | My vote would be moving Keda to Kustomize, as it is really custom if we think of core components |
|
| Enable HPA autoscaling for API server |
|
|
|
|
| Maximum number of API server replicas created by HPA if HPA is enabled. |
|
|
|
|
| Specifications for which to use to calculate the desired replica count. |
|
|
|
|
| Minimum number of API server replicas created by HPA if HPA is enabled. |
|
|
|
|
| Labels to add to the API server objects and pods. |
|
|
|
|
| API server Liveness probe failure threshold. |
|
|
|
|
| API server Liveness probe initial delay. |
|
|
|
|
| API server Liveness probe period seconds. |
|
|
|
|
| API server Liveness probe scheme. |
|
|
|
|
| API server Liveness probe timeout seconds. |
|
|
|
|
| Peers for API server NetworkPolicyingress. |
|
|
|
|
| Ports for API server NetworkPolicyingress (if from is set). |
Examples: ports: - port: 8080 |
|
|
|
| Select certain nodes for API server pods. |
|
|
|
|
| Annotations to add to the API server pods. |
|
|
|
|
| Max unavailable pods for API server. |
|
|
|
|
| Min available pods for API server. |
|
|
|
|
| Enable pod disruption budget. |
|
|
|
|
| Specify priority for API server pods. |
|
|
|
|
| API server Readiness probe failure threshold. |
|
|
|
|
| API server Readiness probe initial delay. |
|
|
|
|
| API server Readiness probe period seconds. |
|
|
|
|
| API server Readiness probe scheme. |
|
|
|
|
| API server Readiness probe timeout seconds. |
|
|
|
|
| How many Airflow API server replicas should run. This setting is ignored when HPA (Horizontal Pod Autoscaler) is enabled |
|
|
|
|
| Resources for API server pods. |
Examples: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
|
|
|
| Annotations for the API server Service. |
|
|
|
|
| API server Service loadBalancerIP. |
|
|
|
|
| API server Service |
Examples: loadBalancerSourceRanges: - 10.123.0.0/16 |
|
|
|
| Ports for the API server Service. |
Examples: ports: - name: api-server port: 8080 targetPort: api-server ports: - name: only_sidecar port: 9080 targetPort: 8888 |
|
|
|
| API server Service type. |
|
|
|
|
| Annotations to add to the API server Kubernetes ServiceAccount. |
|
|
|
|
| Specifies if ServiceAccount’s API credentials should be mounted onto Pods. |
|
|
|
|
| Specifies whether a ServiceAccount should be created. |
|
|
|
|
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the release name. |
|
|
|
| |
| API server Startup probe failure threshold. |
|
|
|
|
| API server Startup probe initial delay seconds. |
|
|
|
|
| API server Startup probe period seconds. |
|
|
|
|
| API server Startup probe scheme. |
|
|
|
|
| API server Startup probe timeout seconds. |
|
|
|
|
| Specifies the strategy used to replace old Pods by new ones. |
|
|
|
|
| Specify Tolerations for API server pods. |
|
|
|
|
| Enable wait-for-airflow-migrations init container. |
|
|
|
|
| Add additional env vars to wait-for-airflow-migrations init container. |
|
|
|
|
Scheduler
Parameter | Description | Default | Opinion Jens | Opinion Bugra |
|---|---|---|---|---|
| Specify scheduling constraints for scheduler pods. |
|
|
|
| Annotations to add to the scheduler deployment |
|
|
|
| Args to use when running the Airflow scheduler (templated). |
|
|
|
| Command to use when running the Airflow scheduler (templated). |
|
|
|
| Enable scheduler |
|
|
|
| Add additional env vars to scheduler. |
|
|
|
| Launch additional containers into scheduler (templated). |
|
|
|
| Add additional init containers into scheduler (templated). |
|
|
|
| Mount additional volumes into scheduler. |
|
|
|
| Mount additional volumes into scheduler. |
|
|
|
| HostAliases for the scheduler pod. |
Examples: hostAliases: - hostnames: - foo.local ip: 127.0.0.1 hostAliases: - hostnames: - foo.remote ip: 10.1.2.3 |
|
|
| Labels to add to the scheduler objects and pods. |
|
|
|
| Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1. |
|
|
|
| Number of seconds after the container has started before liveness probes are initiated. |
|
|
|
| How often (in seconds) to perform the probe. Minimum value is 1. |
|
|
|
| Number of seconds after which the probe times out. Minimum value is 1 seconds. |
|
|
|
| Select certain nodes for scheduler pods. |
|
|
|
| Annotations to add to the scheduler pods. |
|
|
|
| Max unavailable pods for scheduler. |
|
|
|
| Min available pods for scheduler. |
|
|
|
| Enable pod disruption budget. |
|
|
|
| Specify priority for scheduler pods. |
|
|
|
| Airflow 2.0 allows users to run multiple schedulers. This feature is only recommended for MySQL 8+ and PostgreSQL |
|
|
|
| Resources for scheduler pods. |
Examples: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi |
|
|
| This setting tells Kubernetes that its ok to evict when it wants to scale a node down. |
|
|
|
| Security context for the scheduler pod (deprecated, use securityContexts instead). If not set, the values from securityContext will be used. |
Examples: securityContext: fsGroup: 0 runAsGroup: 0 runAsUser: 50000 |
|
|
| Annotations to add to the scheduler Kubernetes ServiceAccount. |
|
|
|
| Specifies if ServiceAccount’s API credentials should be mounted onto Pods. When false, you can use serviceAccountTokenVolume to manually configure service account token volume for pod-launching executors. |
|
|
|
| Specifies whether a ServiceAccount should be created. |
|
|
|
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the release name. |
|
|
| |
| Intended audience of the token. Optional - defaults to the identifier of the Kubernetes API server. |
|
|
|
| Enable manual service account token volume configuration. |
|
|
|
| Token expiration time in seconds. |
|
|
|
| Path where the service account token volume will be mounted. |
|
|
|
| Name of the service account token volume. |
|
|
|
| Minimum consecutive failures for the probe to be considered failed after having succeeded. Minimum value is 1. |
|
|
|
| Number of seconds after the container has started before startup probes are initiated. |
|
|
|
| How often (in seconds) to perform the probe. Minimum value is 1. |
|
|
|
| Number of seconds after which the probe times out. Minimum value is 1 seconds. |
|
|
|
| Specifies the strategy used to replace old Pods by new ones when deployed as a Deployment (when not using LocalExecutor and workers.persistence). |
|
|
|
| Grace period for scheduler to finish after SIGTERM is sent from Kubernetes. |
|
|
|
| Specify Tolerations for scheduler pods. |
|
|
|
| Specify topology spread constraints for scheduler pods. |
|
|
|
| Specifies the strategy used to replace old Pods by new ones when deployed as a StatefulSet (when using LocalExecutor and workers.persistence). |
|
|
|
| Enable wait-for-airflow-migrations init container. |
|
|
|
| Add additional env vars to wait-for-airflow-migrations init container. |
|
|
|
...