Merge "[UUI] Service Mesh Compliance for UUI"
[oom.git] / kubernetes / uui / 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: apps/v1
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   selector:
29     matchLabels:
30       app: {{ include "common.name" . }}
31   replicas: {{ .Values.replicaCount }}
32   template:
33     metadata:
34       labels:
35         app: {{ include "common.name" . }}
36         release: {{ include "common.release" . }}
37     spec:
38       {{- if .Values.global.aafEnabled }}
39       initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
40       - command:
41         - sh
42         args:
43         - -c
44         - |
45           export $(cat {{ .Values.certInitializer.credsPath }}/mycreds.prop | xargs -0)
46           cd /config-input && for PFILE in `ls -1`
47           do
48             envsubst <${PFILE} >/config/${PFILE}
49           done
50           cat /config/server.xml
51         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
52         - mountPath: /config-input
53           name: config-input
54         - mountPath: /config
55           name: config
56         image: {{ include "repositoryGenerator.image.envsubst" . }}
57         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
58         name: {{ include "common.name" . }}-update-config
59       {{- end }}
60       containers:
61         - name: {{ include "common.name" . }}
62           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
63           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
64           command:
65             - /bin/bash
66             - -c
67             - |
68               echo "*** /opt"
69               ls -lh /opt/
70               echo "*** /opt/app"
71               ls -lh /opt/app/
72               echo "*** /opt/app/osaaf/"
73               ls -lh /opt/app/osaaf/
74               echo "*** /opt/app/osaaf/local"
75               ls -lh /opt/app/osaaf/local/
76               /home/uui/uuiStartup.sh
77           ports:
78           - containerPort: {{ .Values.service.internalPort }}
79           # disable liveness probe when breakpoints set in debugger
80           # so K8s doesn't restart unresponsive container
81           {{- if eq .Values.liveness.enabled true }}
82           livenessProbe:
83             tcpSocket:
84               port: {{ .Values.service.internalPort }}
85             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
86             periodSeconds: {{ .Values.liveness.periodSeconds }}
87           {{ end -}}
88           readinessProbe:
89             tcpSocket:
90               port: {{ .Values.service.internalPort }}
91             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
92             periodSeconds: {{ .Values.readiness.periodSeconds }}
93           {{- if .Values.global.aafEnabled }}
94           volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
95           - mountPath: /home/uui/server.xml
96             name: config
97             subPath: server.xml
98           {{- end }}
99           env:
100           - name: MSB_ADDR
101             value: {{ tpl .Values.msbaddr . }}
102           resources: {{ include "common.resources" . | nindent 12 }}
103         {{- if .Values.nodeSelector }}
104         nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
105         {{- end }}
106         {{- if .Values.affinity }}
107         affinity: {{ toYaml .Values.affinity | nindent 10 }}
108         {{- end }}
109       {{- if .Values.global.aafEnabled }}
110       volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }}
111       - name: config-input
112         configMap:
113           name: {{ include "common.fullname" . }}
114       - name: config
115         emptyDir:
116           medium: Memory
117       {{- end }}
118       imagePullSecrets:
119       - name: "{{ include "common.namespace" . }}-docker-registry-key"