207 lines
5.7 KiB
YAML
207 lines
5.7 KiB
YAML
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: versitygw
|
||
|
|
namespace: versitygw
|
||
|
|
spec:
|
||
|
|
endpointSelector:
|
||
|
|
matchLabels:
|
||
|
|
app.kubernetes.io/name: versitygw
|
||
|
|
app.kubernetes.io/instance: versitygw
|
||
|
|
ingress:
|
||
|
|
# Kubelet probes and local port-forwarding.
|
||
|
|
- fromEntities:
|
||
|
|
- host
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "7071"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "8080"
|
||
|
|
protocol: TCP
|
||
|
|
# Gateway I Envoy proxy: outbound connections use reserved:ingress identity.
|
||
|
|
- fromEntities:
|
||
|
|
- ingress
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7071"
|
||
|
|
protocol: TCP
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: kube-system
|
||
|
|
gateway.networking.k8s.io/gateway-name: gateway-internal
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7071"
|
||
|
|
protocol: TCP
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: frigate
|
||
|
|
app.kubernetes.io/name: frigate
|
||
|
|
app.kubernetes.io/instance: frigate
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
# Quay uses VersityGW directly inside the cluster for registry object storage.
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: quay
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
# Forgejo uses VersityGW directly inside the cluster for attachments and avatars.
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: forgejo
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchExpressions:
|
||
|
|
- key: k8s:io.kubernetes.pod.namespace
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- forgejo-public
|
||
|
|
- key: app.kubernetes.io/name
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- forgejo
|
||
|
|
- key: app.kubernetes.io/instance
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- forge-code
|
||
|
|
- forge-git
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: postgres
|
||
|
|
cnpg.io/cluster: main
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
# Argo Workflows executor/workflow pods for artifact upload/download.
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: argo
|
||
|
|
app.kubernetes.io/name: argo-workflow
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchExpressions:
|
||
|
|
- key: k8s:io.kubernetes.pod.namespace
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- stalwart
|
||
|
|
- key: app.kubernetes.io/name
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- stalwart
|
||
|
|
- stalwart-bootstrap
|
||
|
|
- key: app.kubernetes.io/instance
|
||
|
|
operator: In
|
||
|
|
values:
|
||
|
|
- stalwart
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
# Cross-node kubelet blob pulls arrive with Cilium's remote-node identity.
|
||
|
|
- fromEntities:
|
||
|
|
- remote-node
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
# Direct LAN/WireGuard clients reach S3 through versitygw-direct LoadBalancer.
|
||
|
|
- fromCIDR:
|
||
|
|
- 10.115.187.218/24
|
||
|
|
- 10.63.81.107/24
|
||
|
|
- 10.162.8.60/24
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "8080"
|
||
|
|
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
|
||
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumClusterwideNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: gateway-internal-egress-versitygw
|
||
|
|
spec:
|
||
|
|
endpointSelector:
|
||
|
|
matchLabels:
|
||
|
|
"reserved:ingress": ""
|
||
|
|
egress:
|
||
|
|
- toEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: versitygw
|
||
|
|
app.kubernetes.io/name: versitygw
|
||
|
|
app.kubernetes.io/instance: versitygw
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7071"
|
||
|
|
protocol: TCP
|
||
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumClusterwideNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: host-egress-versitygw
|
||
|
|
spec:
|
||
|
|
nodeSelector: {}
|
||
|
|
egress:
|
||
|
|
- toEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: versitygw
|
||
|
|
app.kubernetes.io/name: versitygw
|
||
|
|
app.kubernetes.io/instance: versitygw
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "7070"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "7071"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "8080"
|
||
|
|
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-versitygw-replies
|
||
|
|
spec:
|
||
|
|
nodeSelector: {}
|
||
|
|
ingress:
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: versitygw
|
||
|
|
app.kubernetes.io/name: versitygw
|
||
|
|
app.kubernetes.io/instance: versitygw
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "32768"
|
||
|
|
endPort: 60999
|
||
|
|
protocol: TCP
|