--- apiVersion: cilium.io/v2 kind: CiliumNetworkPolicy metadata: name: quay namespace: quay spec: endpointSelector: matchExpressions: - key: name operator: NotIn values: - quay-operator-alm-owned ingress: - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: quay - fromEntities: - host - kube-apiserver - remote-node - fromEntities: - ingress toPorts: - ports: - port: "80" protocol: TCP - port: "8080" protocol: TCP - port: "443" protocol: TCP - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: kube-system gateway.networking.k8s.io/gateway-name: gateway-internal toPorts: - ports: - port: "80" protocol: TCP - port: "8080" protocol: TCP - port: "443" protocol: TCP # Direct LAN/WireGuard clients reach Quay through quay-direct LoadBalancer. - fromCIDR: - 10.115.187.218/24 - 10.63.81.107/24 - 10.162.8.60/24 toPorts: - ports: - port: "8443" protocol: TCP egress: - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: quay - toEntities: - kube-apiserver toPorts: - ports: - port: "6443" protocol: TCP - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: kube-system k8s-app: kube-dns toPorts: - ports: - port: "53" protocol: UDP - port: "53" protocol: TCP - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: postgres cnpg.io/cluster: main toPorts: - ports: - port: "5432" protocol: TCP - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: versitygw app.kubernetes.io/name: versitygw app.kubernetes.io/instance: versitygw toPorts: - ports: - port: "7070" protocol: TCP # In-cluster clients reach S3 through versitygw-direct BGP LoadBalancer (socket-LB VIP). - toCIDR: - 10.66.127.81/32 toPorts: - ports: - port: "443" protocol: TCP - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: dragonfly app.kubernetes.io/name: dragonfly app: quay toPorts: - ports: - port: "6379" protocol: TCP - toEntities: - world toPorts: - ports: - port: "443" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: gateway-internal-egress-quay spec: endpointSelector: matchLabels: "reserved:ingress": "" egress: - toEndpoints: - matchExpressions: - key: k8s:io.kubernetes.pod.namespace operator: In values: ["quay"] - key: name operator: NotIn values: ["quay-operator-alm-owned"] toPorts: - ports: - port: "80" protocol: TCP - port: "8080" protocol: TCP - port: "443" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-egress-quay spec: nodeSelector: {} egress: - toEndpoints: - matchExpressions: - key: k8s:io.kubernetes.pod.namespace operator: In values: ["quay"] - key: name operator: NotIn values: ["quay-operator-alm-owned"] --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-ingress-quay-replies spec: nodeSelector: {} ingress: - fromEndpoints: - matchExpressions: - key: k8s:io.kubernetes.pod.namespace operator: In values: ["quay"] - key: name operator: NotIn values: ["quay-operator-alm-owned"] toPorts: - ports: - port: "32768" endPort: 60999 protocol: TCP