ntwl/ops/minio.yaml
2025-07-09 01:17:26 +10:00

116 lines
2.4 KiB
YAML
Executable File

# -----------------------------------------------------------------------
# VOLUMES
# -----------------------------------------------------------------------
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: minio-storage
namespace: ops
spec:
storageClassName: zfs-fast
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
---
# -----------------------------------------------------------------------
# DEPLOYMENTS
# -----------------------------------------------------------------------
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: ops
spec:
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: docker.io/minio/minio:latest
command: ['minio']
args: ['server', '/data']
env:
- name: MINIO_PROMETHEUS_AUTH_TYPE
value: public
- name: MINIO_CONSOLE_ADDRESS
value: :9090
- name: MINIO_ROOT_USER
valueFrom:
secretKeyRef:
name: minio
key: MINIO_ROOT_USER
- name: MINIO_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: minio
key: MINIO_ROOT_PASSWORD
resources:
limits:
memory: "1Gi"
ports:
- name: console
containerPort: 9090
protocol: TCP
- name: api
containerPort: 9000
protocol: TCP
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
initialDelaySeconds: 120
periodSeconds: 20
readinessProbe:
httpGet:
path: /minio/health/ready
port: 9000
initialDelaySeconds: 10
periodSeconds: 20
successThreshold: 2
volumeMounts:
- mountPath: /data
name: minio-storage
volumes:
- name: minio-storage
persistentVolumeClaim:
claimName: minio-storage
---
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: ops
labels:
app: minio
spec:
ports:
- name: api
port: 9000
protocol: TCP
targetPort: 9000
- name: console
port: 9090
protocol: TCP
targetPort: 9090
selector:
app: minio