private-networking: controller reads links from the table, retire the projection#3070
Draft
jshearer wants to merge 1 commit into
Draft
private-networking: controller reads links from the table, retire the projection#3070jshearer wants to merge 1 commit into
jshearer wants to merge 1 commit into
Conversation
… projection Cutover on top of the additive private-networking change. The controller now reads desired links from `data_plane_private_links` directly rather than the projected `data_planes.private_links` column, so the transition projection trigger is replaced with a wake-only version that still converges the controller promptly on a link change. Deploy the controller binary before applying this migration. The now-unused `private_links` and legacy `*_link_endpoints` columns (shared by the `data_planes_overview` view and the agent-api endpoint resolvers) are dropped in a single follow-up so the view is recreated once.
be57daf to
eb61a36
Compare
1bfac72 to
a282e05
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #3063 (base branch
jshearer/privatelinks_fast_follow); review and merge that first.The cutover that follows the additive private-networking change. In #3063 desired links live in
data_plane_private_linkswhile the controller still reads them from the projecteddata_planes.private_linkscolumn, so it has no deploy-ordering dependency on the agent-api cutover. This PR moves the controller onto the table directly and retires the projection.What changed
data_plane_private_links(ordered bycreated_at, id); the id is still withheld from est-dry-dock, so the Pulumi input shape is unchanged.data_plane_private_linkstrigger drops its projection intodata_planes.private_linksand becomes wake-only, still sending the controller a converge promptly on any link change.Deploy ordering
Roll out the controller binary before applying the migration. A controller still reading the column keeps getting projected updates until it is replaced; once it reads the table, the projection is gone.
Not in this PR
The now-unused
private_linkscolumn is left in place. It and the legacy*_link_endpointscolumns are all projected by thedata_planes_overviewview and exposed by the agent-api endpoint resolvers, so dropping them (recreating the view once, and removing those resolvers) is a single follow-up rather than recreating the view per column.Testing
supabase db reset; sqlx cache regenerated.data_planessuites green; offline build clean.