Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

mesh-connectivity — Trusted nodes connect across NAT through proven transports, and every surface says which path

A connectivity decision record, a relayed path through a trusted hub, a signed bootstrap manifest on Pages, and a NAT matrix in the mesh lab.

BLOKOVÁNO 0 ze 4 úkolů hotovo

připraveno
0
blokováno
4
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

Master links nodes over multicast on one segment and through rendezvous hubs that must be directly reachable; docs/MESH.md states 'no NAT traversal'. The owner asked four times (10-12, 10-16 twice, 10-18) for NAT traversal, relays, WebRTC and a serverless bootstrap; Operation Convergence defers it past v1.0.0-alpha.1. Proposed in ADR 0202 (The mesh routes work to an identity, never an address, and selects among proven transports instead of implementing NAT traversal); ADR 0203 (GitHub Pages is a signed bootstrap anchor for the mesh, never its signalling channel) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c237#2, chatgpt-majordomus:c237#4, chatgpt-majordomus:c275#19, chatgpt-majordomus:c279#5.

Výsledek

A connectivity decision record, a relayed path through a trusted hub, a signed bootstrap manifest on Pages, and a NAT matrix in the mesh lab.

Aktuální stav

Verified: apps/majordomus-cli/src/mesh/{multicast,broadcast,rendezvous}.rs; rendezvous hubs register but do not relay; seeds: none; no WebRTC/STUN/TURN anywhere in apps/; test/mesh-lab/run has ten scenarios, none behind NAT. Tailscale and Bonjour providers are on branches (I2410).

Cílový stav

Endpoint candidates are expiring observations; a link names its path; a node behind NAT cooperates through a relay; a cold node bootstraps from Pages.

Rozsah

  • apps/majordomus-cli/src/mesh
  • test/mesh-lab
  • scripts/pages
  • docs/MESH.md

Mimo rozsah

  • WebRTC data channels for browsers: after the browser-authentication question (proposed on an unlanded branch, no ADR on master) is decided
  • Route learning from telemetry: only after the relay is measured
  • DHT, coordinator election, multi-region gossip

Kritéria přijetí

  • A relayed link and a direct link are both proved in the lab
  • Pages unavailable leaves every existing link up

Validace

  • majordomus plan validate

Rizika

  • A relay is a hub that carries traffic: bandwidth and trust both grow; relayed frames stay authenticated by the existing link signatures but are not encrypted, so a relay hub is private, overlay or behind an encrypted ingress (case 491)
  • Tailnet users may never need it (open question)
  • It follows the-mesh-works-out-of-the-box in practice; the edge is kept off the milestone so two milestones of one order are not reordered.

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I3187 BLOKOVÁNO 1 I2410 A link names the endpoint candidates it tried, the one it chose and why
I3188 BLOKOVÁNO 2 I3176 A cold node finds the mesh from a signed manifest on Pages, and refuses a stale, rolled-back or unsigned one
I3189 BLOKOVÁNO 2 I3187 Two nodes with no direct path cooperate through a trusted hub that relays their authenticated frames
I3190 BLOKOVÁNO 3 I3189 The mesh lab proves links behind NAT, with the relay, a hub outage and an address change

Graf

mesh-connectivity dependency graphz .ai/repo/project
flowchart LR
    I3187["I3187<br/>A link names the endpoint candidates it tried, the one it chose and why"]:::blocked
    I3188["I3188<br/>A cold node finds the mesh from a signed manifest on Pages, and refuses a stale, rolled-back or unsigned one"]:::blocked
    I3189["I3189<br/>Two nodes with no direct path cooperate through a trusted hub that relays their authenticated frames"]:::blocked
    I3190["I3190<br/>The mesh lab proves links behind NAT, with the relay, a hub outage and an address change"]:::blocked
    I3187 --> I3189
    I3189 --> I3190
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/mesh-connectivity.yaml. Read it back with majordomus plan show mesh-connectivity.

Prohledává názvy a popisy všech stránek, které tento web publikuje.