# Copyright © 2017 Amdocs, Bell Canada
#
# 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 not .Values.disableDcaegen2 }}
apiVersion: v1
kind: Pod
metadata:
  name: {{ .Chart.Name }}
  namespace: "{{ .Values.nsPrefix }}"
spec:
  containers:
    - name: {{ .Chart.Name }}
      image: "{{ .Values.image.repository }}"
      imagePullPolicy: {{ .Values.image.pullPolicy }}
      volumeMounts:
      - name: installer-config-mount
        mountPath: /opt/app/installer/config
        readOnly: true
      env:
      - name: LOCATION
        value: "{{ .Values.location }}"
  volumes:
  - name: installer-config-mount
    projected:
      sources:
      - secret:
          name: "{{ .Chart.Name }}-openstack-ssh-private-key"
      - configMap:
          name: "{{ .Chart.Name }}-config-inputs"
  imagePullSecrets:
  - name: "{{ .Values.nsPrefix }}-docker-registry-key"
  restartPolicy: Never
#{{ end }}
