# 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.disableSdncSdncPortal }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: sdnc-portal
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.portalReplicas }}
  selector:
    matchLabels:
      app: sdnc-portal
  template:
    metadata:
      labels:
        app: sdnc-portal
      name: sdnc-portal
    spec:
      initContainers:
      - command:
        - /root/ready.py
        args:
        - --container-name
        - sdnc-db-container
        - --container-name
        - sdnc-controller-container
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ .Values.image.readiness }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: sdnc-portal-readiness
      containers:
      - command:
        - /bin/bash
        - -c
        - cd /opt/onap/sdnc/admportal/shell && ./start_portal.sh
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: openECOMP1.0
        - name: SDNC_CONFIG_DIR
          value: /opt/onap/sdnc/data/properties
        image: {{ .Values.image.admportalSdnc }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: sdnc-portal-container
        ports:
        - containerPort: 8843
        volumeMounts:
        - name: localtime
          mountPath: /etc/localtime
          readOnly: true
        - mountPath: /opt/onap/sdnc/data/properties/
          name: sdnc-conf
        readinessProbe:
          tcpSocket:
            port: 8843
          initialDelaySeconds: 5
          periodSeconds: 10
      restartPolicy: Always
      volumes:
      - name: localtime
        hostPath:
          path: /etc/localtime
      - name: sdnc-conf
        configMap:
          name: sdnc-conf-configmap
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
