blob: d7aa77cd010c70f27a01549edf2fe65c6bd343f1 [file] [log] [blame]
Jakub Latusekfcf67842020-10-21 13:36:29 +02001{{/*
ac25508ac97172018-04-18 14:23:17 +02002# Copyright © 2017 Amdocs, Bell Canada
Mukul379e2522018-09-05 12:26:02 +00003# Modifications Copyright © 2018 AT&T
ac25508ac97172018-04-18 14:23:17 +02004#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
Jakub Latusekfcf67842020-10-21 13:36:29 +020016*/}}
ac25508ac97172018-04-18 14:23:17 +020017
Magdalena_Biernacka7d0dcbe2020-07-12 23:21:43 +020018apiVersion: apps/v1
ac25508ac97172018-04-18 14:23:17 +020019kind: Deployment
20metadata:
21 name: {{ include "common.fullname" . }}
22 namespace: {{ include "common.namespace" . }}
23 labels:
24 app: {{ include "common.name" . }}
25 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
ac25508ac97172018-04-18 14:23:17 +020027 heritage: {{ .Release.Service }}
28spec:
29 replicas: {{ .Values.replicaCount }}
Magdalena_Biernacka7d0dcbe2020-07-12 23:21:43 +020030 selector:
31 matchLabels:
32 app: {{ include "common.name" . }}
ac25508ac97172018-04-18 14:23:17 +020033 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010037 release: {{ include "common.release" . }}
ac25508ac97172018-04-18 14:23:17 +020038 spec:
39 initContainers:
40 - command:
41 - /bin/sh
42 - -c
43 - |
44 sysctl -w vm.max_map_count=262144
45 mkdir -p /usr/share/elasticsearch/logs
46 mkdir -p /usr/share/elasticsearch/data
47 chmod -R 777 /usr/share/elasticsearch
48 env:
49 - name: NAMESPACE
50 valueFrom:
51 fieldRef:
52 apiVersion: v1
53 fieldPath: metadata.namespace
54 securityContext:
55 privileged: true
Sylvain Desbureauxf83984f2020-11-21 21:32:40 +010056 image: {{ include "repositoryGenerator.image.busybox" . }}
ac25508ac97172018-04-18 14:23:17 +020057 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
58 name: init-sysctl
59 volumeMounts:
60 - name: {{ include "common.fullname" . }}-logs
61 mountPath: /usr/share/elasticsearch/logs/
62 - name: {{ include "common.fullname" . }}-data
63 mountPath: /usr/share/elasticsearch/data/
osgn422w79814452020-09-25 02:28:02 +020064{{ include "common.certInitializer.initContainer" . | indent 6 }}
ac25508ac97172018-04-18 14:23:17 +020065 containers:
66 - name: {{ include "common.name" . }}
Sylvain Desbureauxf83984f2020-11-21 21:32:40 +010067 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
ac25508ac97172018-04-18 14:23:17 +020068 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
osgn422w79814452020-09-25 02:28:02 +020069 {{- if .Values.global.aafEnabled }}
70 command:
71 - sh
72 args:
73 - -c
74 - |
75 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_key }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_key }}
76 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_pem }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_pem }}
77 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_ca_certs_pem }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_ca_certs_pem }}
78 /usr/local/bin/docker-entrypoint.sh
79 {{- end }}
ac25508ac97172018-04-18 14:23:17 +020080 ports:
81 - containerPort: {{ .Values.service.internalPort }}
82 name: {{ include "common.servicename" . }}
83 - containerPort: {{ .Values.service.internalPort2 }}
84 name: {{ include "common.servicename" . }}2
85# disable liveness probe when breakpoints set in debugger
86 # so K8s doesn't restart unresponsive container
87 {{- if eq .Values.liveness.enabled true }}
88 livenessProbe:
89 tcpSocket:
90 port: {{ .Values.service.internalPort }}
91 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
92 periodSeconds: {{ .Values.liveness.periodSeconds }}
osgn422wb561a592020-02-11 15:50:21 +010093 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
ac25508ac97172018-04-18 14:23:17 +020094 {{ end -}}
95 readinessProbe:
96 tcpSocket:
97 port: {{ .Values.service.internalPort2 }}
98 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
99 periodSeconds: {{ .Values.readiness.periodSeconds }}
osgn422wb561a592020-02-11 15:50:21 +0100100 timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
ac25508ac97172018-04-18 14:23:17 +0200101 env:
osgn422w79814452020-09-25 02:28:02 +0200102 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
ac25508ac97172018-04-18 14:23:17 +0200103 - mountPath: /etc/localtime
104 name: localtime
105 readOnly: true
106 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
107 name: {{ include "common.fullname" . }}-config
108 subPath: elasticsearch.yml
109 - mountPath: /usr/share/elasticsearch/data/
110 name: {{ include "common.fullname" . }}-data
111 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +0000112{{ include "common.resources" . | indent 12 }}
ac25508ac97172018-04-18 14:23:17 +0200113 {{- if .Values.nodeSelector }}
114 nodeSelector:
115{{ toYaml .Values.nodeSelector | indent 10 }}
116 {{- end -}}
117 {{- if .Values.affinity }}
118 affinity:
119{{ toYaml .Values.affinity | indent 10 }}
120 {{- end }}
osgn422w79814452020-09-25 02:28:02 +0200121 volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }}
ac25508ac97172018-04-18 14:23:17 +0200122 - name: localtime
123 hostPath:
124 path: /etc/localtime
125 - name: {{ include "common.fullname" . }}-config
126 configMap:
127 name: {{ include "common.fullname" . }}-configmap
128 items:
129 - key: elasticsearch.yml
130 path: elasticsearch.yml
131 - name: {{ include "common.fullname" . }}-data
132 persistentVolumeClaim:
133 claimName: {{ include "common.fullname" . }}
134 - name: {{ include "common.fullname" . }}-logs
135 hostPath:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100136 path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPathLogs }}
ac25508ac97172018-04-18 14:23:17 +0200137 imagePullSecrets:
138 - name: "{{ include "common.namespace" . }}-docker-registry-key"