# 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.disableDcaeCdap }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  labels:
    app: cdap1
  name: cdap1
  namespace: "{{ .Values.nsPrefix }}"
spec:
  selector:
    matchLabels:
      app: cdap1
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: cdap1
      name: cdap1
    spec:
      initContainers:
      - command: ["/bin/bash", "-c", "mkdir -p /cdap/{cdap1-opt-tools,cdap1-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3];  do sleep 1; done"]
        name: create-fs
        image: {{ .Values.image.cdapfs }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        volumeMounts:
        - mountPath: /cdap
          name: cdap-root
      hostname: zldcprivatecloudtruecdap01
      containers:
      - image: {{ .Values.image.cdap }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        command: ["/bin/bash"]
        args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
        name: cdap1
        ports:
        - containerPort: 8020
          protocol: TCP
        - containerPort: 8025
          protocol: TCP
        - containerPort: 50070
          protocol: TCP
        - containerPort: 50075
          protocol: TCP
        - containerPort: 50010
          protocol: TCP
        - containerPort: 50020
          protocol: TCP
        - containerPort: 3888
          protocol: TCP
        - containerPort: 2888
          protocol: TCP
        - containerPort: 2181
          protocol: TCP
        volumeMounts:
        - mountPath: /cdap
          name: cdap-root
        - mountPath: /opt/tools
          name: dcae-cdap1-opt-tools
        - mountPath: /opt/data
          name: dcae-cdap1-opt-data
      volumes:
      - name: cdap-root
        hostPath:
          path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
      - name: dcae-cdap1-opt-tools
        hostPath:
          path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-tools
      - name: dcae-cdap1-opt-data
        hostPath:
          path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-data
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
