mik-laj commented on a change in pull request #10664:
URL: https://github.com/apache/airflow/pull/10664#discussion_r483272219



##########
File path: chart/values.schema.json
##########
@@ -0,0 +1,1250 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema";,
+    "description": "Default values for airflow. Declare variables to be passed 
into your templates.",
+    "type": "object",
+    "properties": {
+        "uid": {
+            "description": "User of airflow user.",
+            "type": "integer"
+        },
+        "gid": {
+            "description": "Group of airflow user.",
+            "type": "integer"
+        },
+        "airflowHome": {
+            "description": "Airflow home directory. Used for mount paths.",
+            "type": "string"
+        },
+        "defaultAirflowRepository": {
+            "description": "Default airflow repository. Overrides all the 
specific images below.",
+            "type": "string"
+        },
+        "defaultAirflowTag": {
+            "description": "Default airflow tag to deploy.",
+            "type": "string"
+        },
+        "nodeSelector": {
+            "description": "Select certain nodes for airflow pods.",
+            "type": "object"
+        },
+        "affinity": {
+            "description": "Select certain nodes for airflow pods.",
+            "type": "object"
+        },
+        "tolerations": {
+            "description": "Select certain nodes for airflow pods.",
+            "type": "array"
+        },
+        "labels": {
+            "description": "Add common labels to all objects and pods defined 
in this chart.",
+            "type": "object"
+        },
+        "ingress": {
+            "description": "Ingress configuration.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable ingress resource.",
+                    "type": "boolean"
+                },
+                "web": {
+                    "description": "Configuration for the Ingress of the web 
Service.",
+                    "type": "object",
+                    "properties": {
+                        "annotations": {
+                            "description": "Annotations for the web Ingress.",
+                            "type": "object"
+                        },
+                        "path": {
+                            "description": "The path for the web Ingress.",
+                            "type": "string"
+                        },
+                        "host": {
+                            "description": "The hostname for the web Ingress.",
+                            "type": "string"
+                        },
+                        "tls": {
+                            "description": "Configuration for web Ingress 
TLS.",
+                            "type": "object",
+                            "properties": {
+                                "enabled": {
+                                    "description": "Enable TLS termination for 
the web Ingress.",
+                                    "type": "boolean"
+                                },
+                                "secretName": {
+                                    "description": "The name of a pre-created 
Secret containing a TLS private key and certificate.",
+                                    "type": "string"
+                                }
+                            }
+                        },
+                        "precedingPaths": {
+                            "description": "HTTP paths to add to the web 
Ingress before the default path.",
+                            "type": "array"
+                        },
+                        "succeedingPaths": {
+                            "description": "HTTP paths to add to the web 
Ingress after the default path.",
+                            "type": "array"
+                        }
+                    }
+                },
+                "flower": {
+                    "description": "Configuration for the Ingress of the 
flower Service.",
+                    "type": "object",
+                    "properties": {
+                        "annotations": {
+                            "description": "Annotations for the flower 
Ingress.",
+                            "type": "object"
+                        },
+                        "path": {
+                            "description": "The path for the flower Ingress.",
+                            "type": "string"
+                        },
+                        "host": {
+                            "description": "The hostname for the flower 
Ingress.",
+                            "type": "string"
+                        },
+                        "tls": {
+                            "description": "Configuration for flower Ingress 
TLS.",
+                            "type": "object",
+                            "properties": {
+                                "enabled": {
+                                    "description": "Enable TLS termination for 
the flower Ingress.",
+                                    "type": "boolean"
+                                },
+                                "secretName": {
+                                    "description": "The name of a pre-created 
Secret containing a TLS private key and certificate.",
+                                    "type": "string"
+                                }
+                            }
+                        },
+                        "precedingPaths": {
+                            "description": "HTTP paths to add to the flower 
Ingress before the default path.",
+                            "type": "array"
+                        },
+                        "succeedingPaths": {
+                            "description": "HTTP paths to add to the flower 
Ingress after the default path.",
+                            "type": "array"
+                        }
+                    }
+                }
+            }
+        },
+        "networkPolicies": {
+            "description": "Network policy configuration.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enabled network policies.",
+                    "type": "boolean"
+                }
+            }
+        },
+        "airflowPodAnnotations": {
+            "description": "Extra annotations to apply to all Airflow pods.",
+            "type": "object"
+        },
+        "rbacEnabled": {
+            "description": "Enable RBAC (default on most clusters these 
days).",
+            "type": "boolean"
+        },
+        "executor": {
+            "description": "Airflow executor.",
+            "type": "string",
+            "enum": ["SequentialExecutor", "LocalExecutor", "CeleryExecutor", 
"KubernetesExecutor"]
+        },
+        "allowPodLaunching": {
+            "description": "If this is true and using 
LocalExecutor/SequentialExecutor/KubernetesExecutor, the scheduler's service 
account will have access to communicate with the api-server and launch pods. If 
this is true and using the CeleryExecutor, the workers will be able to launch 
pods.",
+            "type": "boolean"
+        },
+        "images": {
+            "description": "Images.",
+            "type": "object",
+            "properties": {
+                "airflow": {
+                    "description": "Configuration of the airflow image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The airflow image repository.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "tag": {
+                            "description": "The airflow image tag.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "pullPolicy": {
+                            "description": "The airflow image pull policy.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "flower": {
+                    "description": "Configuration of the flower image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The flower image repository.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "tag": {
+                            "description": "The flower image tag.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "pullPolicy": {
+                            "description": "The flower image pull policy.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "statsd": {
+                    "description": "Configuration of the statsd image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The statsd image repository.",
+                            "type": "string"
+                        },
+                        "tag": {
+                            "description": "The statsd image tag.",
+                            "type": "string"
+                        },
+                        "pullPolicy": {
+                            "description": "The statsd image pull policy.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "redis": {
+                    "description": "Configuration of the redis image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The redis image repository.",
+                            "type": "string"
+                        },
+                        "tag": {
+                            "description": "The redis image tag.",
+                            "type": "string"
+                        },
+                        "pullPolicy": {
+                            "description": "The redis image pull policy.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "pgbouncer": {
+                    "description": "Configuration of the pgbouncer image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The pgbouncer image repository.",
+                            "type": "string"
+                        },
+                        "tag": {
+                            "description": "The pgbouncer image tag.",
+                            "type": "string"
+                        },
+                        "pullPolicy": {
+                            "description": "The pgbouncer image pull policy.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "pgbouncerExporter": {
+                    "description": "Configuration of the pgbouncerExporter 
image.",
+                    "type": "object",
+                    "properties": {
+                        "repository": {
+                            "description": "The pgbouncerExporter image 
repository.",
+                            "type": "string"
+                        },
+                        "tag": {
+                            "description": "The pgbouncerExporter image tag.",
+                            "type": "string"
+                        },
+                        "pullPolicy": {
+                            "description": "The pgbouncerExporter image pull 
policy.",
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "env": {
+            "description": "Environment variables for all airflow containers.",
+            "type": "array"
+        },
+        "secret": {
+            "description": "Secrets for all airflow containers.",
+            "type": "array"
+        },
+        "data": {
+            "description": "Airflow database configuration.",
+            "type": "object",
+            "properties": {
+                "metadataSecretName": {
+                    "description": "Metadata connection string secret.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "resultBackendSecretName": {
+                    "description": "Result backend connection string secret.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "metadataConnection": {
+                    "description": "Metadata connection configuration.",
+                    "type": "object",
+                    "properties": {
+                        "user": {
+                            "description": "The database user.",
+                            "type": "string"
+                        },
+                        "pass": {
+                            "description": "The user's password.",
+                            "type": "string"
+                        },
+                        "host": {
+                            "description": "The database host.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "port": {
+                            "description": "The database port.",
+                            "type": "integer"
+                        },
+                        "db": {
+                            "description": "The name of the database.",
+                            "type": "string"
+                        },
+                        "sslmode": {
+                            "description": "The database SSL parameter.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "resultBackendConnection": {
+                    "description": "Result backend connection configuration.",
+                    "type": "object",
+                    "properties": {
+                        "user": {
+                            "description": "The database user.",
+                            "type": "string"
+                        },
+                        "pass": {
+                            "description": "The database password.",
+                            "type": "string"
+                        },
+                        "host": {
+                            "description": "The database host.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "port": {
+                            "description": "The database port.",
+                            "type": "integer"
+                        },
+                        "db": {
+                            "description": "The name of the database.",
+                            "type": "string"
+                        },
+                        "sslmode": {
+                            "description": "The database SSL parameter.",
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "fernetKey": {
+            "description": "The Fernet key used to encrypt passwords.",
+            "type": [
+                "string",
+                "null"
+            ]
+        },
+        "fernetKeySecretName": {
+            "description": "The Fernet key secret name.",
+            "type": [
+                "string",
+                "null"
+            ]
+        },
+        "workers": {
+            "description": "Airflow Worker configuration.",
+            "type": "object",
+            "properties": {
+                "replicas": {
+                    "description": "Number of airflow celery workers in 
StatefulSet.",
+                    "type": "integer"
+                },
+                "keda": {
+                    "description": "KEDA configuration.",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Allow KEDA autoscaling. 
`Persistence.enabled` must be set to false to use KEDA.",
+                            "type": "boolean"
+                        },
+                        "namespaceLabels": {
+                            "type": "object"
+                        },
+                        "pollingInterval": {
+                            "description": "How often KEDA polls the airflow 
DB to report new scale requests to the HPA.",
+                            "type": "integer"
+                        },
+                        "cooldownPeriod": {
+                            "description": "How many seconds KEDA will wait 
before scaling to zero.",
+                            "type": "integer"
+                        },
+                        "maxReplicaCount": {
+                            "description": "Maximum number of workers created 
by KEDA.",
+                            "type": "integer"
+                        }
+                    }
+                },
+                "persistence": {
+                    "description": "Persistence configuration.",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Enable persistent volumes.",
+                            "type": "boolean"
+                        },
+                        "size": {
+                            "description": "Volume size for worker 
StatefulSet.",
+                            "type": "string"
+                        },
+                        "storageClassName": {
+                            "description": "If using a custom storageClass, 
pass name ref to all StatefulSets here.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        },
+                        "fixPermissions": {
+                            "description": "Execute init container to chown 
log directory. This is currently only needed in KinD, due to usage of 
local-path provisioner.",
+                            "type": "boolean"
+                        }
+                    }
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "terminationGracePeriodSeconds": {
+                    "description": "Grace period for tasks to finish after 
SIGTERM is sent from Kubernetes.",
+                    "type": "integer"
+                },
+                "safeToEvict": {
+                    "description": "This setting tells Kubernetes that it's ok 
to evict when it wants to scale a node down.",
+                    "type": "boolean"
+                }
+            }
+        },
+        "scheduler": {
+            "description": "Airflow scheduler settings.",
+            "type": "object",
+            "properties": {
+                "podDisruptionBudget": {
+                    "description": "Scheduler pod disruption budget.",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Enable pod disruption budget.",
+                            "type": "boolean"
+                        },
+                        "config": {
+                            "description": "Disruption budget configuration.",
+                            "type": "object",
+                            "properties": {
+                                "maxUnavailable": {
+                                    "description": "Max unavailable pods for 
scheduler.",
+                                    "type": "integer"
+                                }
+                            }
+                        }
+                    }
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "airflowLocalSettings": {
+                    "description": "This setting can overwrite podMutation 
setting.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "safeToEvict": {
+                    "description": "This setting tells Kubernetes that its ok 
to evict when it wants to scale a node down.",
+                    "type": "boolean"
+                }
+            }
+        },
+        "webserver": {
+            "description": "Airflow webserver settings.",
+            "type": "object",
+            "properties": {
+                "livenessProbe": {
+                    "description": "Liveness probe configuration.",
+                    "type": "object",
+                    "properties": {
+                        "initialDelaySeconds": {
+                            "description": "Webserver Liveness probe initial 
delay.",
+                            "type": "integer"
+                        },
+                        "timeoutSeconds": {
+                            "description": "Webserver Liveness probe timeout 
seconds.",
+                            "type": "integer"
+                        },
+                        "failureThreshold": {
+                            "description": "Webserver Liveness probe failure 
threshold.",
+                            "type": "integer"
+                        },
+                        "periodSeconds": {
+                            "description": "Webserver Liveness probe period 
seconds.",
+                            "type": "integer"
+                        }
+                    }
+                },
+                "readinessProbe": {
+                    "description": "Readiness probe configuration.",
+                    "type": "object",
+                    "properties": {
+                        "initialDelaySeconds": {
+                            "description": "Webserver Readiness probe initial 
delay.",
+                            "type": "integer"
+                        },
+                        "timeoutSeconds": {
+                            "description": "Webserver Readiness probe timeout 
seconds.",
+                            "type": "integer"
+                        },
+                        "failureThreshold": {
+                            "description": "Webserver Readiness probe failure 
threshold.",
+                            "type": "integer"
+                        },
+                        "periodSeconds": {
+                            "description": "Webserver Readiness probe period 
seconds.",
+                            "type": "integer"
+                        }
+                    }
+                },
+                "replicas": {
+                    "description": "How many Airflow webserver replicas should 
run.",
+                    "type": "integer"
+                },
+                "extraNetworkPolicies": {
+                    "description": "Additional network policies as needed.",
+                    "type": "array"
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "defaultUser": {
+                    "description": "Optional default airflow user information",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Enable default user creation.",
+                            "type": "boolean"
+                        },
+                        "role": {
+                            "description": "Default user role.",
+                            "type": "string"
+                        },
+                        "username": {
+                            "description": "Default user username.",
+                            "type": "string"
+                        },
+                        "email": {
+                            "description": "Default user email address.",
+                            "type": "string"
+                        },
+                        "firstName": {
+                            "description": "Default user firstname.",
+                            "type": "string"
+                        },
+                        "lastName": {
+                            "description": "Default user lastname.",
+                            "type": "string"
+                        },
+                        "password": {
+                            "description": "Default user password.",
+                            "type": "string"
+                        }
+                    }
+                },
+                "extraVolumes": {
+                    "description": "Mount additional volumes into webserver.",
+                    "type": "array"
+                },
+                "extraVolumeMounts": {
+                    "description": "Mount additional volumes into webserver.",
+                    "type": "array"
+                },
+                "webserverConfig": {
+                    "description": "This 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.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "service": {
+                    "description": "Webserver service configuration.",
+                    "type": "object",
+                    "properties": {
+                        "type": {
+                            "description": "Webserver service type.",
+                            "type": "string"
+                        },
+                        "annotations": {
+                            "description": "Annotations for the webserver 
service.",
+                            "type": "object"
+                        }
+                    }
+                }
+            }
+        },
+        "flower": {
+            "description": "Flower settings.",
+            "type": "object",
+            "properties": {
+                "extraNetworkPolicies": {
+                    "description": "Additional network policies as needed.",
+                    "type": "array"
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "service": {
+                    "description": "Flower service configuration.",
+                    "type": "object",
+                    "properties": {
+                        "type": {
+                            "description": "Flower service type.",
+                            "type": "string"
+                        }
+                    }
+                }
+            }
+        },
+        "statsd": {
+            "description": "Statsd settings.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable statsd.",
+                    "type": "boolean"
+                },
+                "extraNetworkPolicies": {
+                    "description": "Additional network policies as needed.",
+                    "type": "array"
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "service": {
+                    "description": "Statsd service configuration.",
+                    "type": "object",
+                    "properties": {
+                        "extraAnnotations": {
+                            "description": "Extra annotations for the statsd 
service.",
+                            "type": "object"
+                        }
+                    }
+                }
+            }
+        },
+        "pgbouncer": {
+            "description": "Pgbouncer settings.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable pgbouncer.",
+                    "type": "boolean"
+                },
+                "extraNetworkPolicies": {
+                    "description": "Additional network policies as needed.",
+                    "type": "array"
+                },
+                "metadataPoolSize": {
+                    "description": "Metadata pool size.",
+                    "type": "integer"
+                },
+                "resultBackendPoolSize": {
+                    "description": "Result backend pool size.",
+                    "type": "integer"
+                },
+                "maxClientConn": {
+                    "description": "Maximum clients that can connect to 
pgbouncer (higher = more file descriptors).",
+                    "type": "integer"
+                },
+                "podDisruptionBudget": {
+                    "description": "Pgbouner pod disruption budget.",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Enabled pod distribution budget.",
+                            "type": "boolean"
+                        },
+                        "config": {
+                            "description": "Pod distribution configuration.",
+                            "type": "object",
+                            "properties": {
+                                "maxUnavailable": {
+                                    "description": "Max unavailable pods for 
pgbouncer.",
+                                    "type": "integer"
+                                }
+                            }
+                        }
+                    }
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "service": {
+                    "description": "Pgbouncer service configuration.",
+                    "type": "object",
+                    "properties": {
+                        "extraAnnotations": {
+                            "description": "Extra annotations for the 
pgbouncer service.",
+                            "type": "object"
+                        }
+                    }
+                },
+                "verbose": {
+                    "description": "Increase pgbouncer verbosity.",
+                    "type": "integer"
+                },
+                "logDisconnections": {
+                    "description": "Log disconnections with reasons.",
+                    "type": "integer"
+                },
+                "logConnections": {
+                    "description": "Log successful logins.",
+                    "type": "integer"
+                }
+            }
+        },
+        "redis": {
+            "description": "",
+            "type": "object",
+            "properties": {
+                "terminationGracePeriodSeconds": {
+                    "description": "Grace period for tasks to finish after 
SIGTERM is sent from Kubernetes.",
+                    "type": "integer"
+                },
+                "persistence": {
+                    "description": "Persistence configuration.",
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "description": "Enable persistent volumes.",
+                            "type": "boolean"
+                        },
+                        "size": {
+                            "description": "Volume size for worker 
StatefulSet.",
+                            "type": "string"
+                        },
+                        "storageClassName": {
+                            "description": "If using a custom storageClass, 
pass name ref to all StatefulSets here.",
+                            "type": [
+                                "string",
+                                "null"
+                            ]
+                        }
+                    }
+                },
+                "resources": {
+                    "type": "object"
+                },
+                "passwordSecretName": {
+                    "description": "Redis password secret.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "brokerURLSecretName": {
+                    "description": "Redis broker URL secret.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "password": {
+                    "description": "If password is set, create secret with it, 
else generate a new one on install.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "safeToEvict": {
+                    "description": "This setting tells Kubernetes that its ok 
to evict when it wants to scale a node down.",
+                    "type": "boolean"
+                }
+            }
+        },
+        "registry": {
+            "description": "Auth secret for a private registry. This is used 
if pulling airflow images from a private registry.",
+            "type": "object",
+            "properties": {
+                "secretName": {
+                    "description": "Registry connection string secret.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "connection": {
+                    "description": "Registry connection configuration.",
+                    "type": "object"
+                }
+            }
+        },
+        "elasticsearch": {
+            "description": "Elasticsearch logging configuration.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable elasticsearch task logging.",
+                    "type": "boolean"
+                },
+                "secretName": {
+                    "description": "A secret containing the connection 
string.",
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "connection": {
+                    "description": "Elasticsearch connection configuration.",
+                    "type": "object"
+                }
+            }
+        },
+        "ports": {
+            "description": "All ports used by chart.",
+            "type": "object",
+            "properties": {
+                "flowerUI": {
+                    "description": "Flower UI port.",
+                    "type": "integer"
+                },
+                "airflowUI": {
+                    "description": "Airflow UI port.",
+                    "type": "integer"
+                },
+                "workerLogs": {
+                    "description": "Worker logs port.",
+                    "type": "integer"
+                },
+                "redisDB": {
+                    "description": "Redis port.",
+                    "type": "integer"
+                },
+                "statsdIngest": {
+                    "description": "Statsd ingest port.",
+                    "type": "integer"
+                },
+                "statsdScrape": {
+                    "description": "Statsd scrape port.",
+                    "type": "integer"
+                },
+                "pgbouncer": {
+                    "description": "Pgbouncer port.",
+                    "type": "integer"
+                },
+                "pgbouncerScrape": {
+                    "description": "Pgbouncer scrape port.",
+                    "type": "integer"
+                }
+            }
+        },
+        "quotas": {
+            "description": "Define any ResourceQuotas for namespace.",
+            "type": "object"
+        },
+        "limits": {
+            "description": "Define default/max/min values for pods and 
containers in namespace.",
+            "type": "array"
+        },
+        "podMutation": {
+            "description": "Settings for pod_mutation_hook",
+            "type": "object",
+            "properties": {
+                "tolerations": {
+                    "description": "Tolerations provided here would be applied 
using pod_mutation_hook. So any pods spun up using KubernetesExecutor or 
KubernetesPodOperator will contain these tolerations.",
+                    "type": "array"
+                },
+                "affinity": {
+                    "description": "Pods spun up would land in the node that 
matches the affinity.",
+                    "type": "object"
+                }
+            }
+        },
+        "cleanup": {
+            "description": "This runs as a CronJob to cleanup old pods.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable cleanup.",
+                    "type": "boolean"
+                },
+                "schedule": {
+                    "description": "Cleanup schedule.",
+                    "type": "string"
+                }
+            }
+        },
+        "postgresql": {
+            "description": "Configuration for postgresql subchart.",
+            "type": "object",
+            "properties": {
+                "enabled": {
+                    "description": "Enable postgresql subchart.",
+                    "type": "boolean"
+                },
+                "postgresqlPassword": {
+                    "description": "Postgresql password.",
+                    "type": "string"
+                },
+                "postgresqlUsername": {
+                    "description": "Postgresql username.",
+                    "type": "string"
+                }
+            }
+        },
+        "config": {
+            "description": "Settings to go into the mounted airflow.cfg",
+            "type": "object",
+            "properties": {
+                "core": {
+                    "type": "object",
+                    "properties": {
+                        "dags_folder": {
+                            "type": "string"
+                        },
+                        "load_examples": {
+                            "type": "string"
+                        },
+                        "colored_console_log": {
+                            "type": "string"
+                        },
+                        "executor": {
+                            "type": "string"
+                        },
+                        "remote_logging": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "api": {
+                    "type": "object",
+                    "properties": {
+                        "auth_backend": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "logging": {
+                    "type": "object",
+                    "properties": {
+                        "logging_level": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "webserver": {
+                    "type": "object",
+                    "properties": {
+                        "enable_proxy_fix": {
+                            "type": "string"
+                        },
+                        "expose_config": {
+                            "type": "string"
+                        },
+                        "rbac": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "celery": {
+                    "type": "object",
+                    "properties": {
+                        "default_queue": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "scheduler": {
+                    "type": "object",
+                    "properties": {
+                        "scheduler_heartbeat_sec": {
+                            "type": "integer"
+                        },
+                        "statsd_on": {
+                            "type": "string"
+                        },
+                        "statsd_port": {
+                            "type": "integer"
+                        },
+                        "statsd_prefix": {
+                            "type": "string"
+                        },
+                        "statsd_host": {
+                            "type": "string"
+                        },
+                        "run_duration": {
+                            "type": "integer"
+                        }
+                    }
+                },
+                "elasticsearch": {
+                    "type": "object",
+                    "properties": {
+                        "json_format": {
+                            "type": "string"
+                        },
+                        "log_id_template": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "elasticsearch_configs": {
+                    "type": "object",
+                    "properties": {
+                        "max_retries": {
+                            "type": "integer"
+                        },
+                        "timeout": {
+                            "type": "integer"
+                        },
+                        "retry_timeout": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "kubernetes": {
+                    "type": "object",
+                    "properties": {
+                        "namespace": {
+                            "type": "string"
+                        },
+                        "airflow_configmap": {
+                            "type": "string"
+                        },
+                        "airflow_local_settings_configmap": {
+                            "type": "string"
+                        },
+                        "worker_container_repository": {
+                            "type": "string"
+                        },
+                        "worker_container_tag": {
+                            "type": "string"
+                        },
+                        "worker_container_image_pull_policy": {
+                            "type": "string"
+                        },
+                        "worker_service_account_name": {
+                            "type": "string"
+                        },
+                        "image_pull_secrets": {
+                            "type": "string"
+                        },
+                        "dags_in_image": {
+                            "type": "string"
+                        },
+                        "delete_worker_pods": {
+                            "type": "string"
+                        },
+                        "run_as_user": {
+                            "type": "string"
+                        },
+                        "fs_group": {
+                            "type": "string"
+                        },
+                        "git_dags_folder_mount_point": {
+                            "type": "string"
+                        },
+                        "dags_volume_mount_point": {
+                            "type": "string"
+                        },
+                        "dags_volume_claim": {
+                            "type": "string"
+                        },
+                        "dags_volume_subpath": {
+                            "type": "string"
+                        },
+                        "git_repo": {
+                            "type": "string"
+                        },
+                        "git_branch": {
+                            "type": "string"
+                        },
+                        "git_sync_rev": {
+                            "type": "string"
+                        },
+                        "git_sync_depth": {
+                            "type": "string"
+                        },
+                        "git_sync_root": {
+                            "type": "string"
+                        },
+                        "git_sync_dest": {
+                            "type": "string"
+                        },
+                        "git_sync_container_repository": {
+                            "type": "string"
+                        },
+                        "git_sync_container_tag": {
+                            "type": "string"
+                        },
+                        "git_sync_init_container_name": {
+                            "type": "string"
+                        },
+                        "git_sync_run_as_user": {
+                            "type": "string"
+                        },
+                        "git_ssh_known_hosts_configmap_name": {
+                            "type": "string"
+                        },
+                        "git_ssh_key_secret_name": {
+                            "type": "string"
+                        },
+                        "git_sync_credentials_secret": {
+                            "type": "string"
+                        }
+                    }
+                },
+                "kubernetes_secrets": {
+                    "type": "object",
+                    "properties": {

Review comment:
       It should be a map of string/string.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to