{{/*
# Copyright © 2020 highstreet technologies GmbH
#
# 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.
*/}}
{{ if .Values.config.sdnr.enabled -}}
apiVersion: batch/v1
kind: Job
metadata: {{- include "common.resourceMetadata" (dict "suffix" "sdnrdb-init-job" "dot" . ) | nindent 2 }}
spec:
  backoffLimit: 20
  template:
    metadata: {{ include "common.templateMetadata" . | indent 6}}
    spec:
      initContainers:
      - name: {{ include "common.name" . }}-readiness
        command:
        - /app/ready.py
        args:
        - --container-name
        - {{.Values.elasticsearch.nameOverride}}-elasticsearch
        - --container-name
        - {{.Values.elasticsearch.nameOverride}}-nginx
        - --container-name
        - {{.Values.elasticsearch.nameOverride}}-master
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ include "repositoryGenerator.image.readiness" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
      containers:
      - name: {{ include "common.name" . }}-sdnrdb-init-job
        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        command: ["/bin/bash"]
        args:
          - -c
          - |
            sleep 90; "{{ .Values.config.binDir }}/startODL.sh"
        env:
          - name: SDNC_AAF_ENABLED
            value: "false"
          - name: SDNC_HOME
            value: "{{.Values.config.sdncHome}}"
          - name: ETC_DIR
            value: "{{.Values.config.etcDir}}"
          - name: BIN_DIR
            value: "{{.Values.config.binDir}}"
          ## start sdnrdb parameter
          - name: SDNRINIT
            value: "true"
          - name: SDNRDBURL
            value: "http://{{ .Values.elasticsearch.service.name | default "sdnrdb"}}.{{.Release.Namespace}}:{{.Values.elasticsearch.service.port | default "9200"}}"
          - name: SDNRDBPARAMETER
            value: "-k"
        resources: {{ include "common.resources" . | nindent 10 }}
      {{- if include "common.onServiceMesh" . }}
      - name: sdnrdb-service-mesh-wait-for-job-container
        image: {{ include "repositoryGenerator.image.quitQuit" . }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        command:
          - /bin/sh
          - "-c"
        args:
          - |
            echo "waiting 30s for istio side cars to be up"; sleep 30s;
            /app/ready.py --service-mesh-check sdnc-sdnrdb-init-job -t 45;
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
      {{- end }}
      {{- if .Values.nodeSelector }}
      nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
      {{- end -}}
      {{- if .Values.affinity }}
      affinity: {{ toYaml .Values.affinity | nindent 10 }}
      {{- end }}
      volumes:
      - name: localtime
        hostPath:
          path: /etc/localtime
      - name: docker-entrypoint-initdb-d
        emptyDir: {}
      - name: bin
        configMap:
          name: {{ include "common.fullname" . }}-bin
          defaultMode: 0755
      - name: properties
        configMap:
          name: {{ include "common.fullname" . }}-properties
          defaultMode: 0644
      restartPolicy: Never
      imagePullSecrets:
      - name: "{{ include "common.namespace" . }}-docker-registry-key"

{{ end -}}
