# 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.disableDcaeKafka }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kafka
  namespace: "{{ .Values.nsPrefix }}"
spec:
  selector:
    matchLabels:
      app: kafka
  template:
    metadata:
      labels:
        app: kafka
      name: kafka
    spec:
      initContainers:
      - command:
        - /root/ready.py
        args:
        - --container-name
        - zookeeper
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ .Values.image.readiness }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: kafka-readiness
      containers:
      - image: {{ .Values.image.kafka }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: kafka
        ports:
        - containerPort: 9092
        readinessProbe:
          tcpSocket:
            port: 9092
          initialDelaySeconds: 5
          periodSeconds: 10
        env:
        - name: KAFKA_ZOOKEEPER_CONNECT
          value: "zookeeper.{{ .Values.nsPrefix }}"
        - name: KAFKA_ADVERTISED_HOST_NAME
          value: "kafka"
        - name: KAFKA_BROKER_ID
          value: "1"
        - name: KAFKA_ADVERTISED_PORT
          value: "9092"
        - name: KAFKA_PORT
          value: "9092"
        volumeMounts:
        - mountPath: /var/run/docker.sock
          name: docker-socket
        - mountPath: /kafka
          name: kafka-data
        - mountPath: /start-kafka.sh
          name: start-kafka
      restartPolicy: Always
      volumes:
      - name: docker-socket
        hostPath:
          path: /var/run/docker.sock
      - name: kafka-data
        hostPath:
          path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/
      - name: start-kafka
        hostPath:
          path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/start-kafka.sh
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
