blob: 5fd34ece79d7f7e11053305d45980b9b28cb60b2 [file] [log] [blame]
Mukul2b4e7532018-08-03 10:41:29 +00001# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Mike Elliott13fed112018-02-28 08:33:33 -050015apiVersion: apps/v1beta1
16kind: StatefulSet
17metadata:
18 name: {{ include "common.fullname" . }}
19 namespace: {{ include "common.namespace" . }}
20 labels:
21 app: {{ include "common.name" . }}
22 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010023 release: {{ include "common.release" . }}
Mike Elliott13fed112018-02-28 08:33:33 -050024 heritage: {{ .Release.Service }}
25spec:
26 serviceName: "{{ .Values.service.name }}-cluster"
27 replicas: {{ .Values.replicaCount }}
28 podManagementPolicy: Parallel
29 template:
30 metadata:
31 labels:
32 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010033 release: {{ include "common.release" . }}
Mike Elliott13fed112018-02-28 08:33:33 -050034 spec:
35 initContainers:
Krzysztof Opasiak967946c2020-02-19 01:44:30 +010036 - command:
37 - sh
38 args:
39 - -c
40 - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; chmod 0755 /config/${PFILE}; done"
41 env:
42 - name: APPC_DB_USER
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +010043 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "appcdb-user-creds" "key" "login") | indent 10 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +010044 - name: APPC_DB_PASSWD
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +010045 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "appcdb-user-creds" "key" "password") | indent 10 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +010046 - name: SDNC_DB_USER
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +010047 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "sdncdb-user-creds" "key" "login") | indent 10 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +010048 - name: SDNC_DB_PASSWD
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +010049 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "sdncdb-user-creds" "key" "password") | indent 10 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +010050 volumeMounts:
51 - mountPath: /config-input/appc-data-properties
52 name: onap-appc-data-properties-input
53 - mountPath: /config-input/appc-svclogic-config
54 name: onap-appc-svclogic-config-input
55 - mountPath: /config-input/sdnc-data-properties
56 name: onap-sdnc-data-properties-input
57 - mountPath: /config-input/sdnc-svclogic-config
58 name: onap-sdnc-svclogic-config-input
59 - mountPath: /config/appc-data-properties
60 name: onap-appc-data-properties
61 - mountPath: /config/appc-svclogic-config
62 name: onap-appc-svclogic-config
63 - mountPath: /config/sdnc-data-properties
64 name: onap-sdnc-data-properties
65 - mountPath: /config/sdnc-svclogic-config
66 name: onap-sdnc-svclogic-config
67 image: "{{ .Values.global.envsubstImage }}"
68 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
69 name: {{ include "common.name" . }}-update-config
70
Taka Cho31eb2452019-06-24 21:10:50 -040071 - name: {{ include "common.name" . }}-readiness
72 command:
Mike Elliott13fed112018-02-28 08:33:33 -050073 - /root/ready.py
74 args:
75 - --container-name
pramod47b1b822018-08-28 15:41:45 +000076 - {{.Values.config.mariadbGaleraContName}}
Mike Elliott13fed112018-02-28 08:33:33 -050077 env:
78 - name: NAMESPACE
79 valueFrom:
80 fieldRef:
81 apiVersion: v1
82 fieldPath: metadata.namespace
83 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
84 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Taka Cho31eb2452019-06-24 21:10:50 -040085 - name: {{ include "common.name" . }}-chown
86 image: "busybox"
87 command: ["sh", "-c", "chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.persistence.mdsalPath }}"]
88 volumeMounts:
89 - mountPath: {{ .Values.persistence.mdsalPath }}
90 name: {{ include "common.fullname" . }}-data
Mike Elliott13fed112018-02-28 08:33:33 -050091 containers:
92 - name: {{ include "common.name" . }}
BorislavGdf11cd52018-05-06 12:55:20 +000093 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
Mike Elliott13fed112018-02-28 08:33:33 -050094 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
95 command:
96 - /opt/appc/bin/startODL.sh
97 ports:
98 - containerPort: {{ .Values.service.internalPort }}
99 - containerPort: {{ .Values.service.externalPort2 }}
100 readinessProbe:
Taka Chocdc42662019-11-08 16:08:38 -0500101 tcpSocket:
102 port: {{ .Values.service.internalPort }}
Mike Elliott13fed112018-02-28 08:33:33 -0500103 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
104 periodSeconds: {{ .Values.readiness.periodSeconds }}
105 env:
106 - name: MYSQL_ROOT_PASSWORD
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +0100107 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 14}}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100108 - name: APPC_DB_USER
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +0100109 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "appcdb-user-creds" "key" "login") | indent 14 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100110 - name: APPC_DB_PASSWD
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +0100111 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "appcdb-user-creds" "key" "password") | indent 14 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100112 - name: SDNC_DB_USER
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +0100113 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "sdncdb-user-creds" "key" "login") | indent 14 }}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100114 - name: SDNC_DB_PASSWD
Krzysztof Opasiakde8ba182020-03-24 03:24:51 +0100115 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "sdncdb-user-creds" "key" "password") | indent 14 }}
Mike Elliott13fed112018-02-28 08:33:33 -0500116 - name: SDNC_CONFIG_DIR
117 value: "{{ .Values.config.configDir }}"
118 - name: APPC_CONFIG_DIR
119 value: "{{ .Values.config.configDir }}"
120 - name: DMAAP_TOPIC_ENV
121 value: "{{ .Values.config.dmaapTopic }}"
Aaron Hay145818b2018-06-05 13:23:50 -0400122 - name: ENABLE_AAF
123 value: "{{ .Values.config.enableAAF }}"
Mike Elliott13fed112018-02-28 08:33:33 -0500124 - name: ENABLE_ODL_CLUSTER
125 value: "{{ .Values.config.enableClustering }}"
126 - name: APPC_REPLICAS
127 value: "{{ .Values.replicaCount }}"
128 volumeMounts:
129 - mountPath: /etc/localtime
130 name: localtime
131 readOnly: true
132 - mountPath: /opt/onap/appc/data/properties/dblib.properties
133 name: onap-appc-data-properties
134 subPath: dblib.properties
135 - mountPath: /opt/onap/appc/data/properties/svclogic.properties
136 name: onap-appc-data-properties
137 subPath: svclogic.properties
138 - mountPath: /opt/onap/appc/data/properties/appc.properties
139 name: onap-appc-data-properties
140 subPath: appc.properties
141 - mountPath: /opt/onap/appc/data/properties/aaiclient.properties
142 name: onap-appc-data-properties
143 subPath: aaiclient.properties
Aaron Hay3395df22018-10-30 18:31:41 -0400144 - mountPath: /opt/onap/appc/data/properties/cadi.properties
145 name: onap-appc-data-properties
146 subPath: cadi.properties
Aaron Hay145818b2018-06-05 13:23:50 -0400147 - mountPath: /opt/onap/appc/data/properties/aaa-app-config.xml
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100148 name: onap-appc-data-properties-input
Aaron Hay145818b2018-06-05 13:23:50 -0400149 subPath: aaa-app-config.xml
Taka Cho870b9432019-08-23 15:14:41 -0400150 - mountPath: /opt/onap/appc/data/properties/bath_config.csv
151 name: onap-appc-data-properties
152 subPath: bath_config.csv
Mike Elliott13fed112018-02-28 08:33:33 -0500153 - mountPath: /opt/onap/appc/svclogic/config/svclogic.properties
154 name: onap-appc-svclogic-config
155 subPath: svclogic.properties
156 - mountPath: /opt/onap/appc/svclogic/bin/showActiveGraphs.sh
157 name: onap-appc-svclogic-bin
158 subPath: showActiveGraphs.sh
159 - mountPath: /opt/onap/appc/bin/startODL.sh
160 name: onap-appc-bin
161 subPath: startODL.sh
162 - mountPath: /opt/onap/appc/bin/installAppcDb.sh
163 name: onap-appc-bin
164 subPath: installAppcDb.sh
Aaron Hay1d464b52018-05-25 14:58:32 -0400165 - mountPath: /opt/onap/appc/bin/health_check.sh
166 name: onap-appc-bin
167 subPath: health_check.sh
Aaron Hay84e2c342018-04-17 12:37:31 -0400168 - mountPath: /opt/onap/ccsdk/data/properties/dblib.properties
Mike Elliott13fed112018-02-28 08:33:33 -0500169 name: onap-sdnc-data-properties
170 subPath: dblib.properties
Aaron Hay84e2c342018-04-17 12:37:31 -0400171 - mountPath: /opt/onap/ccsdk/data/properties/svclogic.properties
Mike Elliott13fed112018-02-28 08:33:33 -0500172 name: onap-sdnc-data-properties
173 subPath: svclogic.properties
Aaron Hay84e2c342018-04-17 12:37:31 -0400174 - mountPath: /opt/onap/ccsdk/data/properties/aaiclient.properties
Mike Elliott13fed112018-02-28 08:33:33 -0500175 name: onap-sdnc-data-properties
176 subPath: aaiclient.properties
Aaron Hay84e2c342018-04-17 12:37:31 -0400177 - mountPath: /opt/onap/ccsdk/svclogic/config/svclogic.properties
Mike Elliott13fed112018-02-28 08:33:33 -0500178 name: onap-sdnc-svclogic-config
179 subPath: svclogic.properties
Aaron Hay84e2c342018-04-17 12:37:31 -0400180 - mountPath: /opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
Mike Elliott13fed112018-02-28 08:33:33 -0500181 name: onap-sdnc-svclogic-bin
182 subPath: showActiveGraphs.sh
Aaron Hay84e2c342018-04-17 12:37:31 -0400183 - mountPath: /opt/onap/ccsdk/bin/installSdncDb.sh
Mike Elliott13fed112018-02-28 08:33:33 -0500184 name: onap-sdnc-bin
185 subPath: installSdncDb.sh
BorislavG3dad2f42018-04-16 10:19:45 +0000186 - mountPath: {{ .Values.persistence.mdsalPath }}
187 name: {{ include "common.fullname" . }}-data
Mike Elliott13fed112018-02-28 08:33:33 -0500188 - mountPath: /var/log/onap
189 name: logs
Taka Choe1e2e1c2019-09-17 13:42:28 -0400190 - mountPath: /opt/onap/appc/data/org.ops4j.pax.logging.cfg
Mike Elliott13fed112018-02-28 08:33:33 -0500191 name: log-config
192 subPath: org.ops4j.pax.logging.cfg
Taka Choc6559a92020-03-31 13:52:56 -0400193 - mountPath: /opt/onap/appc/data/stores/org.onap.appc.p12
194 name: p12-certs
195 subPath: org.onap.appc.p12
196 - mountPath: /opt/onap/appc/data/stores/org.onap.appc.keyfile
197 name: keyfile-certs
198 subPath: org.onap.appc.keyfile
Mike Elliott13fed112018-02-28 08:33:33 -0500199 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +0000200{{ include "common.resources" . | indent 12 }}
GregSulek973bfad2018-09-19 06:48:37 -0400201 {{- if .Values.nodeSelector }}
Mike Elliott13fed112018-02-28 08:33:33 -0500202 nodeSelector:
203{{ toYaml .Values.nodeSelector | indent 10 }}
204 {{- end -}}
205 {{- if .Values.affinity }}
206 affinity:
207{{ toYaml .Values.affinity | indent 10 }}
208 {{- end }}
209
210 # side car containers
211 - name: filebeat-onap
212 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
213 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
214 volumeMounts:
215 - mountPath: /usr/share/filebeat/filebeat.yml
216 name: filebeat-conf
217 subPath: filebeat.yml
218 - mountPath: /var/log/onap
219 name: logs
220 - mountPath: /usr/share/filebeat/data
221 name: data-filebeat
222 volumes:
Taka Choc6559a92020-03-31 13:52:56 -0400223 - name: keyfile-certs
224 secret:
225 secretName: {{ include "common.fullname" . }}-certs
226 - name: p12-certs
227 secret:
228 secretName: {{ include "common.fullname" . }}-certs
Mike Elliott13fed112018-02-28 08:33:33 -0500229 - name: localtime
230 hostPath:
231 path: /etc/localtime
232 - name: filebeat-conf
233 configMap:
234 name: {{ include "common.fullname" . }}-filebeat
235 - name: log-config
236 configMap:
237 name: {{ include "common.fullname" . }}-logging-cfg
238 - name: logs
239 emptyDir: {}
240 - name: data-filebeat
241 emptyDir: {}
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100242 - name: onap-appc-data-properties-input
Mike Elliott13fed112018-02-28 08:33:33 -0500243 configMap:
244 name: {{ include "common.fullname" . }}-onap-appc-data-properties
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100245 - name: onap-appc-svclogic-config-input
Mike Elliott13fed112018-02-28 08:33:33 -0500246 configMap:
247 name: {{ include "common.fullname" . }}-onap-appc-svclogic-config
248 - name: onap-appc-svclogic-bin
249 configMap:
250 name: {{ include "common.fullname" . }}-onap-appc-svclogic-bin
251 defaultMode: 0755
252 - name: onap-appc-bin
253 configMap:
254 name: {{ include "common.fullname" . }}-onap-appc-bin
255 defaultMode: 0755
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100256 - name: onap-sdnc-data-properties-input
Mike Elliott13fed112018-02-28 08:33:33 -0500257 configMap:
258 name: {{ include "common.fullname" . }}-onap-sdnc-data-properties
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100259 - name: onap-sdnc-svclogic-config-input
Mike Elliott13fed112018-02-28 08:33:33 -0500260 configMap:
261 name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
262 - name: onap-sdnc-svclogic-bin
263 configMap:
264 name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-bin
265 defaultMode: 0755
266 - name: onap-sdnc-bin
267 configMap:
268 name: {{ include "common.fullname" . }}-onap-sdnc-bin
269 defaultMode: 0755
Krzysztof Opasiak967946c2020-02-19 01:44:30 +0100270 - name: onap-appc-data-properties
271 emptyDir:
272 medium: Memory
273 - name: onap-appc-svclogic-config
274 emptyDir:
275 medium: Memory
276 - name: onap-sdnc-data-properties
277 emptyDir:
278 medium: Memory
279 - name: onap-sdnc-svclogic-config
280 emptyDir:
281 medium: Memory
BorislavG8b31f6d2018-05-02 14:06:08 +0000282{{ if not .Values.persistence.enabled }}
BorislavG3dad2f42018-04-16 10:19:45 +0000283 - name: {{ include "common.fullname" . }}-data
284 emptyDir: {}
BorislavG8b31f6d2018-05-02 14:06:08 +0000285{{ else }}
BorislavG3dad2f42018-04-16 10:19:45 +0000286 volumeClaimTemplates:
287 - metadata:
288 name: {{ include "common.fullname" . }}-data
289 labels:
290 name: {{ include "common.fullname" . }}
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100291 chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +0100292 release: "{{ include "common.release" . }}"
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100293 heritage: "{{ .Release.Service }}"
BorislavG3dad2f42018-04-16 10:19:45 +0000294 spec:
Sylvain Desbureaux5f46e6e2019-11-29 09:19:40 +0100295 accessModes:
296 - {{ .Values.persistence.accessMode }}
297 storageClassName: {{ include "common.storageClass" . }}
BorislavG3dad2f42018-04-16 10:19:45 +0000298 resources:
299 requests:
300 storage: {{ .Values.persistence.size }}
BorislavG8b31f6d2018-05-02 14:06:08 +0000301{{ end }}