{{- if .Values.minio.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "minio") }} labels: {{ include "tline.labels" . | indent 4 }} app.kubernetes.io/component: minio spec: type: ClusterIP ports: - name: s3 port: {{ .Values.minio.service.s3Port }} targetPort: s3 - name: console port: {{ .Values.minio.service.consolePort }} targetPort: console selector: {{ include "tline.selectorLabels" . | indent 4 }} app.kubernetes.io/component: minio --- apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "minio") }} labels: {{ include "tline.labels" . | indent 4 }} app.kubernetes.io/component: minio spec: serviceName: {{ include "tline.componentName" (dict "Values" .Values "Chart" .Chart "Release" .Release "component" "minio") }} replicas: 1 selector: matchLabels: {{ include "tline.selectorLabels" . | indent 6 }} app.kubernetes.io/component: minio template: metadata: labels: {{ include "tline.selectorLabels" . | indent 8 }} app.kubernetes.io/component: minio spec: {{ include "tline.imagePullSecrets" . | indent 6 }} {{- $aff := include "tline.affinity" (dict "Values" .Values "schedulingClass" .Values.minio.schedulingClass) }} {{- if $aff }} affinity: {{ $aff | indent 8 }} {{- end }} {{- $tols := include "tline.tolerations" (dict "Values" .Values "schedulingClass" .Values.minio.schedulingClass) }} {{- if $tols }} tolerations: {{ $tols | indent 8 }} {{- end }} containers: - name: minio image: {{ printf "%s:%s" .Values.images.minio.repository .Values.images.minio.tag | quote }} imagePullPolicy: {{ .Values.images.minio.pullPolicy }} args: - server - /data - "--console-address=:{{ .Values.minio.service.consolePort }}" ports: - name: s3 containerPort: 9000 - name: console containerPort: 9001 env: - name: MINIO_ROOT_USER valueFrom: secretKeyRef: name: {{ include "tline.secretName" . }} key: MINIO_ACCESS_KEY_ID - name: MINIO_ROOT_PASSWORD valueFrom: secretKeyRef: name: {{ include "tline.secretName" . }} key: MINIO_SECRET_ACCESS_KEY readinessProbe: httpGet: path: /minio/health/ready port: s3 initialDelaySeconds: 10 periodSeconds: 5 livenessProbe: httpGet: path: /minio/health/live port: s3 initialDelaySeconds: 20 periodSeconds: 10 resources: {{ toYaml .Values.minio.resources | indent 12 }} volumeMounts: - name: data mountPath: /data volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteOnce {{- $sc := include "tline.storageClass" (dict "Values" .Values "storageClass" .Values.minio.storage.storageClass) -}} {{- if $sc }} storageClassName: {{ $sc | quote }} {{- end }} resources: requests: storage: {{ .Values.minio.storage.size | quote }} {{- end }}