blob: 9dd5f20748c31c9a4b453931a75aa9fadfeb5544 [file] [log] [blame]
Fiachra Corcoranbe966552018-08-07 16:58:45 +01001# Copyright © 2017 Amdocs, Bell Canada
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.
efiacor4808baa2019-03-11 23:36:05 +000014apiVersion: apps/v1beta1
15kind: StatefulSet
Fiachra Corcoranbe966552018-08-07 16:58:45 +010016metadata:
17 name: {{ include "common.fullname" . }}
18 namespace: {{ include "common.namespace" . }}
19 labels:
20 app: {{ include "common.name" . }}
21 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
22 release: {{ .Release.Name }}
23 heritage: {{ .Release.Service }}
24spec:
25 replicas: {{ .Values.replicaCount }}
efiacor4808baa2019-03-11 23:36:05 +000026 serviceName: {{ .Values.config.dmaapDrNode.name }}
Fiachra Corcoranbe966552018-08-07 16:58:45 +010027 template:
28 metadata:
29 labels:
30 app: {{ include "common.name" . }}
31 release: {{ .Release.Name }}
32 spec:
Fiachra Corcoranbe966552018-08-07 16:58:45 +010033 initContainers:
34 - name: {{ include "common.name" . }}-readiness
35 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
36 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
37 command:
38 - /root/ready.py
39 args:
40 - --container-name
econwar28266fa2019-03-05 16:39:00 +000041 - dmaap-dr-prov
Fiachra Corcoranbe966552018-08-07 16:58:45 +010042 env:
43 - name: NAMESPACE
44 valueFrom:
45 fieldRef:
46 apiVersion: v1
47 fieldPath: metadata.namespace
efiacore62958b2019-09-27 16:54:36 +010048 {{- if .Values.global.aafEnabled }}
49 - name: {{ include "common.name" . }}-dr-node-aaf-config
50 image: "{{ include "common.repository" . }}/{{ .Values.global.aafAgentImage }}"
51 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
52 volumeMounts:
53 - mountPath: {{ .Values.persistence.aafCredsPath }}
54 name: {{ include "common.fullname" . }}-aaf-props-pvc
55 command: ["bash","-c","exec /opt/app/aaf_config/bin/agent.sh"]
56 env:
57 - name: APP_FQI
58 value: "{{ .Values.aafConfig.fqi }}"
59 - name: aaf_locate_url
60 value: "https://aaf-locate.{{ .Release.Namespace }}:8095"
61 - name: aaf_locator_container
62 value: "{{ .Values.global.aafLocatorContainer }}"
63 - name: aaf_locator_container_ns
64 value: "{{ .Release.Namespace }}"
65 - name: aaf_locator_fqdn
66 value: "{{ .Values.aafConfig.fqdn }}"
67 - name: aaf_locator_public_fqdn
68 value: "{{.Values.aafConfig.publicFqdn}}"
69 - name: aaf_locator_app_ns
70 value: "{{ .Values.global.aafAppNs }}"
71 - name: DEPLOY_FQI
72 value: "{{ .Values.aafConfig.aafDeployFqi }}"
73 - name: DEPLOY_PASSWORD
74 value: "{{ .Values.aafConfig.aafDeployPass }}"
75 - name: cadi_longitude
76 value: "{{ .Values.aafConfig.cadiLongitude }}"
77 - name: cadi_latitude
78 value: "{{ .Values.aafConfig.cadiLatitude }}"
79 {{- end }}
econwar4d9f35f2019-04-16 08:02:13 +000080 - name: {{ include "common.name" . }}-permission-fixer
81 image: "{{ .Values.global.busyBoxRepository }}/{{ .Values.global.busyBoxImage }}"
82 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
83 volumeMounts:
84 - mountPath: {{ .Values.persistence.spoolPath }}
85 name: {{ include "common.fullname" . }}-spool-data-pvc
86 - mountPath: {{ .Values.persistence.eventLogsPath }}
87 name: {{ include "common.fullname" . }}-event-logs-pvc
efiacore62958b2019-09-27 16:54:36 +010088 {{- if .Values.global.aafEnabled }}
89 - mountPath: {{ .Values.persistence.aafCredsPath }}
90 name: {{ include "common.fullname" . }}-aaf-props-pvc
91 {{- end }}
92 command: ["chown","-Rf","1000:1001", "/opt/app/"]
Fiachra Corcoranbe966552018-08-07 16:58:45 +010093 containers:
94 - name: {{ include "common.name" . }}
95 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
96 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
97 ports:
econwar28266fa2019-03-05 16:39:00 +000098 - containerPort: {{.Values.config.dmaapDrNode.externalPort}}
99 - containerPort: {{.Values.config.dmaapDrNode.externalPort2}}
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100100 {{- if eq .Values.liveness.enabled true }}
101 livenessProbe:
102 tcpSocket:
econwar28266fa2019-03-05 16:39:00 +0000103 port: {{.Values.config.dmaapDrNode.internalPort}}
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100104 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
105 periodSeconds: {{ .Values.liveness.periodSeconds }}
106 {{ end -}}
107 readinessProbe:
108 tcpSocket:
econwar28266fa2019-03-05 16:39:00 +0000109 port: {{.Values.config.dmaapDrNode.internalPort}}
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100110 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
111 periodSeconds: {{ .Values.readiness.periodSeconds }}
112 volumeMounts:
efiacore62958b2019-09-27 16:54:36 +0100113 {{- if .Values.global.aafEnabled }}
114 - mountPath: {{ .Values.persistence.aafCredsPath }}
115 name: {{ include "common.fullname" . }}-aaf-props-pvc
116 {{- end }}
efiacor4808baa2019-03-11 23:36:05 +0000117 - mountPath: {{ .Values.persistence.spoolPath }}
118 name: {{ include "common.fullname" . }}-spool-data-pvc
119 - mountPath: {{ .Values.persistence.eventLogsPath }}
120 name: {{ include "common.fullname" . }}-event-logs-pvc
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100121 - mountPath: /etc/localtime
122 name: localtime
123 readOnly: false
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100124 - mountPath: /opt/app/datartr/etc/node.properties
efiacoreabb6522019-04-08 09:46:09 +0000125 name: {{ include "common.fullname" . }}-config
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100126 subPath: node.properties
efiacor7b9a0872019-08-28 21:20:22 +0000127 - mountPath: /opt/app/datartr/etc/logback.xml
128 name: {{ include "common.fullname" . }}-log-conf
129 subPath: logback.xml
130 - mountPath: {{ .Values.global.loggingDirectory }}
131 name: {{ include "common.fullname" . }}-logs
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100132 resources:
efiacore62958b2019-09-27 16:54:36 +0100133{{ include "common.resources" . }}
Fiachra Corcoranbe966552018-08-07 16:58:45 +0100134 {{- if .Values.nodeSelector }}
135 nodeSelector:
136{{ toYaml .Values.nodeSelector | indent 10 }}
137 {{- end -}}
138 {{- if .Values.affinity }}
139 affinity:
140{{ toYaml .Values.affinity | indent 10 }}
efiacore62958b2019-09-27 16:54:36 +0100141 {{- end -}}
142 # Filebeat sidecar container
EmmettCox6065d3e2019-04-12 09:45:30 +0000143 - name: {{ include "common.name" . }}-filebeat-onap
econwar378cf192019-01-08 16:19:59 +0000144 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
145 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
146 volumeMounts:
147 - name: {{ include "common.fullname" . }}-filebeat-conf
148 mountPath: /usr/share/filebeat/filebeat.yml
149 subPath: filebeat.yml
150 - name: {{ include "common.fullname" . }}-data-filebeat
151 mountPath: /usr/share/filebeat/data
efiacor7b9a0872019-08-28 21:20:22 +0000152 - name: {{ include "common.fullname" . }}-logs
econwar378cf192019-01-08 16:19:59 +0000153 mountPath: /var/log/onap/datarouter-node
Sylvain Desbureaux789d79a2018-12-20 11:04:34 +0100154 imagePullSecrets:
155 - name: "{{ include "common.namespace" . }}-docker-registry-key"
efiacor4808baa2019-03-11 23:36:05 +0000156 volumes:
157 - name: localtime
158 hostPath:
159 path: /etc/localtime
efiacoreabb6522019-04-08 09:46:09 +0000160 - name: {{ include "common.fullname" . }}-config
efiacor4808baa2019-03-11 23:36:05 +0000161 configMap:
efiacoreabb6522019-04-08 09:46:09 +0000162 name: {{ include "common.fullname" . }}-configmap
163 items:
164 - key: node.properties
165 path: node.properties
efiacor4808baa2019-03-11 23:36:05 +0000166 - name: {{ include "common.fullname" . }}-log-conf
167 configMap:
168 name: {{ include "common.fullname" . }}-log
169 - name: {{ include "common.fullname" . }}-filebeat-conf
170 configMap:
efiacor7b9a0872019-08-28 21:20:22 +0000171 name: {{ include "common.fullname" . }}-dmaap-dr-node-filebeat-configmap
efiacor4808baa2019-03-11 23:36:05 +0000172 - name: {{ include "common.fullname" . }}-data-filebeat
173 emptyDir: {}
174 - name: {{ include "common.fullname" . }}-event-logs-pvc
175 emptyDir: {}
efiacor7b9a0872019-08-28 21:20:22 +0000176 - name: {{ include "common.fullname" . }}-logs
177 emptyDir: {}
efiacore62958b2019-09-27 16:54:36 +0100178 {{- if .Values.global.aafEnabled }}
179 - name: {{ include "common.fullname" . }}-aaf-props-pvc
180 emptyDir: {}
181 {{- end }}
efiacor4808baa2019-03-11 23:36:05 +0000182 volumeClaimTemplates:
183 - metadata:
184 name: {{ include "common.fullname" . }}-spool-data-pvc
185 labels:
186 name: {{ include "common.fullname" . }}
187 spec:
188 accessModes: [ {{ .Values.persistence.accessMode }} ]
189 storageClassName: {{ include "common.fullname" . }}-spool-data-stcl
190 resources:
191 requests:
192 storage: {{ .Values.persistence.spoolSize }}
193 selector:
194 matchLabels:
195 name: {{ include "common.fullname" . }}-spool-data-pv
196 - metadata:
197 name: {{ include "common.fullname" . }}-event-logs-pvc
198 labels:
199 name: {{ include "common.fullname" . }}
200 spec:
201 accessModes: [ {{ .Values.persistence.accessMode }} ]
202 storageClassName: {{ include "common.fullname" . }}-event-logs-stcl
203 resources:
204 requests:
205 storage: {{ .Values.persistence.eventLogSize }}
206 selector:
207 matchLabels:
208 name: {{ include "common.fullname" . }}-event-logs-pv
efiacore62958b2019-09-27 16:54:36 +0100209{{- if .Values.global.aafEnabled }}
210 - metadata:
211 name: {{ include "common.fullname" . }}-aaf-props-pvc
212 labels:
213 name: {{ include "common.fullname" . }}
214 spec:
215 accessModes: [ {{ .Values.persistence.accessMode }} ]
216 storageClassName: {{ include "common.fullname" . }}-aaf-props-stcl
217 resources:
218 requests:
219 storage: {{ .Values.persistence.aafCredsSize }}
220 selector:
221 matchLabels:
222 name: {{ include "common.fullname" . }}-aaf-props-pv
223{{- end }}