---

# Copyright 2018-present Open Networking Foundation
#
# 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.

apiVersion: batch/v1
kind: Job
metadata:
  name: {{ template "tt-workflow.fullname" . }}-tosca-loader
  labels:
    app: {{ template "tt-workflow.name" . }}
    chart: {{ template "tt-workflow.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  backoffLimit: 12
  template:
    metadata:
      labels:
        app: {{ template "tt-workflow.name" . }}
        release: {{ .Release.Name }}
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/tosca-configmap.yaml") . | sha256sum }}
    spec:
      restartPolicy: OnFailure
      containers:
        - name: {{ .Chart.Name }}-tosca-loader
          image: {{ .Values.global.registry }}{{ .Values.images.tosca_loader.repository }}:{{ tpl .Values.images.tosca_loader.tag . }}
          imagePullPolicy: {{ .Values.images.tosca_loader.pullPolicy }}
          env:
            - name: XOS_USER
              value: {{ .Values.xosAdminUser }}
            - name: XOS_PASSWD
              valueFrom:
                secretKeyRef:
                  name: xos-admin-passwd-secret
                  key: password
          volumeMounts:
            - name: tt-workflow-tosca
              mountPath: /opt/tosca
      volumes:
        - name: tt-workflow-tosca
          configMap:
            name: tt-workflow-tosca
