---

# 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 "base-openstack.fullname" . }}-tosca-loader
  labels:
    app: {{ template "base-openstack.name" . }}
    chart: {{ template "base-openstack.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  template:
    metadata:
      labels:
        app: {{ template "base-openstack.name" . }}
        release: {{ .Release.Name }}
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/tosca-configmap.yaml") . | sha256sum }}
    spec:
      restartPolicy: Never
      containers:
        - name: {{ .Chart.Name }}-tosca-loader
          image: {{ .Values.httpieImage | quote }}
          imagePullPolicy: {{ .Values.imagePullPolicy }}
          command: ["/bin/sh"]
          args:
            - "-c"
            - |
              for recipe in /opt/tosca/*
              do
                echo $recipe
                http --check-status --ignore-stdin POST http://xos-tosca:$XOS_TOSCA_SERVICE_PORT/run xos-username:{{ .Values.xosAdminUser }} xos-password:{{ .Values.xosAdminPassword }} @$recipe || exit 1
                echo ''
              done
          volumeMounts:
            - name: base-openstack-tosca
              mountPath: /opt/tosca
      volumes:
        - name: base-openstack-tosca
          configMap:
            name: base-openstack-tosca
