feat: SMB-PersistentVolumes fuer Medien und Datenbank-Sicherungen

Statische PVs ueber csi-driver-smb (smb.csi.k8s.io), fest an die PVCs
artista-modelcamp-media (App liest, uid 1001) und
artista-modelcamp-db-backup (pg_dump-Job, uid 70, 0700/0600) gebunden,
reclaimPolicy Retain. Zugang ueber Secret artista-modelcamp-smb.
Das PostgreSQL-Datenverzeichnis bleibt bewusst auf Blockspeicher
(SMB erfuellt dessen Sperr- und fsync-Anforderungen nicht, Briefing §13);
die Datenbank landet ueber die taeglichen Dumps trotzdem auf dem NAS.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-27 20:11:04 +02:00
1 parent 95e3733ab8
commit 24939b58d5
4 files changed
+120 -5

No files matched your search

@@ -7,6 +7,9 @@ namespace: artista
resources:
- ../../base
- ingress.yaml
# Medien und Sicherungen auf SMB (PostgreSQL bewusst nicht, siehe Datei).
# Ohne SMB: diese Zeile und die beiden PVC-Patches unten entfernen.
- smb-volumes.yaml
images:
# Gebaut von .gitea/workflows/docker-build.yml: Git-Tag "v0.1.0" pushen
@@ -20,6 +23,26 @@ images:
newTag: "0.1.0"
patches:
# PVCs fest an die SMB-PersistentVolumes binden (statisch, ohne StorageClass).
- target: { kind: PersistentVolumeClaim, name: artista-modelcamp-media }
patch: |-
- op: add
path: /spec/storageClassName
value: ""
- op: add
path: /spec/volumeName
value: artista-modelcamp-media-smb
- target: { kind: PersistentVolumeClaim, name: artista-modelcamp-db-backup }
patch: |-
- op: add
path: /spec/storageClassName
value: ""
- op: add
path: /spec/volumeName
value: artista-modelcamp-db-backup-smb
- op: replace
path: /spec/accessModes
value: ["ReadWriteMany"]
- target: { kind: ConfigMap, name: artista-modelcamp-config }
patch: |-
- op: replace