Support externalTrafficPolicy on the client Service #6

Merged
benvin merged 1 commits from benvin/svc-external-traffic-policy into main 2026-07-04 22:37:04 +10:00
Owner

Adds BindCluster.spec.service.externalTrafficPolicy (Cluster/Local).

Why

DNS Services default to externalTrafficPolicy: Cluster, which SNATs external clients to node IPs — so the source-IP ACLs on the authoritative/resolver don't actually restrict external clients. Local preserves client source IPs (only routes to pod-hosting nodes).

Changes

  • ClusterServiceSpec.externalTrafficPolicy field
  • set on the client Service for LoadBalancer/NodePort
  • regenerated CRDs + install.yaml

Follow-up

Merge + tag v0.1.5; then set externalTrafficPolicy: Local on the 3 clusters + bump the operator (CRD link + image) in argocd.

Adds `BindCluster.spec.service.externalTrafficPolicy` (Cluster/Local). ## Why DNS Services default to externalTrafficPolicy: Cluster, which SNATs external clients to node IPs — so the source-IP ACLs on the authoritative/resolver don't actually restrict external clients. `Local` preserves client source IPs (only routes to pod-hosting nodes). ## Changes - `ClusterServiceSpec.externalTrafficPolicy` field - set on the client Service for LoadBalancer/NodePort - regenerated CRDs + install.yaml ## Follow-up Merge + tag **v0.1.5**; then set `externalTrafficPolicy: Local` on the 3 clusters + bump the operator (CRD link + image) in argocd.
unkinben added 1 commit 2026-07-04 22:15:23 +10:00
Support externalTrafficPolicy on the client Service
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
e0bd3973ed
Adds BindCluster.spec.service.externalTrafficPolicy so DNS LoadBalancers
can preserve client source IPs (Local), which the source-IP ACLs on the
authoritative/resolver need to actually restrict external clients (Cluster
SNATs everything to node IPs).

- api: ClusterServiceSpec.externalTrafficPolicy (enum Cluster;Local)
- set it on the client Service for LoadBalancer/NodePort types
- regenerate CRDs + install.yaml
benvin merged commit ea3d71fa93 into main 2026-07-04 22:37:04 +10:00
Sign in to join this conversation.