Skip to content

Keep private services reachable through VPC endpoints - #851

Merged
scotwells merged 17 commits into
mainfrom
feat/persistent-private-service-access
Oct 22, 2026
Merged

scotwells merged 17 commits into
mainfrom
feat/persistent-private-service-access

Conversation

@scotwells

@scotwells scotwells commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Keep private services reachable during control plane outages until access is withdrawn or the VPC is replaced. Time-bounded access continues to enforce its deadline.

Route virtual service addresses through their network attachment so VPC clients can reach private services over TCP and UDP. Secondary network attachments preserve the workload's primary default route.

Test plan

  • CI verifies persistent access, policy withdrawal, and bounded authorization.
  • Staging VPCs resolve the same private hostname to separate answers over UDP and TCP.
  • Kernel tests verify attachment identity checks and memory limits.
  • Network tests verify secondary attachments preserve the primary default route.

@scotwells
scotwells requested review from ecv and privateip October 21, 2026 22:03
@scotwells scotwells changed the title Keep private services reachable during control plane outages Keep private services reachable through VPC endpoints Oct 22, 2026
@scotwells
scotwells marked this pull request as ready for review October 22, 2026 00:38
@scotwells
scotwells requested a review from a team as a code owner October 22, 2026 00:38
ecv
ecv previously approved these changes Oct 22, 2026

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. The next-hop fix is right, and persistent access is limited to ServiceRoutePolicy writers, which the type comment names as the network control plane. Follow-ups are in #986: roll order for the new pinned map, silent fallback when no next hop exists (IPv4 included), default-route suppression for blackhole and ECMP defaults, and router restart during an API outage. The alert's runbook anchor does not exist yet. One thing for the body: the staging DNS claim has no code or test in this diff, so cite the run that showed it.

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approving at a28836b. The new commits report withdrawn attachments, withdraw routes for interfaces that no longer exist, and propagate any lookup error other than not-found. One cost is now in #986: a vanished veth closes the whole node's policy gate until a full rebuild, so every service route on that node drops for that window. Unit Tests were still pending when I approved.

@scotwells
scotwells enabled auto-merge October 22, 2026 01:54
@scotwells
scotwells merged commit 9e06904 into main Oct 22, 2026
17 checks passed
@scotwells
scotwells deleted the feat/persistent-private-service-access branch October 22, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants