apiVersion: cilium.io/v2 kind: CiliumNetworkPolicy metadata: name: zot namespace: zot spec: endpointSelector: matchLabels: app.kubernetes.io/name: zot app.kubernetes.io/instance: zot ingress: # Kubelet probes, local port-forwarding, and same-node LoadBalancer backend flows. - fromEntities: - host toPorts: - ports: - port: "5000" protocol: TCP # Cross-node kubelet image pulls arrive with Cilium's remote-node identity. - fromEntities: - remote-node toPorts: - ports: - port: "5000" protocol: TCP # Direct LAN/WireGuard clients reach Zot through zot-direct LoadBalancer. - fromCIDR: - 10.115.187.218/24 - 10.63.81.107/24 - 10.162.8.60/24 toPorts: - ports: - port: "5000" protocol: TCP egress: - 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: 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 --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: versitygw-ingress-zot spec: endpointSelector: matchLabels: k8s:io.kubernetes.pod.namespace: versitygw app.kubernetes.io/name: versitygw app.kubernetes.io/instance: versitygw ingress: - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: zot app.kubernetes.io/name: zot app.kubernetes.io/instance: zot toPorts: - ports: - port: "7070" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-egress-zot spec: nodeSelector: {} egress: - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: zot app.kubernetes.io/name: zot app.kubernetes.io/instance: zot toPorts: - ports: - port: "5000" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-ingress-zot-replies spec: nodeSelector: {} ingress: - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: zot app.kubernetes.io/name: zot app.kubernetes.io/instance: zot toPorts: - ports: - port: "32768" endPort: 60999 protocol: TCP