apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-default-deny spec: podSelector: {} policyTypes: - Ingress - Egress --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-dns-egress spec: podSelector: {} policyTypes: - Egress egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system podSelector: matchLabels: k8s-app: kube-dns ports: - protocol: UDP port: 53 - protocol: TCP port: 53 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-vault-egress spec: podSelector: {} policyTypes: - Egress egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: vault podSelector: matchLabels: app: vault ports: - protocol: TCP port: 8200 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-keycloak-egress-to-postgres spec: podSelector: matchLabels: app: keycloak policyTypes: - Egress egress: - to: - podSelector: matchLabels: app: postgres ports: - protocol: TCP port: 5432 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-keycloak-client-sync-to-keycloak spec: podSelector: matchLabels: app: keycloak-client-sync policyTypes: - Egress egress: - to: - podSelector: matchLabels: app: keycloak ports: - protocol: TCP port: 8080 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-keycloak-ingress spec: podSelector: matchLabels: app: keycloak policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system podSelector: matchLabels: app.kubernetes.io/name: traefik ports: - protocol: TCP port: 8080 - from: - podSelector: matchLabels: app: keycloak-client-sync ports: - protocol: TCP port: 8080 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-system-allow-postgres-ingress spec: podSelector: matchLabels: app: postgres policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: auth-dev podSelector: matchExpressions: - key: app operator: In values: - auth-server - auth-db-migration ports: - protocol: TCP port: 5432 - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: vault podSelector: matchLabels: app: vault ports: - protocol: TCP port: 5432 - from: - podSelector: matchLabels: app: keycloak ports: - protocol: TCP port: 5432