blob: 108c781f549792d08be4a5f792d05588922cb358 [file] [log] [blame]
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +00001# Copyright © 2017 Amdocs, AT&T, Bell Canada
toshrajbhardwajf4fc1c62018-08-06 07:35:14 +00002# Modifications Copyright © 2018 ZTE
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +00003#
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
16apiVersion: extensions/v1beta1
17kind: Deployment
18metadata:
19 name: {{ include "common.fullname" . }}
20 namespace: {{ include "common.namespace" . }}
21 labels:
22 app: {{ include "common.name" . }}
23 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010024 release: {{ include "common.release" . }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000025 heritage: {{ .Release.Service }}
26spec:
27 replicas: {{ .Values.replicaCount }}
28 template:
29 metadata:
30 labels:
31 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010032 release: {{ include "common.release" . }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000033 spec:
34 initContainers:
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000035 - name: {{ include "common.name" . }}-job-completion
36 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
37 imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
38 command:
39 - /root/job_complete.py
40 args:
41 - --job-name
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010042 - {{ include "common.release" . }}-sdc-onboarding-be-cassandra-init
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000043 env:
44 - name: NAMESPACE
45 valueFrom:
46 fieldRef:
47 apiVersion: v1
48 fieldPath: metadata.namespace
k.kedron2774ab12020-03-26 11:13:46 +010049 - name: {{ include "common.name" . }}-update-config
50 image: "{{ .Values.global.envsubstImage }}"
51 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52 command:
53 - sh
54 args:
55 - -c
56 - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config-output/${PFILE}; chmod 0755 /config-output/${PFILE}; done"
57 env:
58 - name: KEYSTORE_PASS
59 valueFrom:
60 secretKeyRef:
61 name: {{ include "common.release" . }}-sdc-cs-secrets
62 key: keystore_password
63 - name: TRUSTSTORE_PASS
64 valueFrom:
65 secretKeyRef:
66 name: {{ include "common.release" . }}-sdc-cs-secrets
67 key: truststore_password
68 volumeMounts:
69 - name: {{ include "common.fullname" . }}-environments
70 mountPath: /config-input/
71 - name: sdc-environments-output
72 mountPath: /config-output/
MichaelMorris276812c2020-04-28 09:34:17 +010073 - name: volume-permissions
74 image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
75 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
76 command:
77 - /bin/sh
78 - -c
79 - |
80 chown -R {{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.fsGroup }} //onboard/cert
81 securityContext:
82 runAsUser: 0
83 volumeMounts:
84 - name: {{ include "common.fullname" . }}-cert-storage
85 mountPath: "/onboard/cert"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000086 containers:
87 - name: {{ include "common.name" . }}
88 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
89 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
90 ports:
91 - containerPort: {{ .Values.service.internalPort }}
92 - containerPort: {{ .Values.service.internalPort2 }}
93 {{ if eq .Values.liveness.enabled true }}
94 livenessProbe:
amitjaia4cef272019-01-08 15:29:42 +053095 exec:
96 command:
MichaelMorrisb137f7e2020-03-15 17:44:48 +000097 - "/var/lib/jetty/ready-probe.sh"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000098 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
99 periodSeconds: {{ .Values.liveness.periodSeconds }}
Brian Freeman6142d942019-10-02 09:50:19 -0500100 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000101 {{ end }}
102 readinessProbe:
103 exec:
104 command:
MichaelMorrisb137f7e2020-03-15 17:44:48 +0000105 - "/var/lib/jetty/ready-probe.sh"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000106 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
107 periodSeconds: {{ .Values.readiness.periodSeconds }}
Brian Freeman6142d942019-10-02 09:50:19 -0500108 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
Mukula93baa82018-09-19 15:56:58 +0000109 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +0000110{{ include "common.resources" . | indent 12 }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000111 env:
112 - name: ENVNAME
113 value: {{ .Values.global.env.name }}
114 - name: JAVA_OPTIONS
115 value: {{ .Values.config.javaOptions }}
116 - name: SDC_CLUSTER_NAME
117 value: "SDC-CS-{{ .Values.global.env.name }}"
118 - name: cassandra_ssl_enabled
119 value: {{ .Values.config.cassandraSslEnabled | quote }}
120 - name: HOST_IP
121 valueFrom:
122 fieldRef:
123 fieldPath: status.podIP
124 - name: SDC_USER
125 valueFrom:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100126 secretKeyRef: {name: {{ include "common.release" . }}-sdc-cs-secrets, key: sdc_user}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000127 - name: SDC_PASSWORD
128 valueFrom:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100129 secretKeyRef: {name: {{ include "common.release" . }}-sdc-cs-secrets, key: sdc_password}
kooper543d3aa2019-05-02 10:27:15 +0000130 - name: SDC_CERT_DIR
131 value: {{ .Values.cert.certDir }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000132 volumeMounts:
k.kedron2774ab12020-03-26 11:13:46 +0100133 - name: sdc-environments-output
MichaelMorrisb137f7e2020-03-15 17:44:48 +0000134 mountPath: /var/lib/jetty/chef-solo/environments/
k.kedron2774ab12020-03-26 11:13:46 +0100135 - name: sdc-cert
136 mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.p12
137 subPath: org.onap.sdc.p12
138 - name: sdc-cert
139 mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.trust.jks
140 subPath: org.onap.sdc.trust.jks
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000141 - name: {{ include "common.fullname" . }}-localtime
142 mountPath: /etc/localtime
143 readOnly: true
144 - name: {{ include "common.fullname" . }}-logs
145 mountPath: /var/log/onap
146 - name: {{ include "common.fullname" . }}-logback
147 mountPath: /tmp/logback.xml
148 subPath: logback.xml
kooper543d3aa2019-05-02 10:27:15 +0000149 - name: {{ include "common.fullname" . }}-cert-storage
150 mountPath: "{{ .Values.cert.certDir }}"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000151 lifecycle:
152 postStart:
153 exec:
154 command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/onboarding-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000155 # side car containers
156 - name: {{ include "common.name" . }}-filebeat-onap
157 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
158 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
159 volumeMounts:
160 - name: {{ include "common.fullname" . }}-filebeat-conf
161 mountPath: /usr/share/filebeat/filebeat.yml
162 subPath: filebeat.yml
163 - name: {{ include "common.fullname" . }}-logs
164 mountPath: /var/log/onap
165 - name: {{ include "common.fullname" . }}-data-filebeat
166 mountPath: /usr/share/filebeat/data
167 volumes:
168 - name: {{ include "common.fullname" . }}-localtime
169 hostPath:
170 path: /etc/localtime
k.kedron2774ab12020-03-26 11:13:46 +0100171 - name: sdc-cert
172 secret:
173 secretName: sdc-cert
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000174 - name: {{ include "common.fullname" . }}-filebeat-conf
175 configMap:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100176 name: {{ include "common.release" . }}-sdc-filebeat-configmap
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000177 - name: {{ include "common.fullname" . }}-data-filebeat
178 emptyDir: {}
179 - name: {{ include "common.fullname" . }}-logback
180 configMap:
181 name : {{ include "common.fullname" . }}-logging-configmap
182 - name: {{ include "common.fullname" . }}-environments
183 configMap:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100184 name: {{ include "common.release" . }}-sdc-environments-configmap
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000185 defaultMode: 0755
k.kedron2774ab12020-03-26 11:13:46 +0100186 - name: sdc-environments-output
187 emptyDir: { medium: "Memory" }
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000188 - name: {{ include "common.fullname" . }}-logs
189 emptyDir: {}
kooper543d3aa2019-05-02 10:27:15 +0000190 - name: {{ include "common.fullname" . }}-cert-storage
191 persistentVolumeClaim:
192 claimName: {{ include "common.fullname" . }}-cert
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000193 imagePullSecrets:
toshrajbhardwajf4fc1c62018-08-06 07:35:14 +0000194 - name: "{{ include "common.namespace" . }}-docker-registry-key"