Skip to content

feat: Tell serving locations what each load balancer needs - #628

Merged
scotwells merged 2 commits into
codex/nlb-api-foundationfrom
codex/nlb-cell-intent
Oct 23, 2026
Merged

scotwells merged 2 commits into
codex/nlb-api-foundationfrom
codex/nlb-cell-intent

Conversation

@scotwells

@scotwells scotwells commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Closed by mistake while restacking; continued in #716.

Related to #611 and datum-cloud/enhancements#884

@scotwells scotwells changed the title Publish scoped load balancer cell intent feat: Tell serving locations what each load balancer needs Oct 23, 2026
@scotwells
scotwells requested review from ecv and kevwilliams October 23, 2026 14:55
@scotwells
scotwells marked this pull request as ready for review October 23, 2026 14:55
@scotwells
scotwells requested a review from a team as a code owner October 23, 2026 14:55

@kevwilliams kevwilliams 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.

Diff exceeds auto-review threshold (1642 lines). Flagging for human review.

Each location checks its load balancer backends with TCP, HTTP or HTTPS
probes, and only backends with a recent successful check are eligible for
traffic, so a failed backend stops receiving new connections on its own.

Key changes:
- Add a cell-local backend health record and probe runner
- Fail closed when a probe fails, is missing or goes stale
- Require a matching attachment UID before probing a backend
- Report that probing is unavailable until a location can reach VPC backends
Each location that will serve a load balancer now receives what it needs to
serve: the address, port, backends and health check settings. Locations
validate this request but do not program traffic yet.

Key changes:
- Publish scoped cell intent per listener and per-location IPv6 address
- Hold back setups the data plane cannot serve yet, such as several
  addresses on one listener or more than 64 backends
- Withdraw old intent when a route is removed or an address changes
@scotwells
scotwells force-pushed the codex/nlb-cell-intent branch from af391f7 to f801336 Compare October 23, 2026 15:40
@scotwells
scotwells force-pushed the codex/nlb-source-identity branch from 8bafdab to 8162a4b Compare October 23, 2026 15:40
Base automatically changed from codex/nlb-source-identity to codex/nlb-api-foundation October 23, 2026 15:40
@scotwells
scotwells merged commit f801336 into codex/nlb-api-foundation Oct 23, 2026
2 of 4 checks passed
@scotwells
scotwells deleted the codex/nlb-cell-intent branch October 23, 2026 15:40
@cla-assistant

cla-assistant Bot commented Oct 23, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@scotwells
scotwells restored the codex/nlb-cell-intent branch October 23, 2026 15:55
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.

3 participants