Files
Artista-Filmcamp/k8s/overlays/production/kustomization.yaml
T
Nick SzaunigandClaude Opus 5.5 c84eb1e740
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 2m17s
refactor(k8s): schlanker Umfang, Postgres und Medien auf SMB
Auf Wunsch des Betreibers auf das Noetige reduziert: StatefulSet
PostgreSQL, Services, Ingress, App-Deployment, zwei SMB-PersistentVolumes
(Postgres-Daten, Medien). Beibehalten nach Absprache: Worker-CronJob
(Folgeraten, Reservierungsfreigabe, Mail-Wiederholung), ConfigMap und die
NetworkPolicies (Sicherheitsbefund Rate-Limit-Umgehung).

- Migration als initContainer im App-Deployment statt eigenem Job
- Entfernt: Backup-CronJob/-Volume (NAS sichert die Freigabe),
  Migrations-CronJob, PodDisruptionBudget, HTTP-Redirect-Ingress und
  Middleware, Namespace-Objekt (einmalig von Hand anzulegen)
- PostgreSQL auf SMB als bewusste, dokumentierte Ausnahme mit
  hard, cache=strict, SMB 3.1.1 + seal, uid 70 / 0700

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-27 20:36:30 +02:00

48 lines
1.6 KiB
YAML

# Produktions-Overlay. Anpassen: Images/Tags, Domain, IngressClass,
# ClusterIssuer und TLS-Secret-Name. Anwenden:
# kubectl apply -k k8s/overlays/production
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: artista
resources:
- ../../base
- ingress.yaml
# PostgreSQL-Daten und Medien auf SMB.
# 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
# ergibt Image-Tag "0.1.0" (Alternativen: "sha-<kurz>", "latest").
# Beide Images immer mit identischem Tag ausrollen.
- name: artista-modelcamp
newName: git.encry.de/nick.rosenloecher/artista-modelcamp
newTag: "0.1.0"
- name: artista-modelcamp-tools
newName: git.encry.de/nick.rosenloecher/artista-modelcamp-tools
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-postgres-data }
patch: |-
- op: add
path: /spec/storageClassName
value: ""
- op: add
path: /spec/volumeName
value: artista-modelcamp-postgres-smb
- target: { kind: ConfigMap, name: artista-modelcamp-config }
patch: |-
- op: replace
path: /data/APP_URL
value: https://modelcamp.example.org