# 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.disableVfcVfcWorkflow }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: vfc-workflow
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.workflow.replicas }}
  selector:
    matchLabels:
      app: vfc-workflow
  template:
    metadata:
      labels:
        app: vfc-workflow
      name: vfc-workflow
    spec:
      hostname: vfc-workflow
      containers:
      - args:
        image:  {{.Values.workflow.image}}
        name: "vfc-workflow"
        env:
        - name: SERVICE_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: SERVICE_PORT
          value: "{{ .Values.workflow.port }}"
        - name: OPENPALETTE_MSB_IP
          value: msb-iag.{{ .Values.nsPrefix }}
        - name: OPENPALETTE_MSB_PORT
          value: "80"
        ports:
        - containerPort: {{ .Values.workflow.port }}
        readinessProbe:
          tcpSocket:
            port: {{ .Values.workflow.port }}
          initialDelaySeconds: 5
          periodSeconds: 10
        imagePullPolicy: "{{ .Values.pullPolicy }}"
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
