# 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.disableAaiElasticsearch }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: aai-elasticsearch
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.elasticsearchReplicas }}
  selector:
    matchLabels:
      app: aai-elasticsearch
  template:
    metadata:
      labels:
        app: aai-elasticsearch
      name: aai-elasticsearch
    spec:
      initContainers:
      - command:
        - /bin/sh
        - -c
        - |
          mkdir -p /logroot/elasticsearch/es-data
          chmod -R 777 /logroot/elasticsearch/es-data
          chown -R root:root /logroot
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        securityContext:
          privileged: true
        image: {{ .Values.image.es_bb }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: init-sysctl
        volumeMounts:
        - name: elasticsearch-data
          mountPath: /logroot/
      hostname: aai-elasticsearch
      containers:
      - name: aai-elasticsearch
        image: "{{ .Values.image.elasticsearchImage }}:{{ .Values.image.elasticsearchVersion }}"
        imagePullPolicy: {{ .Values.pullPolicy }}
        ports:
        - containerPort: 9200
        readinessProbe:
          tcpSocket:
            port: 9200
          initialDelaySeconds: 5
          periodSeconds: 10
        volumeMounts:
        - name: localtime
          mountPath: /etc/localtime
          readOnly: true
        - name: elasticsearch-config
          subPath: elasticsearch.yml
          mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
        - name: elasticsearch-data
          mountPath: /usr/share/elasticsearch/data
      volumes:
      - name: localtime
        hostPath:
          path: /etc/localtime
      - name: elasticsearch-config
        configMap:
          name: aai-elasticsearch-configmap
      - name: elasticsearch-data
        hostPath:
          path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/aai/elasticsearch/data
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}

