Commit Graph
21 Commits
Author SHA1 Message Date
pi-ux-ce 9349bc5122 watcher struggling 2026-07-30 11:02:29 +01:00
pi-ux-ce 93f8d41aac fix(reverse-proxy): preserve real client IP in nginx logs
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 16m7s
Nginx logs showed internal cluster IPs instead of public client IPs.
Root cause was three stacked issues in the traffic path from MetalLB
LoadBalancer VIP to the reverse-proxy pods:

1. Service was using externalTrafficPolicy: Cluster, allowing
   kube-proxy to forward traffic cross-node and SNAT the source IP
   in the process. Changed to externalTrafficPolicy: Local so traffic
   is only handled by pods on the node that received it.

2. reverse-proxy DaemonSet had a pinned  in
   the pod template, forcing all replicas onto a single node instead
   of scheduling one per node as expected for a DaemonSet. Removed
   nodeName so the DaemonSet scheduler places one pod per eligible
   node (both control-plane nodes, tolerations already in place).

3. Even with the above fixed, flannel's CNI masquerade rule was
   still SNAT'ing traffic to the pod network address (10.244.x.x)
   before it reached nginx, since traffic into the pod overlay
   network gets masqueraded regardless of kube-proxy's policy.
   Switched the DaemonSet to hostNetwork: true (with
   dnsPolicy: ClusterFirstWithHostNet) so nginx binds directly to
   the node's network namespace and bypasses the overlay masquerade
   entirely.

Result: nginx access logs now show the real public client IP for
every request instead of node/pod-internal addresses.
2026-07-23 10:06:43 +01:00
pi-ux-ce f5a786386f adding before converting to daemonset 2026-07-23 09:35:12 +01:00
pi-ux-ce b1def329e9 adding specifiy geoip option
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 16m53s
2026-04-15 09:29:59 +01:00
pi-ux-ce 1ea92b8e6d trying the certifcate check as well 2026-03-19 23:05:37 +00:00
pi-ux-ce 4107c11651 trying different inotifywait command
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 49s
2026-03-13 10:49:44 +00:00
pi-ux-ce 6923977cd1 putting the inotify file into a shared memory medium
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 54s
2026-03-13 10:41:47 +00:00
pi-ux-ce 669be9f97e rename to watched for easy access
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 35s
2026-03-13 10:25:37 +00:00
pi-ux-ce ffb076cf47 removing geoip as built inside the image 2026-03-13 10:23:49 +00:00
pi-ux-ce ceb7fb6479 building a sidecar to watch the blacklisted file 2026-03-13 10:21:51 +00:00
pi-ux-ce 79ef0ab640 trying geoip2
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 47s
2026-03-12 23:59:39 +00:00
pi-ux-ce b09999a8d0 removing all the fail2ban stuff 2026-02-02 21:50:23 +00:00
pi-ux-ce f3aa767cd5 adding before some work 2026-01-26 22:16:52 +00:00
pi-ux-ce 6009e6a4f7 add all unstaged files
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 12m2s
2025-04-23 10:24:52 +01:00
pi-ux-ce 194a558cb4 trying to purge from staticfiles 2024-10-15 11:00:28 +01:00
pi-ux-ce 0522c52697 trying to purge from staticfiles 2024-10-15 10:59:55 +01:00
pi-ux-ce 6356a07e45 probably had a change but it's not working yet 2024-10-14 21:59:09 +01:00
pi-ux-ce 05fc32f18a 🎨 enable externalTrafficPolicy: Local option to forward external IP 2024-07-29 14:16:43 +01:00
pi-ux-ce 2bd11a174d ✨ add CPU and MEMORY limit 2024-07-24 15:13:44 +01:00
pi-ux-ce b05fcbc944 add memory medium for proxy cache 2024-07-19 12:02:24 +01:00
pi-ux-ce 0ce409bcce 💥 add all the files 2024-06-19 13:48:53 +01:00