blob: 3e815ca86070e122653ef9ea9a900a8e27dc57ca [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 }}
miroslavmasaryka7ac7f02023-03-01 14:12:26 +010067 resources: {{ include "common.resources" . | nindent 12 }}
BorislavG5f3b6192018-03-25 18:12:38 +030068 ports:
69 - containerPort: {{ .Values.service.internalPort }}
70 name: {{ .Values.service.name }}
BorislavG2cf26842018-04-08 17:50:07 +030071 - containerPort: {{ .Values.service.internalPort2 }}
72 name: {{ .Values.service.name2 }}
BorislavG5f3b6192018-03-25 18:12:38 +030073# disable liveness probe when breakpoints set in debugger
74 # so K8s doesn't restart unresponsive container
75 {{- if eq .Values.liveness.enabled true }}
76 livenessProbe:
77 tcpSocket:
78 port: {{ .Values.service.internalPort }}
79 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
80 periodSeconds: {{ .Values.liveness.periodSeconds }}
81 {{ end -}}
82 readinessProbe:
83 tcpSocket:
BorislavG2cf26842018-04-08 17:50:07 +030084 port: {{ .Values.service.internalPort2 }}
BorislavG5f3b6192018-03-25 18:12:38 +030085 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
86 periodSeconds: {{ .Values.readiness.periodSeconds }}
87 env:
88 volumeMounts:
89 - mountPath: /etc/localtime
90 name: localtime
91 readOnly: true
92 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
93 name: {{ include "common.fullname" . }}-config
94 subPath: elasticsearch.yml
95 - mountPath: /usr/share/elasticsearch/data/
96 name: {{ include "common.fullname" . }}-data
BorislavG5f3b6192018-03-25 18:12:38 +030097 volumes:
98 - name: localtime
99 hostPath:
100 path: /etc/localtime
101 - name: {{ include "common.fullname" . }}-config
102 configMap:
103 name: {{ include "common.fullname" . }}-configmap
104 items:
105 - key: elasticsearch.yml
106 path: elasticsearch.yml
107 - name: {{ include "common.fullname" . }}-data
108 persistentVolumeClaim:
109 claimName: {{ include "common.fullname" . }}
110 - name: {{ include "common.fullname" . }}-logs
111 hostPath:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100112 path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPathLogs }}
BorislavG5f3b6192018-03-25 18:12:38 +0300113 imagePullSecrets:
114 - name: "{{ include "common.namespace" . }}-docker-registry-key"