#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
#
---
defaultAirflowRepository: opensourcemano/airflow
defaultAirflowTag: "16"
ingress:
  web:
    enabled: True
    hosts:
      - name: "localhost"
    ingressClassName: nginx
webserverSecretKeySecretName: airflow-webserver-secret
webserver:
  service:
    type: ClusterIP
    ports:
      - name: airflow-ui
        port: "{{ .Values.ports.airflowUI }}"
        targetPort: "{{ .Values.ports.airflowUI }}"
extraEnv: |
  - name: AIRFLOW__API__AUTH_BACKENDS
    value: 'airflow.api.auth.backend.basic_auth'
  - name: AIRFLOW__LOGGING__LOGGING_LEVEL
    value: 'INFO'
  - name: OSMMON_DATABASE_COMMONKEY
    valueFrom:
      secretKeyRef:
        name: osm-secret
        key: OSM_DATABASE_COMMONKEY
# extraEnvFrom: |
#   - secretRef:
#       name: ngsa-secret
config:
  core:
    dags_folder: "/home/airflow/.local/lib/python3.10/site-packages/osm_ngsa"
workers:
  persistence:
    size: 8Gi
