Files
sbbb/base/storage/seaweedfs-filer.yaml
Sienna Meridian Satterwhite a086049de6 fix: harden SeaweedFS storage and fix Drive presigned uploads
- SeaweedFS filer: Recreate strategy (prevents LevelDB lock contention),
  60s termination grace period, memory 256Mi→2Gi limit
- SeaweedFS volume: 60s termination grace period, memory 256Mi→1Gi limit
- Drive: add AWS_S3_DOMAIN_REPLACE so presigned upload URLs use
  s3.sunbeam.pt instead of internal cluster DNS
- Drive: relax liveness/readiness probes (failureThreshold 1→3,
  period 1s→10s, timeout 1s→5s) to prevent crash loops under load
2026-03-22 19:48:36 +00:00

95 lines
2.3 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: seaweedfs-filer
namespace: storage
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: seaweedfs-filer
template:
metadata:
labels:
app: seaweedfs-filer
spec:
terminationGracePeriodSeconds: 60
initContainers:
- name: fix-permissions
image: busybox
command: ["sh", "-c", "chmod 777 /data/filer"]
volumeMounts:
- name: filer-data
mountPath: /data/filer
containers:
- name: filer
image: chrislusf/seaweedfs:latest
args:
- filer
- -port=8888
- -s3
- -s3.port=8333
- -s3.config=/etc/seaweedfs/s3.json
- -master=seaweedfs-master.storage.svc.cluster.local:9333
ports:
- name: http
containerPort: 8888
protocol: TCP
- name: s3
containerPort: 8333
protocol: TCP
- name: grpc
containerPort: 18888
protocol: TCP
envFrom:
- secretRef:
name: seaweedfs-s3-credentials
volumeMounts:
- name: config
mountPath: /etc/seaweedfs/filer.toml
subPath: filer.toml
readOnly: true
- name: s3-json-secret
mountPath: /etc/seaweedfs/s3.json
subPath: s3.json
readOnly: true
- name: filer-data
mountPath: /data/filer
resources:
limits:
memory: 2Gi
requests:
memory: 512Mi
cpu: 50m
volumes:
- name: config
configMap:
name: seaweedfs-filer-config
- name: s3-json-secret
secret:
secretName: seaweedfs-s3-json
- name: filer-data
persistentVolumeClaim:
claimName: seaweedfs-filer-data
---
apiVersion: v1
kind: Service
metadata:
name: seaweedfs-filer
namespace: storage
spec:
selector:
app: seaweedfs-filer
ports:
- name: http
port: 8888
targetPort: 8888
- name: s3
port: 8333
targetPort: 8333
- name: grpc
port: 18888
targetPort: 18888