blob: b778af85645a2aadda8a873690d83818fa3b9c06 [file] [log] [blame]
Jakub Latusekc586acb2020-10-21 13:36:29 +02001{{/*
BorislavG5f3b6192018-03-25 18:12:38 +03002# Copyright © 2017 Amdocs, Bell Canada
Mukul7de56c82018-09-04 08:03:27 +00003# Modifications Copyright © 2018 AT&T
BorislavG5f3b6192018-03-25 18:12:38 +03004#
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 Latusekc586acb2020-10-21 13:36:29 +020016*/}}
BorislavG5f3b6192018-03-25 18:12:38 +030017
Sylvain Desbureaux9a994242020-11-21 22:25:10 +010018apiVersion: apps/v1
BorislavG5f3b6192018-03-25 18:12:38 +030019kind: 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" . }}
BorislavG5f3b6192018-03-25 18:12:38 +030027 heritage: {{ .Release.Service }}
28spec:
Grzegorz-Lis7c712862020-11-26 10:05:39 +000029 selector:
30 matchLabels:
31 app: {{ include "common.name" . }}
BorislavG5f3b6192018-03-25 18:12:38 +030032 replicas: {{ .Values.replicaCount }}
33 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010037 release: {{ include "common.release" . }}
BorislavG5f3b6192018-03-25 18:12:38 +030038 spec:
39 initContainers:
40 - command:
41 - /bin/sh
42 - -c
43 - |
44 sysctl -w vm.max_map_count=262144
45 mkdir -p /logroot/elasticsearch/logs
46 mkdir -p /logroot/elasticsearch/data
47 chmod -R 777 /logroot/elasticsearch
48 chown -R root:root /logroot
49 env:
50 - name: NAMESPACE
51 valueFrom:
52 fieldRef:
53 apiVersion: v1
54 fieldPath: metadata.namespace
55 securityContext:
56 privileged: true
Sylvain Desbureaux9a994242020-11-21 22:25:10 +010057 image: {{ include "repositoryGenerator.image.busybox" . }}
BorislavG5f3b6192018-03-25 18:12:38 +030058 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
59 name: init-sysctl
60 volumeMounts:
61 - name: {{ include "common.fullname" . }}-logs
62 mountPath: /logroot/
63 containers:
64 - name: {{ include "common.name" . }}
Sylvain Desbureaux9a994242020-11-21 22:25:10 +010065 image: {{ include "repositoryGenerator.elasticRepository" . }}/{{ .Values.image }}
BorislavG5f3b6192018-03-25 18:12:38 +030066 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
vaibhavjayas659fbae2018-09-19 08:58:10 +000067 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000068{{ include "common.resources" . | indent 12 }}
BorislavG5f3b6192018-03-25 18:12:38 +030069 ports:
70 - containerPort: {{ .Values.service.internalPort }}
71 name: {{ .Values.service.name }}
BorislavG2cf26842018-04-08 17:50:07 +030072 - containerPort: {{ .Values.service.internalPort2 }}
73 name: {{ .Values.service.name2 }}
BorislavG5f3b6192018-03-25 18:12:38 +030074# disable liveness probe when breakpoints set in debugger
75 # so K8s doesn't restart unresponsive container
76 {{- if eq .Values.liveness.enabled true }}
77 livenessProbe:
78 tcpSocket:
79 port: {{ .Values.service.internalPort }}
80 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
81 periodSeconds: {{ .Values.liveness.periodSeconds }}
82 {{ end -}}
83 readinessProbe:
84 tcpSocket:
BorislavG2cf26842018-04-08 17:50:07 +030085 port: {{ .Values.service.internalPort2 }}
BorislavG5f3b6192018-03-25 18:12:38 +030086 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
87 periodSeconds: {{ .Values.readiness.periodSeconds }}
88 env:
89 volumeMounts:
90 - mountPath: /etc/localtime
91 name: localtime
92 readOnly: true
93 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
94 name: {{ include "common.fullname" . }}-config
95 subPath: elasticsearch.yml
96 - mountPath: /usr/share/elasticsearch/data/
97 name: {{ include "common.fullname" . }}-data
BorislavG5f3b6192018-03-25 18:12:38 +030098 volumes:
99 - name: localtime
100 hostPath:
101 path: /etc/localtime
102 - name: {{ include "common.fullname" . }}-config
103 configMap:
104 name: {{ include "common.fullname" . }}-configmap
105 items:
106 - key: elasticsearch.yml
107 path: elasticsearch.yml
108 - name: {{ include "common.fullname" . }}-data
109 persistentVolumeClaim:
110 claimName: {{ include "common.fullname" . }}
111 - name: {{ include "common.fullname" . }}-logs
112 hostPath:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100113 path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPathLogs }}
BorislavG5f3b6192018-03-25 18:12:38 +0300114 imagePullSecrets:
115 - name: "{{ include "common.namespace" . }}-docker-registry-key"