1 {{- if eq .Values.mode "distributed" }}
2 {{ $nodeCount := .Values.replicas | int }}
3 apiVersion: apps/v1beta1
6 name: {{ template "minio.fullname" . }}
8 app: {{ template "minio.name" . }}
9 chart: {{ template "minio.chart" . }}
10 release: {{ .Release.Name }}
11 heritage: {{ .Release.Service }}
14 type: {{ .Values.StatefulSetUpdate.updateStrategy }}
15 serviceName: {{ template "minio.fullname" . }}
16 replicas: {{ .Values.replicas }}
19 app: {{ template "minio.name" . }}
20 release: {{ .Release.Name }}
23 name: {{ template "minio.fullname" . }}
25 app: {{ template "minio.name" . }}
26 release: {{ .Release.Name }}
27 {{- if .Values.podAnnotations }}
29 {{ toYaml .Values.podAnnotations | indent 8 }}
32 {{- if .Values.priorityClassName }}
33 priorityClassName: "{{ .Values.priorityClassName }}"
36 - name: {{ .Chart.Name }}
37 image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
38 imagePullPolicy: {{ .Values.image.pullPolicy }}
39 {{- if .Values.tls.enabled }}
42 "/usr/bin/docker-entrypoint.sh minio -C {{ .Values.configPath }} server
43 {{- range $i := until $nodeCount }}
44 https://{{ template `minio.fullname` $ }}-{{ $i }}.{{ template `minio.fullname` $ }}.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }}{{ $.Values.mountPath }}
49 "/usr/bin/docker-entrypoint.sh minio -C {{ .Values.configPath }} server
50 {{- range $i := until $nodeCount }}
51 http://{{ template `minio.fullname` $ }}-{{ $i }}.{{ template `minio.fullname` $ }}.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }}{{ $.Values.mountPath }}
56 mountPath: {{ .Values.mountPath }}
57 {{- if and .Values.persistence.enabled .Values.persistence.subPath }}
58 subPath: "{{ .Values.persistence.subPath }}"
60 - name: minio-config-dir
61 mountPath: {{ .Values.configPath }}
62 {{- if .Values.tls.enabled }}
63 - name: cert-secret-volume
64 mountPath: {{ .Values.configPath }}certs
70 - name: MINIO_ACCESS_KEY
73 name: {{ if .Values.existingSecret }}{{ .Values.existingSecret }}{{ else }}{{ template "minio.fullname" . }}{{ end }}
75 - name: MINIO_SECRET_KEY
78 name: {{ if .Values.existingSecret }}{{ .Values.existingSecret }}{{ else }}{{ template "minio.fullname" . }}{{ end }}
80 {{- range $key, $val := .Values.environment }}
82 value: {{ $val | quote }}
86 path: /minio/health/live
88 {{- if .Values.tls.enabled }}
93 initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
94 periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
95 timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
96 successThreshold: {{ .Values.livenessProbe.successThreshold }}
97 failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
99 {{ toYaml .Values.resources | indent 12 }}
100 {{- with .Values.nodeSelector }}
102 {{ toYaml . | indent 8 }}
104 {{- with .Values.affinity }}
106 {{ toYaml . | indent 8 }}
108 {{- with .Values.tolerations }}
110 {{ toYaml . | indent 8 }}
115 secretName: {{ if .Values.existingSecret }}{{ .Values.existingSecret }}{{ else }}{{ template "minio.fullname" . }}{{ end }}
116 - name: minio-config-dir
118 {{- if .Values.tls.enabled }}
119 - name: cert-secret-volume
121 secretName: {{ .Values.tls.certSecret }}
123 - key: {{ .Values.tls.publicCrt }}
125 - key: {{ .Values.tls.privateKey }}
127 - key: {{ .Values.tls.publicCrt }}
130 volumeClaimTemplates:
134 accessModes: [ {{ .Values.persistence.accessMode | quote }} ]
135 {{- if .Values.persistence.storageClass }}
136 storageClassName: {{ .Values.persistence.storageClass }}
140 storage: {{ .Values.persistence.size }}