163 lines
4.4 KiB
YAML
163 lines
4.4 KiB
YAML
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: forgejo
|
||
|
|
namespace: forgejo
|
||
|
|
spec:
|
||
|
|
endpointSelector:
|
||
|
|
matchLabels:
|
||
|
|
app.kubernetes.io/name: forgejo
|
||
|
|
app.kubernetes.io/instance: forgejo
|
||
|
|
ingress:
|
||
|
|
# Kubelet probes, local port-forwarding, and same-node LoadBalancer backend flows.
|
||
|
|
- fromEntities:
|
||
|
|
- host
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "3000"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "2222"
|
||
|
|
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
|
||
|
|
# Flux source-controller clones the GitOps repository over in-cluster SSH.
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: flux-system
|
||
|
|
app: source-controller
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "2222"
|
||
|
|
protocol: TCP
|
||
|
|
# Internal SSH clients hit the dedicated forgejo-ssh LoadBalancer service.
|
||
|
|
- fromCIDR:
|
||
|
|
- 10.115.187.218/24
|
||
|
|
- 10.63.81.107/24
|
||
|
|
- 10.162.8.60/24
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "2222"
|
||
|
|
protocol: TCP
|
||
|
|
egress:
|
||
|
|
- 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: dragonfly
|
||
|
|
app.kubernetes.io/name: dragonfly
|
||
|
|
app: forgejo
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "6379"
|
||
|
|
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: kube-system
|
||
|
|
k8s-app: kube-dns
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "53"
|
||
|
|
protocol: UDP
|
||
|
|
- port: "53"
|
||
|
|
protocol: TCP
|
||
|
|
# OIDC discovery/token exchange and future repository migrations over HTTPS.
|
||
|
|
- toEntities:
|
||
|
|
- world
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "443"
|
||
|
|
protocol: TCP
|
||
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumClusterwideNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: gateway-internal-egress-forgejo
|
||
|
|
spec:
|
||
|
|
endpointSelector:
|
||
|
|
matchLabels:
|
||
|
|
"reserved:ingress": ""
|
||
|
|
egress:
|
||
|
|
- toEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: forgejo
|
||
|
|
app.kubernetes.io/name: forgejo
|
||
|
|
app.kubernetes.io/instance: forgejo
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "3000"
|
||
|
|
protocol: TCP
|
||
|
|
---
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumClusterwideNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: host-egress-forgejo
|
||
|
|
spec:
|
||
|
|
nodeSelector: {}
|
||
|
|
egress:
|
||
|
|
- toEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: forgejo
|
||
|
|
app.kubernetes.io/name: forgejo
|
||
|
|
app.kubernetes.io/instance: forgejo
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "3000"
|
||
|
|
protocol: TCP
|
||
|
|
- port: "2222"
|
||
|
|
protocol: TCP
|
||
|
|
---
|
||
|
|
# Same-node Gateway/LB backend selections can return to node-local ephemeral
|
||
|
|
# source ports via the host path.
|
||
|
|
apiVersion: cilium.io/v2
|
||
|
|
kind: CiliumClusterwideNetworkPolicy
|
||
|
|
metadata:
|
||
|
|
name: host-ingress-forgejo-replies
|
||
|
|
spec:
|
||
|
|
nodeSelector: {}
|
||
|
|
ingress:
|
||
|
|
- fromEndpoints:
|
||
|
|
- matchLabels:
|
||
|
|
k8s:io.kubernetes.pod.namespace: forgejo
|
||
|
|
app.kubernetes.io/name: forgejo
|
||
|
|
app.kubernetes.io/instance: forgejo
|
||
|
|
toPorts:
|
||
|
|
- ports:
|
||
|
|
- port: "32768"
|
||
|
|
endPort: 60999
|
||
|
|
protocol: TCP
|