blob: db9876fcb423fe608f89ae7c6545c3a24abfa781 [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
kwasiel59cc6a42020-07-23 10:02:49 +000016apiVersion: apps/v1
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000017kind: 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:
kwasiel59cc6a42020-07-23 10:02:49 +000027 selector:
28 matchLabels:
29 app: {{ include "common.name" . }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000030 replicas: {{ .Values.replicaCount }}
31 template:
32 metadata:
33 labels:
34 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010035 release: {{ include "common.release" . }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000036 spec:
37 initContainers:
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000038 - name: {{ include "common.name" . }}-job-completion
39 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
40 imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
41 command:
42 - /root/job_complete.py
43 args:
44 - --job-name
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010045 - {{ include "common.release" . }}-sdc-onboarding-be-cassandra-init
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000046 env:
47 - name: NAMESPACE
48 valueFrom:
49 fieldRef:
50 apiVersion: v1
51 fieldPath: metadata.namespace
k.kedron2774ab12020-03-26 11:13:46 +010052 - name: {{ include "common.name" . }}-update-config
53 image: "{{ .Values.global.envsubstImage }}"
54 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
55 command:
56 - sh
57 args:
58 - -c
59 - "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"
60 env:
61 - name: KEYSTORE_PASS
62 valueFrom:
63 secretKeyRef:
64 name: {{ include "common.release" . }}-sdc-cs-secrets
65 key: keystore_password
66 - name: TRUSTSTORE_PASS
67 valueFrom:
68 secretKeyRef:
69 name: {{ include "common.release" . }}-sdc-cs-secrets
70 key: truststore_password
71 volumeMounts:
72 - name: {{ include "common.fullname" . }}-environments
73 mountPath: /config-input/
74 - name: sdc-environments-output
75 mountPath: /config-output/
MichaelMorris276812c2020-04-28 09:34:17 +010076 - name: volume-permissions
77 image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
78 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
79 command:
80 - /bin/sh
81 - -c
82 - |
83 chown -R {{ .Values.securityContext.runAsUser }}:{{ .Values.securityContext.fsGroup }} //onboard/cert
84 securityContext:
85 runAsUser: 0
86 volumeMounts:
87 - name: {{ include "common.fullname" . }}-cert-storage
88 mountPath: "/onboard/cert"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +000089 containers:
90 - name: {{ include "common.name" . }}
91 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
92 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
93 ports:
94 - containerPort: {{ .Values.service.internalPort }}
95 - containerPort: {{ .Values.service.internalPort2 }}
96 {{ if eq .Values.liveness.enabled true }}
97 livenessProbe:
amitjaia4cef272019-01-08 15:29:42 +053098 exec:
99 command:
MichaelMorrisb137f7e2020-03-15 17:44:48 +0000100 - "/var/lib/jetty/ready-probe.sh"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000101 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
102 periodSeconds: {{ .Values.liveness.periodSeconds }}
Brian Freeman6142d942019-10-02 09:50:19 -0500103 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000104 {{ end }}
105 readinessProbe:
106 exec:
107 command:
MichaelMorrisb137f7e2020-03-15 17:44:48 +0000108 - "/var/lib/jetty/ready-probe.sh"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000109 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
110 periodSeconds: {{ .Values.readiness.periodSeconds }}
Brian Freeman6142d942019-10-02 09:50:19 -0500111 timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
Mukula93baa82018-09-19 15:56:58 +0000112 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +0000113{{ include "common.resources" . | indent 12 }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000114 env:
115 - name: ENVNAME
116 value: {{ .Values.global.env.name }}
117 - name: JAVA_OPTIONS
118 value: {{ .Values.config.javaOptions }}
119 - name: SDC_CLUSTER_NAME
120 value: "SDC-CS-{{ .Values.global.env.name }}"
121 - name: cassandra_ssl_enabled
122 value: {{ .Values.config.cassandraSslEnabled | quote }}
123 - name: HOST_IP
124 valueFrom:
125 fieldRef:
126 fieldPath: status.podIP
127 - name: SDC_USER
128 valueFrom:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100129 secretKeyRef: {name: {{ include "common.release" . }}-sdc-cs-secrets, key: sdc_user}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000130 - name: SDC_PASSWORD
131 valueFrom:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100132 secretKeyRef: {name: {{ include "common.release" . }}-sdc-cs-secrets, key: sdc_password}
kooper543d3aa2019-05-02 10:27:15 +0000133 - name: SDC_CERT_DIR
134 value: {{ .Values.cert.certDir }}
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000135 volumeMounts:
k.kedron2774ab12020-03-26 11:13:46 +0100136 - name: sdc-environments-output
MichaelMorrisb137f7e2020-03-15 17:44:48 +0000137 mountPath: /var/lib/jetty/chef-solo/environments/
k.kedron2774ab12020-03-26 11:13:46 +0100138 - name: sdc-cert
139 mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.p12
140 subPath: org.onap.sdc.p12
141 - name: sdc-cert
142 mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.trust.jks
143 subPath: org.onap.sdc.trust.jks
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000144 - name: {{ include "common.fullname" . }}-localtime
145 mountPath: /etc/localtime
146 readOnly: true
147 - name: {{ include "common.fullname" . }}-logs
148 mountPath: /var/log/onap
149 - name: {{ include "common.fullname" . }}-logback
150 mountPath: /tmp/logback.xml
151 subPath: logback.xml
kooper543d3aa2019-05-02 10:27:15 +0000152 - name: {{ include "common.fullname" . }}-cert-storage
153 mountPath: "{{ .Values.cert.certDir }}"
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000154 lifecycle:
155 postStart:
156 exec:
157 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 +0000158 # side car containers
159 - name: {{ include "common.name" . }}-filebeat-onap
160 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
161 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
162 volumeMounts:
163 - name: {{ include "common.fullname" . }}-filebeat-conf
164 mountPath: /usr/share/filebeat/filebeat.yml
165 subPath: filebeat.yml
166 - name: {{ include "common.fullname" . }}-logs
167 mountPath: /var/log/onap
168 - name: {{ include "common.fullname" . }}-data-filebeat
169 mountPath: /usr/share/filebeat/data
170 volumes:
171 - name: {{ include "common.fullname" . }}-localtime
172 hostPath:
173 path: /etc/localtime
k.kedron2774ab12020-03-26 11:13:46 +0100174 - name: sdc-cert
175 secret:
176 secretName: sdc-cert
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000177 - name: {{ include "common.fullname" . }}-filebeat-conf
178 configMap:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100179 name: {{ include "common.release" . }}-sdc-filebeat-configmap
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000180 - name: {{ include "common.fullname" . }}-data-filebeat
181 emptyDir: {}
182 - name: {{ include "common.fullname" . }}-logback
183 configMap:
184 name : {{ include "common.fullname" . }}-logging-configmap
185 - name: {{ include "common.fullname" . }}-environments
186 configMap:
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100187 name: {{ include "common.release" . }}-sdc-environments-configmap
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000188 defaultMode: 0755
k.kedron2774ab12020-03-26 11:13:46 +0100189 - name: sdc-environments-output
190 emptyDir: { medium: "Memory" }
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000191 - name: {{ include "common.fullname" . }}-logs
192 emptyDir: {}
kooper543d3aa2019-05-02 10:27:15 +0000193 - name: {{ include "common.fullname" . }}-cert-storage
194 persistentVolumeClaim:
195 claimName: {{ include "common.fullname" . }}-cert
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +0000196 imagePullSecrets:
toshrajbhardwajf4fc1c62018-08-06 07:35:14 +0000197 - name: "{{ include "common.namespace" . }}-docker-registry-key"