Skip to content

Commit bdfedd9

Browse files
mitchrossclaude
andcommitted
feat(garage): add StatefulSet with Longhorn PVCs
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent fd69b69 commit bdfedd9

1 file changed

Lines changed: 96 additions & 0 deletions

File tree

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
name: garage
5+
namespace: garage
6+
spec:
7+
serviceName: garage-internal
8+
replicas: 3
9+
selector:
10+
matchLabels:
11+
app: garage
12+
template:
13+
metadata:
14+
labels:
15+
app: garage
16+
spec:
17+
containers:
18+
- name: garage
19+
image: dxflrs/garage:v2.1.0
20+
imagePullPolicy: IfNotPresent
21+
ports:
22+
- name: s3-api
23+
containerPort: 3900
24+
protocol: TCP
25+
- name: rpc
26+
containerPort: 3901
27+
protocol: TCP
28+
- name: s3-web
29+
containerPort: 3902
30+
protocol: TCP
31+
- name: admin-api
32+
containerPort: 3903
33+
protocol: TCP
34+
env:
35+
- name: POD_IP
36+
valueFrom:
37+
fieldRef:
38+
fieldPath: status.podIP
39+
volumeMounts:
40+
- name: meta
41+
mountPath: /mnt/meta
42+
- name: data
43+
mountPath: /mnt/data
44+
- name: config
45+
mountPath: /etc/garage.toml
46+
subPath: garage.toml
47+
- name: secrets
48+
mountPath: /etc/garage/secrets
49+
readOnly: true
50+
resources:
51+
requests:
52+
cpu: 500m
53+
memory: 512Mi
54+
limits:
55+
cpu: 2000m
56+
memory: 2Gi
57+
livenessProbe:
58+
httpGet:
59+
path: /health
60+
port: 3903
61+
initialDelaySeconds: 30
62+
periodSeconds: 30
63+
timeoutSeconds: 10
64+
readinessProbe:
65+
httpGet:
66+
path: /health
67+
port: 3903
68+
initialDelaySeconds: 10
69+
periodSeconds: 10
70+
timeoutSeconds: 5
71+
volumes:
72+
- name: config
73+
configMap:
74+
name: garage-config
75+
- name: secrets
76+
secret:
77+
secretName: garage-secrets
78+
volumeClaimTemplates:
79+
- metadata:
80+
name: meta
81+
spec:
82+
accessModes:
83+
- ReadWriteOnce
84+
storageClassName: longhorn
85+
resources:
86+
requests:
87+
storage: 3Gi
88+
- metadata:
89+
name: data
90+
spec:
91+
accessModes:
92+
- ReadWriteOnce
93+
storageClassName: longhorn
94+
resources:
95+
requests:
96+
storage: 30Gi

0 commit comments

Comments
 (0)