blob: 694f501746543fd9880cbf5ac4d23a7fc354a8c4 [file] [log] [blame]
Geora Barskya3f067c2018-07-19 16:46:37 -04001# Copyright © 2017 Amdocs, Bell Canada
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: extensions/v1beta1
16kind: Deployment
17metadata:
18 name: {{ include "common.fullname" . }}
19 namespace: {{ include "common.namespace" . }}
20 labels:
21 app: {{ include "common.name" . }}
22 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23 release: {{ .Release.Name }}
24 heritage: {{ .Release.Service }}
25spec:
26 replicas: {{ .Values.replicaCount }}
27 template:
28 metadata:
29 labels:
30 app: {{ include "common.name" . }}
31 release: {{ .Release.Name }}
32 spec:
33 initContainers:
34 - command:
35 - /root/ready.py
36 args:
37 - --container-name
38 - pomba-elasticsearch
39 env:
40 - name: NAMESPACE
41 valueFrom:
42 fieldRef:
43 apiVersion: v1
44 fieldPath: metadata.namespace
45 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
46 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
47 name: {{ include "common.name" . }}-readiness
48 - args:
49 - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/.kibana
50 - --input=/config/default-mapping.json
51 - --type=mapping
52 env:
53 - name: NAMESPACE
54 valueFrom:
55 fieldRef:
56 apiVersion: v1
57 fieldPath: metadata.namespace
58 image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
59 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
60 name: {{ include "common.name" . }}-config-map
61 volumeMounts:
62 - mountPath: /config/default-mapping.json
63 name: {{ include "common.fullname" . }}
64 subPath: default-mapping.json
65 - args:
66 - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/.kibana
67 - --input=/config/default.json
68 - --type=data
69 env:
70 - name: NAMESPACE
71 valueFrom:
72 fieldRef:
73 apiVersion: v1
74 fieldPath: metadata.namespace
75 image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
76 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
77 name: {{ include "common.name" . }}-config
78 volumeMounts:
79 - mountPath: /config/default.json
80 name: {{ include "common.fullname" . }}
81 subPath: default.json
82 - args:
83 - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/service-validations
84 - --input=/config/validationsDump.json
85 - --type=mapping
86 env:
87 - name: NAMESPACE
88 valueFrom:
89 fieldRef:
90 apiVersion: v1
91 fieldPath: metadata.namespace
92 image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
93 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
94 name: {{ include "common.name" . }}-config-validation
95 volumeMounts:
96 - mountPath: /config/validationsDump.json
97 name: {{ include "common.fullname" . }}
98 subPath: validationsDump.json
99 - args:
100 - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/service-violations
101 - --input=/config/violationsDump.json
102 - --type=mapping
103 env:
104 - name: NAMESPACE
105 valueFrom:
106 fieldRef:
107 apiVersion: v1
108 fieldPath: metadata.namespace
109 image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
110 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
111 name: {{ include "common.name" . }}-config-violation
112 volumeMounts:
113 - mountPath: /config/violationsDump.json
114 name: {{ include "common.fullname" . }}
115 subPath: violationsDump.json
116 containers:
117 - name: {{ include "common.name" . }}
118 image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
119 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
120 ports:
121 - containerPort: {{ .Values.service.internalPort }}
122 name: {{ .Values.service.name }}
123 readinessProbe:
124 httpGet:
125 path: "/"
126 port: {{ .Values.service.internalPort }}
127 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
128 periodSeconds: {{ .Values.readiness.periodSeconds }}
129 timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
130# disable liveness probe when breakpoints set in debugger
131 # so K8s doesn't restart unresponsive container
132 {{- if eq .Values.liveness.enabled true }}
133 livenessProbe:
134 httpGet:
135 path: "/"
136 port: {{ .Values.service.internalPort }}
137 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
138 periodSeconds: {{ .Values.liveness.periodSeconds }}
139 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
140 {{ end -}}
141 env:
142 volumeMounts:
143 - mountPath: /etc/localtime
144 name: localtime
145 readOnly: true
146 - mountPath: /usr/share/kibana/config/
147 name: {{ include "common.fullname" . }}
148 resources:
149{{ toYaml .Values.resources | indent 12 }}
150 {{- if .Values.nodeSelector }}
151 nodeSelector:
152{{ toYaml .Values.nodeSelector | indent 10 }}
153 {{- end -}}
154 {{- if .Values.affinity }}
155 affinity:
156{{ toYaml .Values.affinity | indent 10 }}
157 {{- end }}
158 volumes:
159 - name: localtime
160 hostPath:
161 path: /etc/localtime
162 - name: {{ include "common.fullname" . }}
163 configMap:
164 name: {{ include "common.fullname" . }}
165 items:
166 - key: kibana.yml
167 path: kibana.yml
168 - key: default.json
169 path: default.json
170 - key: validationsDump.json
171 path: validationsDump.json
172 - key: violationsDump.json
173 path: violationsDump.json
174 - key: default-mapping.json
175 path: default-mapping.json
176 imagePullSecrets:
177 - name: "{{ include "common.namespace" . }}-docker-registry-key"