[DCAEMOD] Uses new tpls for repos / images
[oom.git] / kubernetes / pomba / components / pomba-contextaggregator / templates / deployment.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 #
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.
15 */}}
16
17 apiVersion: extensions/v1beta1
18 kind: Deployment
19 metadata:
20   name: {{ include "common.fullname" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27 spec:
28   replicas: {{ .Values.replicaCount }}
29   template:
30     metadata:
31       labels:
32         app: {{ include "common.name" . }}
33         release: {{ include "common.release" . }}
34     spec:
35       initContainers:
36       - command:
37         - /app/ready.py
38         args:
39         - --container-name
40         - message-router
41         env:
42         - name: NAMESPACE
43           valueFrom:
44             fieldRef:
45               apiVersion: v1
46               fieldPath: metadata.namespace
47         image: {{ include "repositoryGenerator.image.readiness" . }}
48         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
49         name: {{ include "common.name" . }}-readiness
50       containers:
51         - name: {{ include "common.name" . }}
52           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
53           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54           ports:
55           - containerPort: {{ .Values.service.internalPort }}
56           {{- if .Values.liveness.enabled }}
57           # disable liveness probe when breakpoints set in debugger
58           # so K8s doesn't restart unresponsive container
59           livenessProbe:
60             tcpSocket:
61               port: {{ .Values.service.internalPort }}
62             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
63             periodSeconds: {{ .Values.liveness.periodSeconds }}
64           {{- end }}
65           {{- if .Values.readiness.enabled }}
66           readinessProbe:
67             tcpSocket:
68               port: {{ .Values.service.internalPort }}
69             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
70             periodSeconds: {{ .Values.readiness.periodSeconds }}
71           {{- end }}
72           volumeMounts:
73           - mountPath: /etc/localtime
74             name: localtime
75             readOnly: true
76           - mountPath: /opt/app/config/application.properties
77             name: {{ include "common.fullname" . }}-config
78             subPath: application.properties
79             readOnly: true
80           - mountPath: /opt/app/config/builders
81             name: {{ include "common.fullname" . }}-config-builders
82             readOnly: true
83           - name: {{ include "common.fullname" . }}-logs
84             mountPath: /opt/app/logs
85             readOnly: false
86           - mountPath: /opt/app/config/logback.xml
87             name: {{ include "common.fullname" . }}-log-conf
88             subPath: logback.xml
89           - name: {{ include "common.fullname" . }}-logs-eelf
90             mountPath: /opt/app/logs/EELF
91             readOnly: false
92
93           resources:
94 {{ include "common.resources" . | indent 12 }}
95         {{- if .Values.nodeSelector }}
96         nodeSelector:
97 {{- toYaml .Values.nodeSelector | indent 10 }}
98         {{- end -}}
99         {{- if .Values.affinity }}
100         affinity:
101 {{- toYaml .Values.affinity | indent 10 }}
102         {{- end }}
103
104         # Filebeat sidecar container
105         - name: {{ include "common.name" . }}-filebeat-onap
106           image: {{ include "repositoryGenerator.image.logging" . }}
107           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
108           volumeMounts:
109           - name: {{ include "common.fullname" . }}-filebeat-conf
110             mountPath: /usr/share/filebeat/filebeat.yml
111             subPath: filebeat.yml
112           - name: {{ include "common.fullname" . }}-data-filebeat
113             mountPath: /usr/share/filebeat/data
114           - name: {{ include "common.fullname" . }}-logs
115             mountPath: /opt/app/logs
116
117       volumes:
118         - name: localtime
119           hostPath:
120             path: /etc/localtime
121         - name: {{ include "common.fullname" . }}-config
122           configMap:
123             name: {{ include "common.fullname" . }}-configmap
124         - name: {{ include "common.fullname" . }}-config-builders
125           configMap:
126             name: {{ include "common.fullname" . }}-configmap-builders
127         - name: {{ include "common.fullname" . }}-filebeat-conf
128           configMap:
129             name: {{ include "common.release" . }}-pomba-filebeat-configmap
130         - name: {{ include "common.fullname" . }}-data-filebeat
131           emptyDir: {}
132         - name:  {{ include "common.fullname" . }}-logs
133           emptyDir: {}
134         - name: {{ include "common.fullname" . }}-log-conf
135           configMap:
136             name: {{ include "common.fullname" . }}-log
137         - name:  {{ include "common.fullname" . }}-logs-eelf
138           emptyDir: {}
139       imagePullSecrets:
140       - name: "{{ include "common.namespace" . }}-docker-registry-key"