2025-07-20 00:29:08 +03:00

118 lines
3.9 KiB
YAML

{{- if .Values.minio.local_setup }}
apiVersion: v1
kind: Service
metadata:
namespace: {{ .Release.Namespace }}
name: {{ .Release.Name }}-minio
labels:
app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-minio
spec:
{{- if not .Values.minio.assign_cluster_ip }}
clusterIP: None
{{- end }}
ports:
- name: minio-api-9000
port: 9000
protocol: TCP
targetPort: 9000
- name: minio-console-9090
port: 9090
protocol: TCP
targetPort: 9090
selector:
app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-minio
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: {{ .Release.Namespace }}
name: {{ .Release.Name }}-minio-wl
spec:
selector:
matchLabels:
app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-minio
serviceName: {{ .Release.Name }}-minio
template:
metadata:
labels:
app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-minio
spec:
containers:
- image: {{ .Values.minio.image }}
imagePullPolicy: {{ .Values.minio.pullPolicy | default "IfNotPresent" }}
name: {{ .Release.Name }}-minio
stdin: true
tty: true
# command:
args:
- server
- /data
- --console-address
- :9090
envFrom:
- secretRef:
name: {{ if not (empty .Values.external_secrets.doc_store_existingSecret) }}{{ .Values.external_secrets.doc_store_existingSecret }}{{ else }}{{ .Release.Name }}-doc-store-secrets{{ end }}
optional: false
volumeMounts:
- mountPath: /data
name: pvc-{{ .Release.Name }}-minio-vol
subPath: ''
serviceAccount: {{ .Release.Name }}-srv-account
serviceAccountName: {{ .Release.Name }}-srv-account
volumeClaimTemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
namespace: {{ .Release.Namespace }}
name: pvc-{{ .Release.Name }}-minio-vol
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.minio.volumeSize | default "1Gi" | quote }}
storageClassName: {{ .Values.minio.storageClass }}
volumeMode: Filesystem
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: {{ .Release.Namespace }}
name: {{ .Release.Name }}-minio-bucket-{{ .Release.Revision }}
spec:
backoffLimit: 6
completionMode: NonIndexed
template:
metadata:
namespace: {{ .Release.Namespace }}
spec:
restartPolicy: OnFailure
initContainers:
- name: init
image: busybox
command: ['sh', '-c', "until nslookup {{ .Release.Name }}-minio.{{ .Release.Namespace }}.svc.{{ .Values.env.default_cluster_domain | default "cluster.local" }}; do echo waiting for {{ .Release.Name }}-minio; sleep 2; done"]
containers:
- command:
- /bin/sh
args:
- '-c'
- >-
/usr/bin/mc config host add plane-app-minio
http://{{ .Release.Name }}-minio.{{ .Release.Namespace }}.svc.{{ .Values.env.default_cluster_domain | default "cluster.local" }}:9000 "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY";
/usr/bin/mc mb plane-app-minio/$AWS_S3_BUCKET_NAME;
/usr/bin/mc anonymous set download plane-app-minio/$AWS_S3_BUCKET_NAME; exit 0;
envFrom:
- secretRef:
name: {{ if not (empty .Values.external_secrets.doc_store_existingSecret) }}{{ .Values.external_secrets.doc_store_existingSecret }}{{ else }}{{ .Release.Name }}-doc-store-secrets{{ end }}
optional: false
image: {{ .Values.minio.image_mc }}
imagePullPolicy: {{ .Values.minio.pullPolicy }}
name: {{ .Release.Name }}-minio-bucket
serviceAccount: {{ .Release.Name }}-srv-account
serviceAccountName: {{ .Release.Name }}-srv-account
terminationGracePeriodSeconds: 120
{{- end }}