{{/*
# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018 AT&T
#
# 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: apps/v1
kind: Deployment
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ include "common.release" . }}
    heritage: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ include "common.name" . }}
  template:
    metadata:
      labels:
        app: {{ include "common.name" . }}
        release: {{ include "common.release" . }}
      name: {{ include "common.name" . }}
    spec:
     containers:
     - env:
       - name: MSB_PROTO
         value: {{ .Values.config.msbprotocol }}
       - name: MSB_ADDR
         value: {{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}
       - name: MSB_PORT
         value: "{{ .Values.config.msbPort }}"
       - name: AAI_ADDR
         value: "aai.{{ include "common.namespace" . }}"
       - name: AAI_PORT
         value: "{{ .Values.config.aai.port }}"
       - name: AAI_SCHEMA_VERSION
         value: "{{ .Values.config.aai.schemaVersion }}"
       - name: AAI_USERNAME
         value: "{{ .Values.config.aai.username }}"
       - name: AAI_PASSWORD
         value: "{{ .Values.config.aai.password }}"
       - name: SSL_ENABLED
         value: "{{ .Values.config.ssl_enabled }}"
       resources:
{{ include "common.resources" . | indent 12 }}
       image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
       name: {{ include "common.name" . }}
       volumeMounts:
       - mountPath: /var/log/onap
         name: framework-log
       - mountPath: /opt/multivimbroker/multivimbroker/pub/config/log.yml
         name: framework-logconfig
         subPath: log.yml
       - mountPath: /opt/multivimbroker/multivimbroker/pub/config/provider-plugin.json
         name: provider-plugin
         subPath: provider-plugin.json
       ports:
       - containerPort: {{ .Values.service.internalPort }}
       # disable liveness probe when breakpoints set in debugger
       # so K8s doesn't restart unresponsive container
       {{- if eq .Values.liveness.enabled true }}
       livenessProbe:
         httpGet:
           path: /api/multicloud/v0/swagger.json
           port: {{ .Values.service.internalPort }}
           scheme: HTTPS
         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
         periodSeconds: {{ .Values.liveness.periodSeconds }}
         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
         successThreshold: {{ .Values.liveness.successThreshold }}
         failureThreshold: {{ .Values.liveness.failureThreshold }}
       {{ end -}}

      # side car containers
     - image: {{ include "repositoryGenerator.image.logging" . }}
       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
       name: filebeat-onap
       volumeMounts:
       - mountPath: /usr/share/filebeat/filebeat.yml
         name: filebeat-conf
         subPath: filebeat.yml
       - mountPath: /var/log/onap
         name: framework-log
       - mountPath: /usr/share/filebeat/data
         name: framework-data-filebeat
     serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
     volumes:
     - name: framework-log
       emptyDir: {}
     - name: provider-plugin
       configMap:
         name: {{ include "common.fullname" . }}-provider-plugin-configmap
     - name: framework-data-filebeat
       emptyDir: {}
     - name: filebeat-conf
       configMap:
         name: multicloud-filebeat-configmap
     - name: framework-logconfig
       configMap:
         name: {{ include "common.fullname" . }}-log-configmap
     imagePullSecrets:
     - name: "{{ include "common.namespace" . }}-docker-registry-key"
     restartPolicy: Always
