Repository navigation
Prove MASQUE packet attachments on the Galactic Edge foundation #974
Description
Parent: #970
Deliverable
A reproducible MASQUE packet-access integration fixture on Talos/Cilium using the foundation-owned attachment lifecycle.
Dependencies
#972, #993; reuse the #1000 conformance harness and #1002 target setup. Final platform evidence requires their qualified artifacts; fixture work can proceed earlier.
Galactic Edge integration (#992)
Implement this milestone as a consumer of the Galactic Edge provider contract. #992 owns provider authorization, host attachment lifecycle, shared-state fencing and maintenance, independently enforced forwarding expiry, prefix conflict arbitration/publication, and gVPC traffic policy. MASQUE owns client authentication, connector /96 assignment and retention, session packet checks, transport behavior and its provider adapter. Use the foundation's versioned contract and existing provider helpers; do not introduce a second host-networking controller, lease store or BGP publisher. Any required foundation change must be tracked and qualified under #992 before this milestone claims integrated acceptance.
Work
- Consume PacketAccess/v1 and PrefixReachability/v1 through the provider contract, using the existing independent-provider fixture as a reference.
- Record actual Talos, Cilium, Kubernetes, kernel and artifact versions, pod-bound identity, device access and required provider/container permissions. No host namespace, hostPath, NET_ADMIN or BPF access for MASQUE.
- Exercise overlapping tenants, local and remote workload paths, cold neighbors, NAT egress on the attachment node, pod recreation and cleanup through core-owned resources.
- Reuse executed foundation failure evidence where applicable; add MASQUE adapter-specific tests and settle relevant Edge pod attachments: unchecked caller inputs and weak isolation tests #989 findings. The closed fixes galactic-edge cannot create the TUN device for PacketAccess attachments #1064/Edge admission accepts a contract version core does not implement #1066/Workloads cannot reach a Galactic Edge attachment on their own node #1067 require inclusion in the tested artifact versions, not lab workarounds.
Acceptance criteria
- The actual deployed agent creates PacketAccess attachments and the provider opens them without privileged manual setup.
- Positive and negative packet checks prove isolation in both directions, including identical addresses and a destination belonging only to the other VPC.
- Pod recreation, partial setup and teardown preserve unrelated/replacement resources; cleanup is asserted and failures fail the run.
- Target-platform checks execute with pinned versions and recorded results; skips, mocks and readiness-only checks do not pass the gate.
Scope follows #970: CONNECT-IP with HTTP/2 fallback; no public API development, plugin/portal integration, product-client development or production rollout.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Activity
[-]MASQUE: prove isolated gVPC attachments on Talos/Cilium[/-][+]Prove isolated gVPC attachments on Talos/Cilium[/+][-]Prove isolated gVPC attachments on Talos/Cilium[/-][+]Prove MASQUE packet attachments on the Galactic Edge foundation[/+]privateip commentedon Oct 27, 2026
Checked against
mainat 509c9c99d. The deliverable is still missing, so this issue stays open.What exists on
maininternal/edge/connectipis the HTTP/3 CONNECT-IP protocol component. ItsAdmission,LeaseandPacketBackendinterfaces are implemented only by fixtures in its own tests and intests/connectipinterop. Nothing connects it toEdgeInstance,EdgeAttachmentorEdgeRoute.examples/edge-provideris the independent reference provider. It opens aPacketAccessTUN device and answers ICMPv6 echo and UDP, but it does not speak CONNECT-IP.tests/edgeconformanceruns the foundation contract rows against the containerlab lab only. No checked-in target exists for a cluster of real nodes: Qualify the foundation on the target platform #1002 was closed as not planned and test(edge): Run edge conformance on a cluster of real nodes #1118 was closed without merging.Gaps against the acceptance criteria
PacketAccessattachment that MASQUE then opens.connectipTUN tests demultiplex within one VPC, and conformance row 06 uses the reference provider's echo.The fix plan will follow in a separate comment.
privateip commentedon Oct 27, 2026
Fix plan:
Fixture provider. A test-only command in the root module (it needs
internal/edge/connectip) that runs as an approved Edge provider:EdgeInstancelease, requests aPacketAccessEdgeAttachmentand claims a per-connector /96EdgeRoute, following the reference provider;connectip.TUNBackendon the attachment's device;It ships with an image, kustomizations and unit tests.
MASQUE rows in
tests/edgeconformance, run on the containerlab lab:docs/designs/masque/acceptance.md).Target platform. No harness exists for a cluster of real nodes (Qualify the foundation on the target platform #1002 and test(edge): Run edge conformance on a cluster of real nodes #1118 are closed). The last acceptance criterion stays blocked, and this issue stays open until those rows run on a target cluster.
This changes test and fixture code only, plus one more test image. Core behavior doesn't change. Validation is
task ciandtask verify:edge-conformanceon a freshly deployed lab.privateip commentedon Oct 27, 2026
The target-platform criterion moves to #985. This issue's owner decided to qualify on the target platform there, since #985 already owns the final MASQUE evidence on a staging node. No harness for a cluster of real nodes exists yet. #1002 and #1118 are closed.
The lab work is complete with #1140 and #1169:
#1169 closes this issue when it merges.