blob: bab0e0cc8f74ab17092e63a9f2abc15e78746068 [file] [log] [blame]
Sylvain Desbureaux47eb4d22020-12-10 12:15:27 +01001{{/*
Sylvain Desbureaux70070412020-11-09 21:58:48 +01002# Copyright © 2018 Amdocs, AT&T
3# Modifications Copyright © 2018 Bell Canada
Sylvain Desbureaux1e997192021-02-28 14:59:22 +01004# Modifications Copyright © 2020-2021 Orange
Sylvain Desbureaux70070412020-11-09 21:58:48 +01005#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
Sylvain Desbureaux47eb4d22020-12-10 12:15:27 +010017*/}}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010018
19apiVersion: apps/v1
20kind: Deployment
21metadata:
22 name: {{ include "common.fullname" . }}
23 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.name" . }}
26 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
27 release: {{ include "common.release" . }}
28 heritage: {{ .Release.Service }}
29spec:
30 replicas: {{ .Values.replicaCount }}
Rommel Pawar63db7162022-11-16 10:11:24 -080031 strategy:
32 type: {{ .Values.updateStrategy.type }}
33 {{- if (eq "RollingUpdate" .Values.updateStrategy.type) }}
34 rollingUpdate:
35 maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
36 maxSurge: {{ .Values.updateStrategy.maxSurge }}
37 {{- end }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010038 selector:
39 matchLabels:
40 app: {{ include "common.name" . }}
41 template:
42 metadata:
43 labels:
44 app: {{ include "common.name" . }}
45 release: {{ include "common.release" . }}
46 name: {{ include "common.name" . }}
47 spec:
48 {{- if .Values.nodeSelector }}
Sylvain Desbureaux1e997192021-02-28 14:59:22 +010049 nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010050 {{- end -}}
51 {{- if .Values.affinity }}
Sylvain Desbureaux1e997192021-02-28 14:59:22 +010052 affinity: {{ toYaml .Values.affinity | nindent 8 }}
53 {{- end }}
54 {{- if .Values.global.aafEnabled }}
55 initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
56 - command:
57 - sh
58 args:
59 - -c
60 - |
61 echo "*** retrieve Truststore and Keystore password"
62 export $(cat {{ .Values.certInitializer.appMountPath }}/local/mycreds.prop | xargs -0)
63 echo "*** obfuscate them "
64 export KEYSTORE_PLAIN_PASSWORD=${KEYSTORE_PLAIN_PASSWORD}
65 export TRUSTSTORE_PLAIN_PASSWORD=${TRUSTSTORE_PLAIN_PASSWORD}
Radoslaw Chmiel88534f12022-02-28 21:33:01 +010066 export JETTY_UTIL_JAR=$(find /usr/local/jetty/lib/ -regextype sed -regex ".*jetty-util-[0-9].*.jar")
67 export KEYSTORE_PASSWORD=`java -cp ${JETTY_UTIL_JAR} org.eclipse.jetty.util.security.Password ${KEYSTORE_PLAIN_PASSWORD} 2>&1 | grep "OBF:"`
68 export TRUSTSTORE_PASSWORD=`java -cp ${JETTY_UTIL_JAR} org.eclipse.jetty.util.security.Password ${TRUSTSTORE_PLAIN_PASSWORD} 2>&1 | grep "OBF:"`
Sylvain Desbureaux1e997192021-02-28 14:59:22 +010069 echo "KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD}" >> {{ .Values.certInitializer.appMountPath }}/local/mycreds.prop
70 echo "TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD}" >> {{ .Values.certInitializer.appMountPath }}/local/mycreds.prop
71 image: {{ include "repositoryGenerator.image.jetty" . }}
72 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
73 name: {{ include "common.name" . }}-obfuscate
74 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
75 securityContext:
76 runAsUser: {{ .Values.securityContext.user_id }}
77 - command:
78 - sh
79 args:
80 - -c
81 - |
82 echo "*** Set obfuscated Truststore and Keystore password into configuration file"
83 export $(cat {{ .Values.certInitializer.appMountPath }}/local/mycreds.prop | xargs -0)
84 cd /config-input
85 for PFILE in `ls -1`
86 do
87 envsubst <${PFILE} >/config/${PFILE}
88 done
89 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
90 - mountPath: /config-input
91 name: prop-config-input
92 - mountPath: /config
93 name: prop-config
94 image: {{ include "repositoryGenerator.image.envsubst" . }}
95 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
96 name: {{ include "common.name" . }}-update-config
Sylvain Desbureaux70070412020-11-09 21:58:48 +010097 {{- end }}
98 containers:
99 - name: {{ include "common.name" . }}
Sylvain Desbureaux5b651322020-12-07 15:34:15 +0100100 image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100101 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
102 env:
103 - name: CONFIG_HOME
104 value: /opt/app/model-loader/config/
david.mcweeneyc87dbc32022-11-23 12:59:04 +0000105 - name: SASL_JAAS_CONFIG
efiacor7373ad22023-01-04 10:56:27 +0000106 valueFrom:
107 secretKeyRef:
108 name: {{ include "common.name" . }}-ku
109 key: sasl.jaas.config
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100110 volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100111 - mountPath: /etc/localtime
112 name: localtime
113 readOnly: true
114 - mountPath: /opt/app/model-loader/config/model-loader.properties
115 subPath: model-loader.properties
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100116 name: prop-config
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100117 - mountPath: /opt/app/model-loader/config/auth/
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100118 name: auth-config
Maciej Wereskid523d122021-09-21 11:22:13 +0200119 - mountPath: {{ .Values.log.path }}
120 name: logs
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100121 - mountPath: /opt/app/model-loader/logback.xml
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100122 name: log-config
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100123 subPath: logback.xml
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100124 resources: {{ include "common.resources" . | nindent 10 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100125 # side car containers
Maciej Wereskid523d122021-09-21 11:22:13 +0200126 {{ include "common.log.sidecar" . | nindent 6 }}
farida azmyd8937332021-03-09 12:20:42 +0200127 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100128 volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100129 - name: localtime
130 hostPath:
131 path: /etc/localtime
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100132 - name: prop-config
othman touijer51176672021-12-01 16:21:18 +0100133 {{- if .Values.global.aafEnabled }}
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100134 emptyDir:
135 medium: Memory
othman touijer51176672021-12-01 16:21:18 +0100136 - name: prop-config-input
137 {{- end }}
138 configMap:
139 name: {{ include "common.fullname" . }}-prop
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100140 - name: auth-config
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100141 secret:
142 secretName: {{ include "common.fullname" . }}
Maciej Wereskid523d122021-09-21 11:22:13 +0200143 - name: logs
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100144 emptyDir: {}
Maciej Wereskid523d122021-09-21 11:22:13 +0200145 {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix .)) | nindent 6 }}
Sylvain Desbureaux1e997192021-02-28 14:59:22 +0100146 - name: log-config
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100147 configMap:
Sylvain Desbureaux5b651322020-12-07 15:34:15 +0100148 name: {{ include "common.fullname" . }}-log
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100149 restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
150 imagePullSecrets:
151 - name: "{{ include "common.namespace" . }}-docker-registry-key"