Files
Artista-Filmcamp/k8s/07-networkpolicy.yaml
T
Nick SzaunigandClaude Opus 5.5 cddc36bee8 feat(k8s): Ingress, Zertifikat und Netzwerk nach Muster Wabenhain/ApiCore
- Ingress: HTTP->HTTPS-Middleware redirect-to-https wieder am Ingress
  (wie Wabenhain), Service-Port als Nummer, cert-manager letsencrypt-prod.
- NetworkPolicy: Traefik ueber das Pod-Label (traefik/rke2-traefik) in
  jedem Namespace erkannt statt fester Namespace "traefik" - verhindert,
  dass die Seite unerreichbar wird, wenn Traefik z. B. in kube-system laeuft.
- README: Voraussetzungen pruefen und Deployment Schritt fuer Schritt
  (kubectl wait auf Postgres) wie bei Wabenhain.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-28 06:33:22 +02:00

41 lines
1.1 KiB
YAML

# Datenbank nur fuer App und Worker erreichbar; App nur ueber Traefik.
# Traefik wird am Pod-Label erkannt, egal in welchem Namespace es laeuft
# (eigene Installation "traefik" oder RKE2-Paket "rke2-traefik").
# Pruefen: kubectl get pods -A -l 'app.kubernetes.io/name in (traefik,rke2-traefik)'
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: artista-modelcamp-postgres
namespace: artista
spec:
podSelector:
matchLabels:
app: artista-modelcamp-postgres
ingress:
- from:
- podSelector:
matchLabels:
db-client: "true"
ports:
- port: 5432
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: artista-modelcamp-app
namespace: artista
spec:
podSelector:
matchLabels:
app: artista-modelcamp-app
ingress:
- from:
- namespaceSelector: {}
podSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values: [traefik, rke2-traefik]
ports:
- port: 3000