Repository navigation
docs: Describe the gateway as a direct-return load balancer - #749
Conversation
f327b8a to
f131056
Compare
The gateway's docs, manifest comments and CLI help still described the Full-NAT gateway that #427 removed: a "NAT+LB" datapath, an Active-Active BGP local-preference model, and edgenat.c's DNAT/SNAT rewrites. - Replace "NAT+LB" with "DSR load balancer" in AGENTS.md, README.md, the architecture docs, the gateway configuration guide, the config/galactic-gateway headers, and galactic-gateway's appDesc and --gateway-public-interface help. - Describe anycast VIP advertisement instead of Active-Active in AGENTS.md and the ruleToGatewayRequests comment. - Ground the gateway DaemonSet's PERFMON justification in edgedsr.c's own packet-pointer arithmetic (header parsing and the data_end - data byte count) rather than edgenat.c's rewrites. The capability is still required. - Cut the "unlike the removed Full-NAT design" asides from ARCHITECTURE-GATEWAY.md, edgedsr.c, dropreason.go and the controller tests, and add one History note pointing at #427. - Drop the dead links to gateway-ingress-packet-trace.md and the stale publishSelfAddress note from docs/gateway/configuration.md. - Fix README.md's gateway placement to match the base on main (gateway=enabled, no node label). The "never shares a node with galactic-vrf" wording is left for #718, which changes that placement. Fixes #720 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first pass missed several places that still described the removed Full-NAT gateway. - Replace "NAT+LB" and "Active-Active" in the C4 context and container diagrams, and re-render both PNGs. - Replace "NAT+LB" in the galactic-gateway and galactic-nat Dockerfile comments. - Point the usidresolver and anycast spike test comments at applyBGPAdvertisements instead of the deleted publishSelfAddress, and rename the spike's gw1/gw2-selfaddr advertisements to gw1/gw2-vip. - Name the deleted Full-NAT primitives (edgenat.c, AssignPrimaryNode, placement.go, localpref.go, publishSelfAddress) in the ARCHITECTURE-GATEWAY History note so they stay findable, and drop its claim that nothing from that design remains. - Rewrap the paragraphs the first pass left with over-long lines. Related to #720 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
f131056 to
29904d5
Compare
Replace all references to rule_table with vip_table in comments and log messages to reflect the DSR architecture redesign. Update the fakeGatewayEngine doc comment to remove the outdated local-pref reference and clarify that tests assert on which rules were included or excluded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Related to #720
|
First pass (f327b8a): pr-adversary returned merge with no defects and asked for CI to be green; pr-conventions-reviewer returned hold only on landing order against #747, which has since merged. Second pass (68d8904): pr-rereviewer returned merge. Every applied finding is verified fixed at 68d8904 and the rebase kept main's #745/#747 content. pr-conventions-reviewer returned merge. The changes are comments, docs and help text with no deploy-path change. The only open item was ordering against #738, decided by the user: this PR merges first and #738 rebases afterwards. pr-rereviewer ran: git rev-parse HEAD, git log --format='%h %G? %GS | %s' 3b22a2c..68d8904, git log --show-signature 3b22a2c..68d8904, git diff --stat 3b22a2c...68d8904, git range-diff 851adaf...f327b8a 3b22a2c...68d8904, git diff f327b8a 68d8904, git diff 29904d5 68d8904, gh pr view 749 --json title,body,statusCheckRollup, gh pr checks 749, grep -rnI "rule_table|local-pref|Full-NAT|NAT+LB" (excluding .git and plans), grep -rnI "never shares a node|carry no", grep -n -A14 "affinity:" config/galactic-gateway/base/daemonset.yaml, go build ./internal/controller/ ./cmd/galactic-gateway/, go vet ./internal/controller/, go test ./internal/controller/. pr-conventions-reviewer ran: gh pr view 749 --json title,body,commits,files,baseRefName,isDraft, git diff 3b22a2c...68d8904 --stat, git diff 3b22a2c...68d8904 -- config internal/plumbing/ebpf/edgeprog/edgedsr.c cmd, gh pr list --state open --json number,title,headRefName,files, kustomize build config/galactic-gateway (exit 0), git log -1 --format=%B 68d8904, read docs/agents/CONVENTIONS.md. CI is green: Build, Lint, Unit Tests, Unit Tests (root), license/cla, all publish jobs, E2E Tests passed. One Unit Tests (root) run failed on the flaky unrelated TestPMTU_VethPodLearnsPathMTU and passed on rerun. Auto-merge is enabled with merge method. The ruleset requires one approval and code owner review, so auto-merge waits for human approval before completing. |
Summary
The gateway's docs, diagrams, manifest comments and help text still described the removed Full-NAT gateway, with address translation and a primary gateway node.
They now describe the direct-return load balancer as built, where every gateway node advertises every VIP the same way and nothing rewrites addresses. A History note in the gateway architecture doc names the removed design so it stays findable.
Test plan
Fixes #720
🤖 Generated with Claude Code