fix: the control plane owns a sidecar's listeners after the handshake - #177
Open
rogefm wants to merge 2 commits into
Open
fix: the control plane owns a sidecar's listeners after the handshake#177rogefm wants to merge 2 commits into
rogefm wants to merge 2 commits into
Conversation
The page said listeners stay in the local file. The first handshake uploads the whole document, listeners included, and the plane owns it from then on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaDjmdUdiRoMXdZBcxwn2r
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
✅ Deploy Preview for decap-documentation ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can switch off images and animations for a plain-text comment |
PR Summary by QodoClarify Control Plane ownership of sidecar listeners
AI Description
High-Level Assessment
Files changed (1)
|
Only the first sentence was false. Replacing the second one too dropped the only mention of how configuration arrives. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WaDjmdUdiRoMXdZBcxwn2r
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.
What
control-plane/connect-sidecar.mdx, step 3, said:The first sentence is false, and the second one left listeners out of the list. It now reads:
Plus one Troubleshooting row for the case this exposes: a Control Plane that already holds a configuration refuses the import and keeps its own.
Why it matters
This is the page a customer reads to connect a sidecar, and it described the ownership model backwards. It also misled us internally about who owns a listener.
The code it now matches
sidecar/daemon/controlplane.go:166-169— "'assigned' imports the file's whole document, so a standalone sidecar connects by adding the URL and passing the token, nothing else. Once the plane holds a configuration it owns it, and listeners still in the file are ignored out loud (Run warns), never merged."importLocalConfig(controlplane.go:355) PUTs the whole document, stripping onlycontrol_plane_urlandlicense.errPlaneAlreadyConfigured(controlplane.go:372) is the refusal the new Troubleshooting row describes. On the gateway it is the seed-once guard inAdoptSidecarConfiguration(gateway/models/sidecars.go:177-196), which answers 409.Not in this PR
| It appears, but runs no managed guardrails |claims a sidecar that could not fetch falls back to its local file. It does not: a failed handshake at startup returns an error and the process refuses to start (controlplane.go:207), and a failed heartbeat keeps serving the last config the plane sent. Left alone here because it is a different claim from the one this PR fixes.How to test
npm run dev # http://localhost:3000/docsOpen
/control-plane/connect-sidecarand read step 3 and the Troubleshooting table. Prose only, inside the existing<Step>and the existing table. No navigation change, no new page.🤖 Generated with Claude Code
https://claude.ai/code/session_01WaDjmdUdiRoMXdZBcxwn2r