a59732437369e57fdb75b50f3c5697ec16dcc282
[it/dep.git] / smo-install / oran_oom / informationservice / templates / statefulset.yaml
1 ################################################################################
2 #   Copyright (c) 2020 Nordix Foundation.                                      #
3 #                                                                              #
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 ################################################################################
16
17 kind: StatefulSet
18 apiVersion: apps/v1
19 metadata:
20   name: {{ include "common.name.informationservice" . }}
21   namespace: {{ include "common.namespace.nonrtric" . }}
22   generation: 1
23   labels:
24     app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.informationservice" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ .Release.Name }}
27     heritage: {{ .Release.Service }}
28   annotations:
29     deployment.kubernetes.io/revision: '1'
30 spec:
31   serviceName: {{ include "common.name.informationservice" . }}
32   replicas: 1
33   selector:
34     matchLabels:
35       app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.informationservice" . }}
36       release: {{ .Release.Name }}
37   template:
38     metadata:
39       labels:
40         app: {{ include "common.namespace.nonrtric" . }}-{{ include "common.name.informationservice" . }}
41         release: {{ .Release.Name }}
42     spec:
43       hostname: {{ include "common.name.informationservice" . }}
44       containers:
45       - name: {{ include "common.container.informationservice" . }}
46         image: {{ .Values.informationservice.image.registry }}/{{ .Values.informationservice.image.name }}:{{ .Values.informationservice.image.tag }}
47         imagePullPolicy: {{ .Values.informationservice.imagePullPolicy }}
48         ports:
49         - containerPort: {{ .Values.informationservice.service.targetPort1 }}
50           protocol: TCP
51         - containerPort: {{ .Values.informationservice.service.targetPort2 }}
52           protocol: TCP
53         readinessProbe:
54           tcpSocket:
55             port: {{ .Values.informationservice.service.targetPort1 }}
56           initialDelaySeconds: {{ .Values.informationservice.liveness.initialDelaySeconds }}
57           periodSeconds: {{ .Values.informationservice.liveness.periodSeconds }}
58         livenessProbe:
59           httpGet:
60             path: /status
61             port: {{ .Values.informationservice.service.targetPort1 }}
62           initialDelaySeconds: {{ .Values.informationservice.liveness.initialDelaySeconds }}
63           periodSeconds: {{ .Values.informationservice.liveness.periodSeconds }}
64         volumeMounts:
65         - name: {{ include "common.name.informationservice" . }}-information-config
66           mountPath: /opt/app/information-coordinator-service/config
67         - name: {{ include "common.name.informationservice" . }}-vardata
68           mountPath: /var/information-coordinator-service
69       volumes:
70         - name: {{ include "common.name.informationservice" . }}-information-config
71           configMap:
72             name: {{ include "common.name.informationservice" . }}-configmap
73
74   volumeClaimTemplates:
75     - metadata:
76         name: {{ include "common.name.informationservice" . }}-vardata
77       spec:
78         accessModes: [ ReadWriteOnce ]
79         storageClassName: "{{ .Values.informationservice.persistence.storageClassName }}"
80         resources:
81           requests:
82             storage: "{{ .Values.informationservice.persistence.size }}"