Files
Artista-Filmcamp/k8s/base/config.yaml
T
Nick SzaunigandClaude Opus 5.5 95e3733ab8
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 2m19s
refactor: Kubernetes-Ressourcen und Images heissen artista-modelcamp
Alle Ressourcen tragen den Praefix artista-modelcamp- im Namespace
artista; Images <owner>/artista-modelcamp und
<owner>/artista-modelcamp-tools. DATABASE_URL-Host, Backup-Host,
Traefik-Middleware-Referenz und Betriebsdoku entsprechend angepasst.

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

62 lines
1.7 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: artista
labels:
# Pod Security Admission: nur eingeschraenkte (non-root) Pods.
pod-security.kubernetes.io/enforce: restricted
---
# Nicht geheime Einstellungen. Geheimnisse: k8s/secret.example.yaml.
apiVersion: v1
kind: ConfigMap
metadata:
name: artista-modelcamp-config
data:
APP_ENV: "production"
APP_URL: "https://modelcamp.example.org"
DATABASE_POOL_SIZE: "10"
MAIL_TRANSPORT: "smtp"
MAIL_FROM: "ARTISTA MODELCAMP <[email protected]>"
ADMIN_NOTIFY_EMAIL: ""
SMTP_PORT: "587"
SMTP_SECURE: "false"
MEDIA_DIR: "/app/media"
EXTERNAL_VIDEO_PROVIDER: "none"
---
# Freigegebene Bilder und Videos (Unterkunft, Portraets, Feedback-Videos).
# Dauerhaft, deshalb ein PersistentVolumeClaim und KEIN emptyDir.
#
# ReadWriteMany, weil mehrere App-Replikate dasselbe Verzeichnis lesen.
# Geeignet: z. B. Longhorn (RWX), NFS oder eine SMB/CSI-Freigabe — fuer
# Medien ist ein Netzwerkdateisystem unkritisch (anders als fuer PostgreSQL).
# Steht nur ReadWriteOnce zur Verfuegung: replicas im Deployment auf 1 setzen.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: artista-modelcamp-media
spec:
accessModes: ["ReadWriteMany"]
# storageClassName: longhorn
resources:
requests:
storage: 5Gi
---
# Die Datenbank ist nur fuer Pods mit dem Label artista/db-client erreichbar
# (App, Migration, Worker, Sicherung).
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: artista-modelcamp-postgres-access
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: artista-modelcamp-postgres
policyTypes: ["Ingress"]
ingress:
- from:
- podSelector:
matchLabels:
artista/db-client: "true"
ports:
- port: 5432