[DCAEMOD] Uses new tpls for repos / images
[oom.git] / kubernetes / esr / charts / esr-server / templates / deployment.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Modifications Copyright © 2018 AT&T
4 #
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.
16 */}}
17
18 apiVersion: apps/v1
19 kind: Deployment
20 metadata:
21   name: {{ include "common.fullname" . }}
22   namespace: {{ include "common.namespace" . }}
23   labels:
24     app: {{ include "common.name" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ include "common.release" . }}
27     heritage: {{ .Release.Service }}
28 spec:
29   selector:
30     matchLabels:
31       app: {{ include "common.name" . }}
32   replicas: {{ .Values.replicaCount }}
33   template:
34     metadata:
35       labels:
36         app: {{ include "common.name" . }}
37         release: {{ include "common.release" . }}
38     spec:
39       securityContext:
40         runAsUser: 1000
41         runAsGroup: 1001
42         fsGroup: 1001
43       initContainers:
44       - command:
45         - cp
46         args:
47         - -r
48         - -T
49         - /home/esr/conf
50         - /opt/conf
51         securityContext:
52           privileged: true
53         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
54         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
55         name: create-conf-dir
56         volumeMounts:
57         - name: conf-dir
58           mountPath: /opt/conf
59
60       containers:
61         - name: {{ .Chart.Name }}
62           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
63           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
64           ports:
65           - containerPort: {{ .Values.service.internalPort }}
66           # disable liveness probe when breakpoints set in debugger
67           # so K8s doesn't restart unresponsive container
68           {{- if eq .Values.liveness.enabled true }}
69           livenessProbe:
70             tcpSocket:
71               port: {{ .Values.service.internalPort }}
72             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
73             periodSeconds: {{ .Values.liveness.periodSeconds }}
74           {{ end -}}
75           readinessProbe:
76             tcpSocket:
77               port: {{ .Values.service.internalPort }}
78             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
79             periodSeconds: {{ .Values.readiness.periodSeconds }}
80           env:
81             - name: MSB_ADDR
82               value: {{ tpl .Values.msbaddr . }}
83           volumeMounts:
84           - mountPath: /etc/localtime
85             name: localtime
86             readOnly: true
87           - mountPath: /home/esr/works/logs
88             name: {{ include "common.fullname" . }}-logs
89           - mountPath: /home/esr/conf
90             name: conf-dir
91           resources:
92 {{ include "common.resources" . | indent 12 }}
93         {{- if .Values.nodeSelector }}
94         nodeSelector:
95 {{ toYaml .Values.nodeSelector | indent 10 }}
96         {{- end -}}
97         {{- if .Values.affinity }}
98         affinity:
99 {{ toYaml .Values.affinity | indent 10 }}
100         {{- end }}
101         # Filebeat sidecar container
102         - name: {{ include "common.name" . }}-filebeat-onap
103           securityContext:
104             runAsUser: 1000
105             runAsGroup: 1000
106           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
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: /var/log/onap/esr/esr-server
116           - mountPath: /opt/ajsc/etc/config/logback.xml
117             name: {{ include "common.fullname" . }}-log-conf
118             subPath: logback.xml
119       volumes:
120         - name: localtime
121           hostPath:
122             path: /etc/localtime
123         - name: {{ include "common.fullname" . }}-log-conf
124           configMap:
125             name: {{ include "common.fullname" . }}-log
126         - name: {{ include "common.fullname" . }}-filebeat-conf
127           configMap:
128             name: {{ include "common.fullname" . }}-esr-filebeat-configmap
129         - name: {{ include "common.fullname" . }}-data-filebeat
130           emptyDir: {}
131         - name:  {{ include "common.fullname" . }}-logs
132           emptyDir: {}
133         - name: conf-dir
134           emptyDir: {}
135
136       imagePullSecrets:
137       - name: "{{ include "common.namespace" . }}-docker-registry-key"