# 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.disableMsoMso }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mso
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.msoReplicas }}
  selector:
    matchLabels:
      app: mso
  template:
    metadata:
      labels:
        app: mso
      name: mso
    spec:
      initContainers:
      - command:
        - /root/ready.py
        args:
        - --container-name
        - mso-mariadb
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ .Values.image.readiness }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: mso-readiness
      containers:
      - command:
        - /tmp/start-jboss-server.sh
        image: {{ .Values.image.mso }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: mso
        volumeMounts:
        - mountPath: /etc/localtime
          name: localtime
          readOnly: true
        - mountPath: /shared/
          name: mso
        - mountPath: /tmp/start-jboss-server.sh
          name: mso-docker-files
          subPath: start-jboss-server.sh
        - mountPath: /opt/jboss/standalone/configuration/standalone-full-ha-mso.xml
          name: mso-jboss-config
          subPath: standalone-full-ha-mso.xml
        - mountPath: /var/log/onap
          name: mso-logs
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.network.xml
          name: mso-logback
          subPath: logback.network.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.tenant.xml
          name: mso-logback
          subPath: logback.tenant.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.vnf.xml
          name: mso-logback
          subPath: logback.vnf.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.vfc.xml
          name: mso-logback
          subPath: logback.vfc.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-api-handler-infra-config/logback.apihandler-infra.xml
          name: mso-logback
          subPath: logback.apihandler-infra.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-appc-adapter-config/logback.appc.xml
          name: mso-logback
          subPath: logback.appc.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-requests-db-adapter-config/logback.msorequestsdbadapter.xml
          name: mso-logback
          subPath: logback.msorequestsdbadapter.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-asdc-controller-config/logback.asdc.xml
          name: mso-logback
          subPath: logback.asdc.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-sdnc-adapter-config/logback.sdnc.xml
          name: mso-logback
          subPath: logback.sdnc.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-bpmn-config/logback.bpmn.xml
          name: mso-logback
          subPath: logback.bpmn.xml
        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-workflow-message-adapter-config/logback.workflow-message-adapter.xml
          name: mso-logback
          subPath: logback.workflow-message-adapter.xml
        env:
        - name: JBOSS_DEBUG
          value: "false"
        ports:
        - containerPort: 3904
        - containerPort: 3905
        - containerPort: 8080
        - containerPort: 9990
        - containerPort: 8787
        readinessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 10
      - image: {{ .Values.image.filebeat }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: filebeat-onap
        volumeMounts:
        - mountPath: /usr/share/filebeat/filebeat.yml
          name: filebeat-conf
          subPath: filebeat.yml
        - mountPath: /var/log/onap
          name: mso-logs
        - mountPath: /usr/share/filebeat/data
          name: mso-data-filebeat
      volumes:
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: mso-logback
          configMap:
            name: mso-log-configmap
        - name: filebeat-conf
          configMap:
            name: mso-filebeat-configmap
        - name: mso
          configMap:
            name: mso-config-mso-configmap
            items:
            - key: mso-docker.json
              path: mso-docker.json
              mode: 0755
            - key: aai.crt
              path: aai.crt
              mode: 0755
            - key: encryption.key
              path: encryption.key
              mode: 0644
        - name: mso-logs
          emptyDir: {}
        - name: mso-data-filebeat
          emptyDir: {}
        - name: mso-docker-files
          configMap:
            name: mso-docker-file-configmap
            items:
            - key: start-jboss-server.sh
              path: start-jboss-server.sh
              mode: 0755
        - name: mso-jboss-config
          configMap:
            name: mso-jboss-configmap
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
