Files
Artista-Filmcamp/k8s/07-networkpolicy.yaml
T
Nick SzaunigandClaude Opus 5.5 d813d56514
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 1m52s
fix(security): NetworkPolicy der App an Namespace und Label binden
Nur Label-Abgleich ueber alle Namespaces liess jeden Pod mit Label
app.kubernetes.io/name=traefik zu. Jetzt muss zusaetzlich der Namespace
traefik oder kube-system sein (Namespace-Namen sind nicht faelschbar).

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

48 lines
1.4 KiB
YAML

# Datenbank nur fuer App und Worker erreichbar; App nur ueber Traefik.
# Traefik wird an Namespace (traefik oder kube-system) UND Pod-Label erkannt
# (eigene Installation "traefik" oder RKE2-Paket "rke2-traefik"). Laeuft
# Traefik in einem anderen Namespace: dessen Namen unten ergaenzen.
# 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:
# Namespace UND Pod-Label muessen passen: ein Label allein koennte
# jeder setzen, der irgendwo Pods starten darf.
- namespaceSelector:
matchExpressions:
- key: kubernetes.io/metadata.name
operator: In
values: [traefik, kube-system]
podSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values: [traefik, rke2-traefik]
ports:
- port: 3000