apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-dev-default-deny spec: podSelector: {} policyTypes: - Ingress - Egress --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-dev-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-dev-allow-auth-system-and-vault-egress spec: podSelector: {} policyTypes: - Egress egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: auth-system-dev podSelector: matchLabels: app: postgres ports: - protocol: TCP port: 5432 - 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-dev-allow-public-egress spec: podSelector: matchLabels: app: auth-server policyTypes: - Egress egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system podSelector: matchLabels: app.kubernetes.io/name: traefik ports: - protocol: TCP port: 8000 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: auth-dev-allow-ingress-from-traefik spec: podSelector: matchLabels: app: auth-server policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system podSelector: matchLabels: app.kubernetes.io/name: traefik ports: - protocol: TCP port: 8080