Repository navigation
Add native Tether lifecycle with named isolated attachments - #151
Merged
Merged
Conversation
Add typed offered networks and imported attachments, rootless transport roles, retained key and runtime custody, generation-selected Core connectors, and native preparation, binding, activation, and resumable revocation. Integrate opt-in deployment automation while preserving the default profile. Add focused refusal, recovery, and idempotence coverage. Refs #20 Validation: 598 focused OCI tests; source lint, formatting, and typing; 217 Ansible helper tests and 22 AutoYaST tests. Native qualification pending.
This was referenced Nov 10, 2026
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.
Tether models one offered WireGuard network with multiple peers and named, isolated imported attachments. Operators can register and admit attachments, bind and activate them, and revoke generations without restarting Core.
The fixed host-owned
lychd tethercommand group delegates to typed native services for preparation, key custody, lifecycle recovery, revocation and boot verification. Public Rune intent comparisons retain loader provenance checks. Podman operations use the local engine and verify exact secret identities, labels, material and default storage ownership. Bounded key observations bracket one backend inspection per live owned key with complete custody checks; public planning and commit boundaries obtain fresh proof.Ansible prepares operating-system prerequisites and images, then delegates lifecycle authority to native services. WireGuard kernel preparation and read-only verification have separate task entry points. Repeated deployment verifies the owned runtime, kernel prerequisite and declared host UDP prerequisite. Native nft observation compares the complete expected policy using consistent symbolic formatting.
Deployment assessment recognizes implicit Pod infrastructure only after complete binding proof, exact local-engine Pod/container associations and matching current systemd process identity. Other extra runtime material remains refused.
Refs #20. State of Work retains the source-backed partial delivery boundary; this PR does not close the full acceptance outcome.
Validation on
5993f83:Author review: