feat(thelounge): add cilium egress filtering
Best Practices / Kube-score Analysis (push) Has been cancelled
Best Practices / Polaris Audit (push) Has been cancelled
Best Practices / Resource Usage Analysis (push) Has been cancelled
Best Practices / PR Summary Report (push) Has been cancelled
Best Practices / Polaris PR Review (push) Has been cancelled
Validate Manifests / YAML Lint (push) Has been cancelled
Security Scan / Trivy Security Scan (push) Has been cancelled
Security Scan / Trivy PR Review (push) Has been cancelled
Security Scan / Checkov IaC Scan (push) Has been cancelled
Security Scan / Checkov PR Review (push) Has been cancelled
Validate Manifests / Kustomize Build Test (push) Has been cancelled
Validate Manifests / Kubernetes Schema Validation (push) Has been cancelled

Allow: DNS, LDAP (authentik), in-cluster ZNC, irc.passthepopcorn.me:6697.
Default-deny for everything else.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 18:18:40 -04:00
parent 84ee1fa8b8
commit 2992d7d326
2 changed files with 45 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: thelounge-egress
namespace: irc
spec:
endpointSelector:
matchLabels:
app.kubernetes.io/name: thelounge
egress:
- toEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: kube-system
k8s:k8s-app: kube-dns
toPorts:
- ports:
- port: "53"
protocol: ANY
rules:
dns:
- matchPattern: "*"
- toEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: auth
k8s:app.kubernetes.io/name: authentik-outpost-ldap
k8s:goauthentik.io/outpost-type: ldap
toPorts:
- ports:
- port: "389"
protocol: TCP
- toEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: irc
k8s:app.kubernetes.io/name: znc
toPorts:
- ports:
- port: "6501"
protocol: TCP
- toFQDNs:
- matchName: "irc.passthepopcorn.me"
toPorts:
- ports:
- port: "6697"
protocol: TCP
+1
View File
@@ -5,4 +5,5 @@ resources:
- service.yaml
- httproute.yaml
- authorizationpolicy.yaml
- ciliumnetworkpolicy.yaml
- config.yaml