# 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.disableSdcSdcKb }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: sdc-kb
  name: sdc-kb
  namespace: "{{ .Values.nsPrefix }}"
spec:
  selector:
    matchLabels:
      app: sdc-kb
  template:
    metadata:
      labels:
        app: sdc-kb
      name: sdc-kb
    spec:
      initContainers:
      - command:
        - /root/ready.py
        args:
        - --container-name
        - sdc-es
        - --container-name
        - sdc-cs
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ .Values.image.readiness }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: sdc-kb-readiness
      containers:
      - env:
        - name: ENVNAME
          value: AUTO
        - name: ELASTICSEARCH_URL
          value: http://sdc-es:9200
        image: {{ .Values.image.sdcKibana }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: sdc-kb
        volumeMounts:
        - mountPath: /root/chef-solo/environments/
          name: sdc-environments
        - mountPath: /etc/localtime
          name: sdc-localtime
          readOnly: true
        - mountPath: /var/lib/jetty/logs
          name: sdc-logs
        ports:
        - containerPort: 5601
        readinessProbe:
          tcpSocket:
            port: 5601
          initialDelaySeconds: 5
          periodSeconds: 10
      volumes:
        - name: sdc-environments
          configMap:
            name: sdc-environments-configmap
            defaultMode: 0755
        - name: sdc-localtime
          hostPath:
            path:  /etc/localtime
        - name:  sdc-logs
          hostPath:
            path:  {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdc/logs
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
