# Copyright 2020-present Open Networking Foundation
# SPDX-License-Identifier: Apache-2.0

apiVersion: apps/v1
kind: Deployment
metadata:
  name: "{{ .Release.Name }}"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: opensearch-config
  template:
    metadata:
      labels:
        app: opensearch-config
    spec:
      containers:
        - name: config
          image: opennetworking/utils:jq-kubectl-curl
          imagePullPolicy: IfNotPresent
          env:
            - name: ES_URL
              value: "{{ .Values.elasticsearch.host }}:{{ .Values.elasticsearch.port}}"
            - name: AUTH_USERNAME
              value: "{{ .Values.elasticsearch.auth.username}}"
            - name: AUTH_PASSWORD
              value: "{{ .Values.elasticsearch.auth.password}}"
            - name: SKIP_TLS
              value: "{{ .Values.elasticsearch.auth.skip_tls}}"
            {{ if .Values.configuration.setting }}
            - name: SETTING_DIR
              value: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.setting }}"
            {{ end }}
            {{ if .Values.configuration.monitor }}
            - name: MONITOR_DIR
              value: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.monitor }}"
            {{ end }}
            {{ if .Values.configuration.destination }}
            - name: DEST_DIR
              value: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.destination }}"
            {{ end }}
          volumeMounts:
            - name: config-script
              mountPath: /tmp/update.sh
              subPath: update.sh
            {{ if .Values.configuration.setting }}
            - name: setting-configs
              mountPath: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.setting }}"
            {{ end }}
            {{ if .Values.configuration.monitor }}
            - name: monitor-configs
              mountPath: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.monitor }}"
            {{ end }}
            {{ if .Values.configuration.destination }}
            - name: destination-configs
              mountPath: "{{ .Values.configuration.base_dir }}/{{ .Values.configuration.destination }}"
            {{ end }}
          command: ["sh", "-c", "/tmp/update.sh"]
      volumes:
        - name: "config-script"
          configMap:
            name: "{{ .Release.Name }}-scripts"
            defaultMode: 0755
        {{ if .Values.configuration.setting }}
        - name: "setting-configs"
          configMap:
            name: "{{ .Values.configuration.setting_configmap }}"
            defaultMode: 0644
        {{ end }}
        {{ if .Values.configuration.monitor }}
        - name: "monitor-configs"
          configMap:
            name: "{{ .Values.configuration.monitor_configmap }}"
            defaultMode: 0644
        {{ end }}
        {{ if .Values.configuration.destination }}
        - name: "destination-configs"
          secret:
            secretName: "{{ .Values.configuration.destination_secret }}"
            defaultMode: 0644
        {{ end }}
