blob: 0e37df7ddcbeced2507d600480a86e2215bebca2 [file] [log] [blame]
ac25508ac97172018-04-18 14:23:17 +02001# Copyright © 2017 Amdocs, Bell Canada
Mukul379e2522018-09-05 12:26:02 +00002# Modifications Copyright © 2018 AT&T
ac25508ac97172018-04-18 14:23:17 +02003#
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.
ac25508ac97172018-04-18 14:23:17 +020015
Magdalena_Biernacka7d0dcbe2020-07-12 23:21:43 +020016apiVersion: apps/v1
ac25508ac97172018-04-18 14:23:17 +020017kind: Deployment
18metadata:
19 name: {{ include "common.fullname" . }}
20 namespace: {{ include "common.namespace" . }}
21 labels:
22 app: {{ include "common.name" . }}
23 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010024 release: {{ include "common.release" . }}
ac25508ac97172018-04-18 14:23:17 +020025 heritage: {{ .Release.Service }}
26spec:
27 replicas: {{ .Values.replicaCount }}
Magdalena_Biernacka7d0dcbe2020-07-12 23:21:43 +020028 selector:
29 matchLabels:
30 app: {{ include "common.name" . }}
ac25508ac97172018-04-18 14:23:17 +020031 template:
32 metadata:
33 labels:
34 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010035 release: {{ include "common.release" . }}
ac25508ac97172018-04-18 14:23:17 +020036 spec:
37 initContainers:
38 - command:
39 - /bin/sh
40 - -c
41 - |
42 sysctl -w vm.max_map_count=262144
43 mkdir -p /usr/share/elasticsearch/logs
44 mkdir -p /usr/share/elasticsearch/data
45 chmod -R 777 /usr/share/elasticsearch
46 env:
47 - name: NAMESPACE
48 valueFrom:
49 fieldRef:
50 apiVersion: v1
51 fieldPath: metadata.namespace
52 securityContext:
53 privileged: true
54 image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.busyboxImage }}
55 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
56 name: init-sysctl
57 volumeMounts:
58 - name: {{ include "common.fullname" . }}-logs
59 mountPath: /usr/share/elasticsearch/logs/
60 - name: {{ include "common.fullname" . }}-data
61 mountPath: /usr/share/elasticsearch/data/
osgn422w79814452020-09-25 02:28:02 +020062{{ include "common.certInitializer.initContainer" . | indent 6 }}
ac25508ac97172018-04-18 14:23:17 +020063 containers:
64 - name: {{ include "common.name" . }}
sebdet6336f332019-08-26 07:51:23 -070065 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
ac25508ac97172018-04-18 14:23:17 +020066 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
osgn422w79814452020-09-25 02:28:02 +020067 {{- if .Values.global.aafEnabled }}
68 command:
69 - sh
70 args:
71 - -c
72 - |
73 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_key }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_key }}
74 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_pem }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_pem }}
75 cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.clamp_ca_certs_pem }} /usr/share/elasticsearch/config/{{ .Values.certInitializer.clamp_ca_certs_pem }}
76 /usr/local/bin/docker-entrypoint.sh
77 {{- end }}
ac25508ac97172018-04-18 14:23:17 +020078 ports:
79 - containerPort: {{ .Values.service.internalPort }}
80 name: {{ include "common.servicename" . }}
81 - containerPort: {{ .Values.service.internalPort2 }}
82 name: {{ include "common.servicename" . }}2
83# disable liveness probe when breakpoints set in debugger
84 # so K8s doesn't restart unresponsive container
85 {{- if eq .Values.liveness.enabled true }}
86 livenessProbe:
87 tcpSocket:
88 port: {{ .Values.service.internalPort }}
89 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
90 periodSeconds: {{ .Values.liveness.periodSeconds }}
osgn422wb561a592020-02-11 15:50:21 +010091 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
ac25508ac97172018-04-18 14:23:17 +020092 {{ end -}}
93 readinessProbe:
94 tcpSocket:
95 port: {{ .Values.service.internalPort2 }}
96 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
97 periodSeconds: {{ .Values.readiness.periodSeconds }}
osgn422wb561a592020-02-11 15:50:21 +010098 timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
ac25508ac97172018-04-18 14:23:17 +020099 env:
osgn422w79814452020-09-25 02:28:02 +0200100 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
ac25508ac97172018-04-18 14:23:17 +0200101 - mountPath: /etc/localtime
102 name: localtime
103 readOnly: true
104 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
105 name: {{ include "common.fullname" . }}-config
106 subPath: elasticsearch.yml
107 - mountPath: /usr/share/elasticsearch/data/
108 name: {{ include "common.fullname" . }}-data
109 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +0000110{{ include "common.resources" . | indent 12 }}
ac25508ac97172018-04-18 14:23:17 +0200111 {{- if .Values.nodeSelector }}
112 nodeSelector:
113{{ toYaml .Values.nodeSelector | indent 10 }}
114 {{- end -}}
115 {{- if .Values.affinity }}
116 affinity:
117{{ toYaml .Values.affinity | indent 10 }}
118 {{- end }}
osgn422w79814452020-09-25 02:28:02 +0200119 volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }}
ac25508ac97172018-04-18 14:23:17 +0200120 - name: localtime
121 hostPath:
122 path: /etc/localtime
123 - name: {{ include "common.fullname" . }}-config
124 configMap:
125 name: {{ include "common.fullname" . }}-configmap
126 items:
127 - key: elasticsearch.yml
128 path: elasticsearch.yml
129 - name: {{ include "common.fullname" . }}-data
130 persistentVolumeClaim:
131 claimName: {{ include "common.fullname" . }}
132 - name: {{ include "common.fullname" . }}-logs
133 hostPath:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100134 path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPathLogs }}
ac25508ac97172018-04-18 14:23:17 +0200135 imagePullSecrets:
136 - name: "{{ include "common.namespace" . }}-docker-registry-key"