apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: orders-restrict
  namespace: example-apps
spec:
  podSelector:
    matchLabels:
      app.kubernetes.io/name: orders
  policyTypes:
    - Ingress
    - Egress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              kubernetes.io/metadata.name: example-gateway
        - podSelector:
            matchLabels:
              app.kubernetes.io/name: gateway
      ports:
        - protocol: TCP
          port: 8080
  egress:
    - to:
        - podSelector:
            matchLabels:
              app.kubernetes.io/name: ledger
      ports:
        - protocol: TCP
          port: 5432
    - to:
        - ipBlock:
            cidr: 10.20.0.0/16
            except:
              - 10.20.9.0/24
