#
#   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: "14"
webserverSecretKeySecretName: airflow-webserver-secret
webserver:
  service:
    type: NodePort
    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
