updating helm/docker files and database config files
[it/otf.git] / otf-helm / otf / charts / databases / mongodb / templates / statefulset-arbiter-rs.yaml
1 {{- if .Values.replicaSet.enabled }}
2 apiVersion: apps/v1
3 kind: StatefulSet
4 metadata:
5   name: {{ template "mongodb.fullname" . }}-arbiter
6   namespace: {{.Values.namespace }}
7   labels:
8     app: {{ template "mongodb.name" . }}
9     chart: {{ template "mongodb.chart" . }}
10     heritage: {{ .Release.Service }}
11     release: {{ .Release.Name }}
12     {{- with .Values.labels }}
13 {{ toYaml . | indent 4 }}
14     {{- end }}
15   {{- with .Values.annotations }}
16   annotations:
17 {{ toYaml . | indent 4 }}
18   {{- end }}
19 spec:
20   selector:
21     matchLabels:
22       app: {{ template "mongodb.name" . }}
23       release: {{ .Release.Name }}
24       component: arbiter
25   serviceName: {{ template "mongodb.fullname" . }}-headless
26   replicas: {{ .Values.replicaSet.replicas.arbiter }}
27   updateStrategy:
28     type: {{ .Values.updateStrategy.type }}
29     {{- if (eq "Recreate" .Values.updateStrategy.type) }}
30     rollingUpdate: null
31     {{- end }}
32   template:
33     metadata:
34       labels:
35         app: {{ template "mongodb.name" . }}
36         chart: {{ template "mongodb.chart" . }}
37         release: {{ .Release.Name }}
38         component: arbiter
39       {{- if .Values.podLabels }}
40 {{ toYaml .Values.podLabels | indent 8 }}
41       {{- end }}
42       {{- if .Values.podAnnotations }}
43       annotations:
44 {{ toYaml .Values.podAnnotations | indent 8 }}
45       {{- end }}
46     spec:
47       {{- if .Values.schedulerName }}
48       schedulerName: "{{ .Values.schedulerName }}"
49       {{- end }}
50       {{- if .Values.priorityClassName }}
51       priorityClassName: {{ .Values.priorityClassName }}
52       {{- end }}
53       {{- if .Values.securityContext.enabled }}
54       securityContext:
55         fsGroup: {{ .Values.securityContext.fsGroup }}
56       {{- end }}
57       {{- if .Values.affinityArbiter }}
58       affinity:
59 {{ toYaml .Values.affinityArbiter | indent 8 }}
60       {{- end -}}
61       {{- if .Values.nodeSelector }}
62       nodeSelector:
63 {{ toYaml .Values.nodeSelector | indent 8 }}
64       {{- end }}
65       {{- if .Values.tolerations }}
66       tolerations:
67 {{ toYaml .Values.tolerations | indent 8 }}
68       {{- end }}
69 {{- include "mongodb.imagePullSecrets" . | indent 6 }}
70       {{- if .Values.extraInitContainers }}
71       initContainers:
72 {{ tpl .Values.extraInitContainers . | indent 6}}
73       {{- end }}
74       containers:
75         - name: {{ template "mongodb.name" . }}-arbiter
76           image: {{ template "mongodb.image" . }}
77           imagePullPolicy: {{ .Values.image.pullPolicy }}
78           {{- if .Values.securityContext.enabled }}
79           securityContext:
80             runAsNonRoot: true
81             runAsUser: {{ .Values.securityContext.runAsUser }}
82           {{- end }}
83           ports:
84           - containerPort: {{ .Values.service.port }}
85             name: mongodb
86           env:
87           {{- if .Values.image.debug}}
88           - name: BITNAMI_DEBUG
89             value: "true"
90           {{- end }}
91           - name: MONGODB_SYSTEM_LOG_VERBOSITY
92             value: {{ .Values.mongodbSystemLogVerbosity | quote }}
93           - name: MONGODB_DISABLE_SYSTEM_LOG
94             {{- if .Values.mongodbDisableSystemLog }}
95             value: "yes"
96             {{- else }}
97             value: "no"
98             {{- end }}
99           - name: MONGODB_POD_NAME
100             valueFrom:
101               fieldRef:
102                 fieldPath: metadata.name
103           - name: MONGODB_REPLICA_SET_MODE
104             value: "arbiter"
105           - name: MONGODB_PRIMARY_HOST
106             value: {{ template "mongodb.fullname" . }}
107           - name: MONGODB_REPLICA_SET_NAME
108             value: {{ .Values.replicaSet.name | quote }}
109             {{- if .Values.replicaSet.useHostnames }}
110           - name: MONGODB_ADVERTISED_HOSTNAME
111             value: "$(MONGODB_POD_NAME).{{ template "mongodb.fullname" . }}-headless.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}"
112             {{- end }}
113             {{- if .Values.usePassword }}
114           - name: MONGODB_PRIMARY_ROOT_PASSWORD
115             valueFrom:
116               secretKeyRef:
117                 name: {{ if .Values.existingSecret }}{{ .Values.existingSecret }}{{- else }}{{ template "mongodb.fullname" . }}{{- end }}
118                 key: mongodb-root-password
119           - name: MONGODB_REPLICA_SET_KEY
120             valueFrom:
121               secretKeyRef:
122                 name: {{ if .Values.existingSecret }}{{ .Values.existingSecret }}{{- else }}{{ template "mongodb.fullname" . }}{{- end }}
123                 key: mongodb-replica-set-key
124             {{- end }}
125           - name: MONGODB_ENABLE_IPV6
126           {{- if .Values.mongodbEnableIPv6 }}
127             value: "yes"
128           {{- else }}
129             value: "no"
130           {{- end }}
131           - name: MONGODB_ENABLE_DIRECTORY_PER_DB
132           {{- if .Values.mongodbDirectoryPerDB }}
133             value: "yes"
134           {{- else }}
135             value: "no"
136           {{- end }}
137           {{- if .Values.mongodbExtraFlags }}
138           - name: MONGODB_EXTRA_FLAGS
139             value: {{ .Values.mongodbExtraFlags | join " " | quote }}
140           {{- end }}
141           {{- if .Values.extraEnvVars }}
142           {{- include "mongodb.tplValue" ( dict "value" .Values.extraEnvVars "context" $ ) | nindent 10 }}
143           {{- end }}
144           {{- if .Values.livenessProbe.enabled }}
145           livenessProbe:
146             tcpSocket:
147               port: mongodb
148             initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
149             periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
150             timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
151             successThreshold: {{ .Values.livenessProbe.successThreshold }}
152             failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
153           {{- end }}
154           {{- if .Values.readinessProbe.enabled }}
155           readinessProbe:
156             tcpSocket:
157               port: mongodb
158             initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
159             periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
160             timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
161             successThreshold: {{ .Values.readinessProbe.successThreshold }}
162             failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
163           {{- end }}
164           volumeMounts:
165           {{- if .Values.configmap }}
166             - name: config
167               mountPath: /opt/bitnami/mongodb/conf/mongodb.conf
168               subPath: mongodb.conf
169           {{- end }}
170           resources:
171 {{ toYaml .Values.resourcesArbiter | indent 12 }}
172 {{- if .Values.extraVolumeMountsArbiter }}
173           volumeMounts:
174 {{ toYaml .Values.extraVolumeMountsArbiter | indent 12}}
175 {{- end }}
176 {{- if .Values.sidecarsArbiter }}
177 {{ toYaml .Values.sidecarsArbiter | indent 8 }}
178 {{- end }}
179       volumes:
180       {{- if .Values.configmap }}
181         - name: config
182           configMap:
183             name: {{ template "mongodb.fullname" . }}
184       {{- end }}
185       {{- if .Values.extraVolumesArbiter }}
186 {{ toYaml .Values.extraVolumesArbiter | indent 8 }}
187       {{- end }}
188 {{- end }}