design-15 S2b: wire sidecar delivery into approvals - #18
Closed
lr00rl wants to merge 1 commit into
Closed
Conversation
design-15 D2: lines.sync_metadata queues a reviewed sidecar apply for one node — Plan is the metadata document itself (secret-free, so review shows the exact bytes), and the apply script re-verifies the plan hash at execution, failing closed on drift. Queueing is idempotent per (node, metadata sha). Discovery change detection queues the same sync automatically (system actor, own fingerprint map independent of the 6h audit throttle): a node's line set changing across reports queues one pending approval; unchanged or error reports queue nothing. Every byte still waits for an operator's approval.
Contributor
Author
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.
Summary
design-15 D2 trigger wiring (renderer + task shape landed in #13):
lines.sync_metadata {node_id}(in-core,proxy:admin): renders the node sidecar and queues a pending approval —Planis the metadata document itself (secret-free; review shows the exact bytes). Idempotent per (node, metadata sha).applyScriptForroutessingbox-linemetaapprovals to the atomic tmp+mv/.bak writer, re-verifying the plan hash at execution (fail-closed on drift).Stacked on #17. vpn-core manifest/UI companion lands in the plugin repo.
Verification
gofmt/go vetclean;go test ./internal/server/ok (21s)Refs LatticeNet/lattice#2, #13–#17.