blob: 578a5cd7232aec2d961472d022a83293928292f2 [file] [log] [blame]
Jakub Latusek2bd138d2020-10-21 13:36:29 +02001{{/*
Geora Barskya3f067c2018-07-19 16:46:37 -04002# Copyright © 2017 Amdocs, Bell Canada
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
Jakub Latusek2bd138d2020-10-21 13:36:29 +020015*/}}
Geora Barskya3f067c2018-07-19 16:46:37 -040016
17apiVersion: extensions/v1beta1
18kind: Deployment
19metadata:
20 name: {{ include "common.fullname" . }}
21 namespace: {{ include "common.namespace" . }}
22 labels:
23 app: {{ include "common.name" . }}
24 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010025 release: {{ include "common.release" . }}
Geora Barskya3f067c2018-07-19 16:46:37 -040026 heritage: {{ .Release.Service }}
27spec:
28 replicas: {{ .Values.replicaCount }}
29 template:
30 metadata:
31 labels:
32 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010033 release: {{ include "common.release" . }}
Geora Barskya3f067c2018-07-19 16:46:37 -040034 spec:
35 initContainers:
36 - command:
37 - /bin/sh
38 - -c
39 - |
40 sysctl -w vm.max_map_count=262144
41 mkdir -p /logroot/elasticsearch/logs
42 mkdir -p /logroot/elasticsearch/data
43 chmod -R 777 /logroot/elasticsearch
44 chown -R root:root /logroot
45 env:
46 - name: NAMESPACE
47 valueFrom:
48 fieldRef:
49 apiVersion: v1
50 fieldPath: metadata.namespace
51 securityContext:
52 privileged: true
Sylvain Desbureaux93ed0752020-11-21 21:22:18 +010053 image: {{ include "repositoryGenerator.image.busybox" . }}
Geora Barskya3f067c2018-07-19 16:46:37 -040054 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
55 name: init-sysctl
56 volumeMounts:
57 - name: {{ include "common.fullname" . }}-logs
58 mountPath: /logroot/
59 containers:
60 - name: {{ include "common.name" . }}
Sylvain Desbureaux93ed0752020-11-21 21:22:18 +010061 image: {{ include "repositoryGenerator.elasticRepository" . }}/{{ .Values.image }}
Geora Barskya3f067c2018-07-19 16:46:37 -040062 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
63 ports:
64 - containerPort: {{ .Values.service.internalPort }}
65 name: {{ .Values.service.name }}
66 - containerPort: {{ .Values.service.internalPort2 }}
67 name: {{ .Values.service.name2 }}
68# disable liveness probe when breakpoints set in debugger
69 # so K8s doesn't restart unresponsive container
70 {{- if eq .Values.liveness.enabled true }}
71 livenessProbe:
72 tcpSocket:
73 port: {{ .Values.service.internalPort }}
74 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
75 periodSeconds: {{ .Values.liveness.periodSeconds }}
76 {{ end -}}
77 readinessProbe:
78 tcpSocket:
79 port: {{ .Values.service.internalPort2 }}
80 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
81 periodSeconds: {{ .Values.readiness.periodSeconds }}
82 env:
83 volumeMounts:
84 - mountPath: /etc/localtime
85 name: localtime
86 readOnly: true
87 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
88 name: {{ include "common.fullname" . }}-config
89 subPath: elasticsearch.yml
90 - mountPath: /usr/share/elasticsearch/data/
91 name: {{ include "common.fullname" . }}-data
92 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000093{{ include "common.resources" . | indent 12 }}
Geora Barskya3f067c2018-07-19 16:46:37 -040094 {{- if .Values.nodeSelector }}
95 nodeSelector:
96{{ toYaml .Values.nodeSelector | indent 10 }}
97 {{- end -}}
98 {{- if .Values.affinity }}
99 affinity:
100{{ toYaml .Values.affinity | indent 10 }}
101 {{- end }}
102 volumes:
103 - name: localtime
104 hostPath:
105 path: /etc/localtime
106 - name: {{ include "common.fullname" . }}-config
107 configMap:
108 name: {{ include "common.fullname" . }}-configmap
109 items:
110 - key: elasticsearch.yml
111 path: elasticsearch.yml
112 - name: {{ include "common.fullname" . }}-data
Sylvain Desbureaux9deede92019-12-09 11:26:40 +0100113 {{- if .Values.persistence.enabled }}
Geora Barskya3f067c2018-07-19 16:46:37 -0400114 persistentVolumeClaim:
115 claimName: {{ include "common.fullname" . }}
Sylvain Desbureaux9deede92019-12-09 11:26:40 +0100116 {{- else }}
117 emptyDir: {}
118 {{- end }}
Geora Barskya3f067c2018-07-19 16:46:37 -0400119 - name: {{ include "common.fullname" . }}-logs
Sylvain Desbureaux9deede92019-12-09 11:26:40 +0100120 {{- if .Values.persistence.enabled }}
121 persistentVolumeClaim:
122 claimName: {{ include "common.fullname" . }}-logs
123 {{- else }}
124 emptyDir: {}
125 {{- end }}
Geora Barskya3f067c2018-07-19 16:46:37 -0400126 imagePullSecrets:
127 - name: "{{ include "common.namespace" . }}-docker-registry-key"