prole/deploy/opentofu/k3s/manifests/knoe/garage-statefulset.yaml

79 lines
1.9 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: garage
labels:
app: garage
spec:
serviceName: garage
replicas: 1
selector:
matchLabels:
app: garage
template:
metadata:
labels:
app: garage
spec:
nodeSelector:
kubernetes.io/hostname: myrddin.knoe.org
containers:
- name: garage
image: dxflrs/garage:v1.3.1
imagePullPolicy: IfNotPresent
command:
- /garage
args:
- server
env:
- name: GARAGE_ALLOW_WORLD_READABLE_SECRETS
value: "true"
ports:
- name: s3
containerPort: 3900
- name: rpc
containerPort: 3901
- name: admin
containerPort: 3903
readinessProbe:
tcpSocket:
port: s3
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: s3
initialDelaySeconds: 20
periodSeconds: 20
volumeMounts:
- name: config
mountPath: /etc/garage.toml
subPath: garage.toml
readOnly: true
- name: secrets
mountPath: /var/lib/garage/secrets
readOnly: true
- name: data
mountPath: /var/lib/garage
volumes:
- name: config
configMap:
name: garage-config
- name: secrets
secret:
secretName: garage-secrets
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 29Gi
storageClassName: synology-iscsi
selector:
matchLabels:
synology.storage/role: garage
synology.storage/volume: d001