feat(apps): Replace seaweedfs with garage

This commit is contained in:
2026-09-09 01:23:19 +05:30
parent b9e2b6c6e8
commit 026ca9c391
7 changed files with 98 additions and 93 deletions
@@ -1,5 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- httproute-filer.yaml - sealed-secret.yaml
- httproute-master.yaml
+12
View File
@@ -0,0 +1,12 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: garage-secrets
namespace: garage
spec:
encryptedData:
rpcSecret: AgDWvOoSUADQx+cExTUDmk6/BWR8a7U5HRGf+T38P24FrP4DJiKl3GJ3Ce9a3eF7SqO/1TXiaN80+c4NX0dMEmnaS8III2Zbaa7x/rOHP608Vh1z2Nnxly11X10okVy+Qym9O5/oA3cue2bu6K3eG8W38mn3hCA9kWC6g9OiAwjBTxJXYmsUFYbj69Iloo9moBBLEtztu8T9vYu8rGqcchKzzjnvcS91kiduq9rY9/ZvYC4zx469DgnV/di8cjGdU6JAtsoHwggDtCVf2hvkyOIHTyPM9Y/EVGCsOsIzhJnTdsyRGn4su3ruLmS8VqbKC22Q86pSHjwdlD5RoZJjYtMWr5Q5YAvFbnTH9/+d0r363BfxlNsVkINd5d2OwlPpagEQ9pg4oFnnk48tsVEoYz1RCy9x/bK3U4B0Jin6l0T2NJ3umXPriLxBQbODWVA9vcv6G1tQiiuOsbYCWigoxe3ACpuYQDV+XujfmEZr3pcIw0hwKXtUWHI079aUkICcMEbtE3gLc1dNVQpja1SimZOUlqf6pz3YLv6L1e2X+yR93p2rN6hc8IJh3KA8ZR1Ymbbq2LaOwdyla50uuhsOkE2TGDTGmf9NyXjGcUys5LgNpRruzXEm/KgUX4tP7iMjHu5HbnDe9oiv66qfuIORiR2P3lbOdx3s+XmPd/87afw6YHA896ccCRkGpGnFanbrR+Z7MRqCOZsSLnQd1JpjnWJJU/bzrSl4q+PUV1Bt+hvAf8wXUrDtES6MdpOKUe4XW8s3QbVHvCx1iOSzP+r59T4N
template:
metadata:
name: garage-secrets
namespace: garage
-27
View File
@@ -1,27 +0,0 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
annotations:
argocd.argoproj.io/sync-wave: "1"
name: seaweedfs-filer
namespace: seaweedfs
spec:
hostnames:
- seaweedfs.whyredfire.dev
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
sectionName: websecure
rules:
- backendRefs:
- group: ""
kind: Service
name: seaweedfs-all-in-one
port: 8888
weight: 1
matches:
- path:
type: PathPrefix
value: /
-27
View File
@@ -1,27 +0,0 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
annotations:
argocd.argoproj.io/sync-wave: "1"
name: seaweedfs-master
namespace: seaweedfs
spec:
hostnames:
- seaweedfs-master.whyredfire.dev
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
sectionName: websecure
rules:
- backendRefs:
- group: ""
kind: Service
name: seaweedfs-all-in-one
port: 9333
weight: 1
matches:
- path:
type: PathPrefix
value: /
+84
View File
@@ -0,0 +1,84 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
argocd.argoproj.io/sync-wave: "3"
name: garage
namespace: argocd
spec:
destination:
namespace: garage
server: https://kubernetes.default.svc
project: default
sources:
- repoURL: https://git.deuxfleurs.fr/Deuxfleurs/garage.git
targetRevision: v2.4.1
path: script/helm/garage
helm:
values: |
garage:
singleNode: true
existingRpcSecret: garage-secrets
noClusterRole: true
# No discovery or website listener is needed for standalone S3.
garageTomlString: |
metadata_dir = "/mnt/meta"
data_dir = "/mnt/data"
db_engine = "sqlite"
metadata_fsync = true
data_fsync = true
replication_factor = 1
rpc_bind_addr = "127.0.0.1:3901"
rpc_public_addr = "127.0.0.1:3901"
rpc_secret = "__RPC_SECRET_REPLACE__"
[s3_api]
s3_region = "garage"
api_bind_addr = "0.0.0.0:3900"
[admin]
api_bind_addr = "0.0.0.0:3903"
metrics_require_token = true
image:
repository: dxflrs/garage
initImage:
tag: "1.37.0"
persistence:
meta:
storageClass: local-path
size: 1Gi
data:
storageClass: local-path
size: 9Gi
podSecurityContext:
seccompProfile:
type: RuntimeDefault
securityContext:
allowPrivilegeEscalation: false
readinessProbe:
httpGet:
path: /health
port: admin
timeoutSeconds: 3
livenessProbe:
tcpSocket:
port: s3-api
initialDelaySeconds: 60
periodSeconds: 20
timeoutSeconds: 3
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 1Gi
- path: apps/garage
repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
+1 -1
View File
@@ -3,9 +3,9 @@ kind: Kustomization
resources: resources:
- autoregexbot.yaml - autoregexbot.yaml
- betterslcm.yaml - betterslcm.yaml
- garage.yaml
- jellyfin.yaml - jellyfin.yaml
- legislative-summarization.yaml - legislative-summarization.yaml
- qbit.yaml - qbit.yaml
- scriptscribe.yaml - scriptscribe.yaml
- seaweedfs.yaml
- stirling-pdf.yaml - stirling-pdf.yaml
-36
View File
@@ -1,36 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
argocd.argoproj.io/sync-wave: "3"
name: seaweedfs
namespace: argocd
spec:
destination:
namespace: seaweedfs
server: https://kubernetes.default.svc
project: default
sources:
- chart: seaweedfs
helm:
values: |
allInOne:
enabled: true
master:
enabled: false
volume:
enabled: false
filer:
enabled: false
repoURL: https://seaweedfs.github.io/seaweedfs/helm
targetRevision: 4.33.0
- path: apps/seaweedfs
repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true