{{- if .Values.databases.minio.enabled -}}
---
apiVersion: v1
kind: Service
metadata:
name: minio-service
namespace: {{ .Release.Namespace }}
spec:
type: {{ default "ClusterIP" .Values.databases.minio.service.type }}
selector:
app: minio
ports:
- port: 9000
targetPort: 9000
nodePort: {{ default nil .Values.databases.minio.service.dataNodePort }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio-deploy
namespace: {{ .Release.Namespace }}
labels:
app: minio
spec:
replicas: {{ default 1 .Values.globals.replicaCount }}
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
automountServiceAccountToken: false
containers:
- name: minio
image: {{ .Values.databases.minio.image | default (printf "%s/neocopilot/minio:empty-%s" (.Values.globals.imageRegistry | default "hub.oepkgs.net") (.Values.globals.arch | default "x86")) }}
imagePullPolicy: {{ default "IfNotPresent" .Values.globals.imagePullPolicy }}
args:
- "server"
- "/data"
- "--console-address"
- ":9001"
ports:
- containerPort: 9000
protocol: TCP
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
scheme: HTTP
failureThreshold: 5
initialDelaySeconds: 60
periodSeconds: 90
env:
- name: TZ
value: "Asia/Shanghai"
- name: MINIO_ROOT_USER
value: minioadmin
- name: MINIO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: euler-copilot-database
key: minio-password
volumeMounts:
- mountPath: "/data"
name: minio-data
resources:
requests:
cpu: 0.25
memory: 256Mi
limits:
{{ toYaml .Values.databases.minio.resourceLimits | nindent 14 }}
volumes:
- name: minio-data
persistentVolumeClaim:
claimName: minio-storage
{{- end -}}