homelab-gitops/apps/forgejo/network-policy.yaml
gwg313 e507515766
Some checks are pending
Pipelines as Code CI / homelab-ci CI has Started
add pac
Signed-off-by: gwg313 <gwg313@pm.me>
2026-06-29 21:03:51 -04:00

131 lines
3.1 KiB
YAML

# ----------------------------------------------------
# Ingress only from Gateway API
# ----------------------------------------------------
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-ingress
namespace: forgejo
spec:
endpointSelector:
matchLabels:
app: forgejo
ingress:
- fromEntities:
- ingress
toPorts:
- ports:
- port: "3000"
protocol: TCP
- fromEndpoints:
- matchLabels:
io.kubernetes.pod.namespace: pipelines-as-code
app: pipelines-as-code-controller
toPorts:
- ports:
- port: "3000"
protocol: TCP
- fromEndpoints:
- matchLabels:
io.kubernetes.pod.namespace: cicd
toPorts:
- ports:
- port: "3000"
protocol: TCP
# ---
# # ----------------------------------------------------
# # CI runner access (in-cluster service)
# # ----------------------------------------------------
# apiVersion: cilium.io/v2
# kind: CiliumNetworkPolicy
# metadata:
# name: allow-ci-runner
# namespace: forgejo
# spec:
# endpointSelector:
# matchLabels:
# app: forgejo
#
# egress:
# - toEndpoints:
# - matchLabels:
# app: ci-runner # adjust to your runner labels
# toPorts:
# - ports:
# - port: "80"
# protocol: TCP
# - port: "443"
# protocol: TCP
#
---
# ----------------------------------------------------
# PAC controller webhook delivery (in-cluster)
# ----------------------------------------------------
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-pac-egress
namespace: forgejo
spec:
endpointSelector:
matchLabels:
app: forgejo
egress:
- toEndpoints:
- matchLabels:
io.kubernetes.pod.namespace: pipelines-as-code
app: pipelines-as-code-controller
toPorts:
- ports:
- port: "8082"
protocol: TCP
---
# ----------------------------------------------------
# External git providers (FQDN restricted)
# ----------------------------------------------------
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: allow-git-egress
namespace: forgejo
spec:
endpointSelector:
matchLabels:
app: forgejo
egress:
- toFQDNs:
- matchName: github.com
- matchName: api.github.com
- matchName: raw.githubusercontent.com
toPorts:
- ports:
- port: "443"
protocol: TCP
---
# ----------------------------------------------------
# OPTIONAL: unrestricted egress (disabled by default)
# Enable ONLY when required for troubleshooting or apps
# ----------------------------------------------------
# apiVersion: cilium.io/v2
# kind: CiliumNetworkPolicy
# metadata:
# name: allow-all-egress
# namespace: forgejo
# spec:
# endpointSelector:
# matchLabels:
# app: forgejo
#
# egress:
# - toEntities:
# - world
# toPorts:
# - ports:
# - port: "443"
# protocol: TCP
# - port: "80"
# protocol: TCP