--- apiVersion: cilium.io/v2 kind: CiliumNetworkPolicy metadata: name: grafana namespace: grafana spec: endpointSelector: matchLabels: app.kubernetes.io/name: grafana app.kubernetes.io/instance: grafana ingress: # Kubelet probes, local port-forwarding, and same-node Gateway backend flows. - fromEntities: - host toPorts: - ports: - port: "3000" protocol: TCP # Gateway I Envoy proxy: outbound connections use reserved:ingress identity. - fromEntities: - ingress toPorts: - ports: - port: "3000" protocol: TCP - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: kube-system gateway.networking.k8s.io/gateway-name: gateway-internal toPorts: - ports: - port: "3000" protocol: TCP - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: grafana app.kubernetes.io/name: grafana-operator app.kubernetes.io/instance: grafana-operator toPorts: - ports: - port: "3000" protocol: TCP egress: - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: minecraft app.kubernetes.io/name: minecraft app.kubernetes.io/instance: skies toPorts: - ports: - port: "25575" protocol: TCP - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: versitygw app.kubernetes.io/name: versitygw toPorts: - ports: - port: "7070" protocol: TCP - toFQDNs: - matchName: s3.quorate.internal toPorts: - ports: - port: "443" 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: victoriametrics app.kubernetes.io/name: vmauth toPorts: - ports: - port: "8427" 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 rules: dns: - matchPattern: "*" - toServices: - k8sService: namespace: kube-system serviceName: kube-dns toPorts: - ports: - port: "53" protocol: UDP - port: "53" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: gateway-internal-egress-grafana spec: endpointSelector: matchLabels: "reserved:ingress": "" egress: - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: grafana app.kubernetes.io/name: grafana app.kubernetes.io/instance: grafana toPorts: - ports: - port: "3000" protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-egress-grafana spec: nodeSelector: {} egress: - toEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: grafana app.kubernetes.io/name: grafana app.kubernetes.io/instance: grafana toPorts: - ports: - port: "3000" protocol: TCP --- # Same-node Gateway backend selections can return to node-local ephemeral # source ports via the host path. apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: host-ingress-grafana-replies spec: nodeSelector: {} ingress: - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: grafana app.kubernetes.io/name: grafana app.kubernetes.io/instance: grafana toPorts: - ports: - port: "32768" endPort: 60999 protocol: TCP --- apiVersion: cilium.io/v2 kind: CiliumNetworkPolicy metadata: name: grafana-artifacts namespace: versitygw spec: endpointSelector: matchLabels: app.kubernetes.io/name: versitygw app.kubernetes.io/instance: versitygw ingress: - fromEndpoints: - matchLabels: k8s:io.kubernetes.pod.namespace: grafana app.kubernetes.io/name: grafana app.kubernetes.io/instance: grafana toPorts: - ports: - port: "7070" protocol: TCP