# 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: extensions/v1beta1
kind: Deployment
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ include "common.name" . }}
  template:
    metadata:
      labels:
        app: {{ include "common.name" . }}
        release: {{ .Release.Name }}
      name: {{ include "common.name" . }}
      annotations:
        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
        msb.onap.org/service-info: '[
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v11",
              "url": "/aai/v11/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v12",
              "url": "/aai/v12/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v13",
              "url": "/aai/v13/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-business",
              "version": "v11",
              "url": "/aai/v11/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/business"
          },
          {
              "serviceName": "_aai-business",
              "version": "v12",
              "url": "/aai/v12/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/business"
          },
          {
              "serviceName": "_aai-business",
              "version": "v13",
              "url": "/aai/v13/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/business"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v11",
              "url": "/aai/v11/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/actions"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v12",
              "url": "/aai/v12/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/actions"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v13",
              "url": "/aai/v13/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/actions"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v11",
              "url": "/aai/v11/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/service-design-and-creation"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v12",
              "url": "/aai/v12/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/service-design-and-creation"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v13",
              "url": "/aai/v13/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/service-design-and-creation"
          },
          {
              "serviceName": "_aai-network",
              "version": "v11",
              "url": "/aai/v11/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/network"
          },
          {
              "serviceName": "_aai-network",
              "version": "v12",
              "url": "/aai/v12/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/network"
          },
          {
              "serviceName": "_aai-network",
              "version": "v13",
              "url": "/aai/v13/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/network"
          },
          {
              "serviceName": "_aai-externalSystem",
              "version": "v11",
              "url": "/aai/v11/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/external-system"
          },      
          {
              "serviceName": "_aai-externalSystem",
              "version": "v12",
              "url": "/aai/v12/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/external-system"
          },      
          {
              "serviceName": "_aai-externalSystem",
              "version": "v13",
              "url": "/aai/v13/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/external-system"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v11",
              "url": "/aai/v11/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v12",
              "url": "/aai/v12/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v13",
              "url": "/aai/v13/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v11",
              "url": "/aai/v11/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v12",
              "url": "/aai/v12/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v13",
              "url": "/aai/v13/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v11",
              "url": "/aai/v11/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v12",
              "url": "/aai/v12/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v13",
              "url": "/aai/v13/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v11",
              "url": "/aai/v11/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v12",
              "url": "/aai/v12/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v13",
              "url": "/aai/v13/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v11",
              "url": "/aai/v11/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v12",
              "url": "/aai/v12/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v13",
              "url": "/aai/v13/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-externalSystem",
              "version": "v11",
              "url": "/aai/v11/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },      
          {
              "serviceName": "aai-externalSystem",
              "version": "v12",
              "url": "/aai/v12/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },      
          {
              "serviceName": "aai-externalSystem",
              "version": "v13",
              "url": "/aai/v13/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          }
          ]'
    spec:
      hostname: aai-resources
    {{ if .Values.global.initContainers.enabled }}
      initContainers:
      - command:
      {{  if .Values.global.jobs.createSchema.enabled  }}
        - /root/job_complete.py
        args:
        - --job-name
        - {{ .Release.Name }}-aai-graphadmin-create-db-schema
      {{  else }}
        - /root/ready.py
        args:
        - --container-name
        - aai-cassandra
      {{  end  }}
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: {{ include "common.name" . }}-readiness
    {{ end }}
      containers:
      - name: {{ include "common.name" . }}
        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        env:
        - name: LOCAL_USER_ID
          value: {{ .Values.global.config.userId | quote }}
        - name: LOCAL_GROUP_ID
          value: {{ .Values.global.config.groupId | quote }}
        volumeMounts:
        - mountPath: /etc/localtime
          name: localtime
          readOnly: true
        - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-realtime.properties
          name: {{ include "common.fullname" . }}-db-real-conf
          subPath: janusgraph-realtime.properties
        - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-cached.properties
          name: {{ include "common.fullname" . }}-db-cached-conf
          subPath: janusgraph-cached.properties
        - mountPath: /opt/app/aai-resources/resources/etc/appprops/aaiconfig.properties
          name: {{ include "common.fullname" . }}-aaiconfig-conf
          subPath: aaiconfig.properties
        - mountPath: /opt/aai/logroot/AAI-RES
          name: {{ include "common.fullname" . }}-logs
        - mountPath: /opt/app/aai-resources/resources/logback.xml
          name: {{ include "common.fullname" . }}-log-conf
          subPath: logback.xml
        - mountPath: /opt/app/aai-resources/resources/localhost-access-logback.xml
          name: {{ include "common.fullname" . }}-localhost-access-log-conf
          subPath: localhost-access-logback.xml
        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile
          name: {{ include "common.fullname" . }}-aaf-certs
          subPath: org.onap.aai.keyfile
        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.props
          name: {{ include "common.fullname" . }}-aaf-properties
          subPath: org.onap.aai.props
        - mountPath: /opt/app/aai-resources/resources/aaf/org.osaaf.location.props
          name: {{ include "common.fullname" . }}-aaf-properties
          subPath: org.osaaf.location.props
        - mountPath: /opt/app/aai-resources/resources/aaf/permissions.properties
          name: {{ include "common.fullname" . }}-aaf-properties
          subPath: permissions.properties
        - mountPath: /opt/app/aai-resources/resources/cadi.properties
          name: {{ include "common.fullname" . }}-aaf-properties
          subPath: cadi.properties
        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.p12
          name: {{ include "common.fullname" . }}-aaf-certs
          subPath: org.onap.aai.p12
        - mountPath: /opt/app/aai-resources/resources/aaf/truststoreONAPall.jks
          name: {{ include "common.fullname" . }}-aaf-certs
          subPath: truststoreONAPall.jks
        - mountPath: /opt/app/aai-resources/resources/application.properties
          name: {{ include "common.fullname" . }}-springapp-conf
          subPath: application.properties
          {{ $global := . }}
          {{ range $job := .Values.global.config.auth.files }}
        - mountPath: /opt/app/aai-resources/resources/etc/auth/{{ . }}
          name: {{ include "common.fullname" $global }}-auth-truststore-sec
          subPath: {{ . }}
          {{ end }}
        ports:
        - containerPort: {{ .Values.service.internalPort }}
        - containerPort: {{ .Values.service.internalPort2 }}
        # disable liveness probe when breakpoints set in debugger
        # so K8s doesn't restart unresponsive container
        {{ if .Values.liveness.enabled }}
        livenessProbe:
          tcpSocket:
            port: {{ .Values.service.internalPort }}
          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
          periodSeconds: {{ .Values.liveness.periodSeconds }}
        {{ end }}
        readinessProbe:
          tcpSocket:
            port: {{ .Values.service.internalPort }}
          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
          periodSeconds: {{ .Values.readiness.periodSeconds }}
        resources:
{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
      {{- if .Values.nodeSelector }}
      nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
      {{- end -}}
      {{- if .Values.affinity }}
      affinity:
{{ toYaml .Values.affinity | indent 8 }}
      {{- end }}

      # side car containers
      - name: filebeat-onap
        image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        volumeMounts:
        - mountPath: /usr/share/filebeat/filebeat.yml
          subPath: filebeat.yml
          name: filebeat-conf
        - mountPath: /var/log/onap
          name: {{ include "common.fullname" . }}-logs
        - mountPath: /usr/share/filebeat/data
          name: {{ include "common.fullname" . }}-filebeat

      volumes:
      - name: localtime
        hostPath:
          path: /etc/localtime
      - name: filebeat-conf
        configMap:
          name: aai-filebeat
      - name: {{ include "common.fullname" . }}-logs
        emptyDir: {}
      - name: {{ include "common.fullname" . }}-filebeat
        emptyDir: {}
      - name: {{ include "common.fullname" . }}-log-conf
        configMap:
         name: {{ include "common.fullname" . }}-log
      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
        configMap:
         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
      - name: {{ include "common.fullname" . }}-db-real-conf
        configMap:
         name: {{ include "common.fullname" . }}-db-real-configmap
      - name: {{ include "common.fullname" . }}-db-cached-conf
        configMap:
         name: {{ include "common.fullname" . }}-db-cached-configmap
      - name: {{ include "common.fullname" . }}-aaiconfig-conf
        configMap:
         name: {{ include "common.fullname" . }}-aaiconfig-configmap
      - name: {{ include "common.fullname" . }}-aaf-properties
        configMap:
         name: {{ include "common.fullname" . }}-aaf-props
      - name: {{ include "common.fullname" . }}-aaf-certs
        secret:
         secretName: {{ include "common.fullname" . }}-aaf-keys
      - name: {{ include "common.fullname" . }}-springapp-conf
        configMap:
         name: {{ include "common.fullname" . }}-springapp-configmap
      - name: {{ include "common.fullname" . }}-realm-conf
        configMap:
         name: {{ include "common.fullname" . }}-realm-configmap
      - name: {{ include "common.fullname" . }}-auth-truststore-sec
        secret:
         secretName: aai-auth-truststore-secret
         items:
          {{ range $job := .Values.global.config.auth.files }}
           - key: {{ . }}
             path: {{ . }}
          {{ end }}
      restartPolicy: {{ .Values.restartPolicy }}
      imagePullSecrets:
      - name: "{{ include "common.namespace" . }}-docker-registry-key"
