# Datenbank: nur fuer Pods mit dem Label db-client=true erreichbar # (App inkl. Migration, Worker, Admin-Anlage). apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: artista-modelcamp-postgres namespace: artista spec: podSelector: matchLabels: app: artista-modelcamp-postgres policyTypes: ["Ingress"] ingress: - from: - podSelector: matchLabels: db-client: "true" ports: - port: 5432 --- # Website: nur ueber Traefik erreichbar. Traefik laeuft in diesem Cluster # (RKE2) in kube-system und NICHT im Host-Netzwerk — geprueft mit: # kubectl get pods -A -l 'app.kubernetes.io/name in (traefik,rke2-traefik)' \ # -o custom-columns=NS:.metadata.namespace,HOSTNET:.spec.hostNetwork # Namespace UND Label muessen passen; das Label allein koennte jeder setzen. # Der Zertifikats-Solver von cert-manager ist ein eigener Pod und davon nicht # betroffen. apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: artista-modelcamp-app namespace: artista spec: podSelector: matchLabels: app: artista-modelcamp-app policyTypes: ["Ingress"] ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system podSelector: matchExpressions: - key: app.kubernetes.io/name operator: In values: [traefik, rke2-traefik] ports: - port: 3000