I2411 — Server se zapnutým meshem je dosažitelný na tailnetu i v LAN, a jen důvěryhodným peerem
Když je mesh zapnutý, sdílený server naslouchá a inzeruje se na adresách tailnetu a LAN stroje i na loopbacku, aby ho důvěryhodný peer mohl vytočit, zatímco požadavek z ne-loopback adresy zůstává omezen na to, co dovoluje runtime-trust.
PŘIPRAVENO vlna 0 · p0 · profil implementation · běží samostatně
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2411 bude přijato.
Cíl
Když je mesh zapnutý, sdílený server naslouchá a inzeruje se na adresách tailnetu a LAN stroje i na loopbacku, aby ho důvěryhodný peer mohl vytočit, zatímco požadavek z ne-loopback adresy zůstává omezen na to, co dovoluje runtime-trust.
Proč
Server se váže na 127.0.0.1, pokud --host nebo MAJORDOMUS_HTTP_HOST neřekne jinak (apps/majordomus-cli/src/cli.rs:3355-3362), a inzeruje jen loopback (mesh/address.rs:39-45), takže dva stroje s výchozím nastavením se nikdy nemohou navzájem oslovit (docs/MESH.md:383-391). Huby v tomto repozitáři jsou servery spuštěné ručně na 0.0.0.0.
Aktuální stav
Odkazy mezi stroji existují jen přes ručně spuštěné huby.
Cílový stav
Po přistání omezení vzdáleného volajícího z I2123 (PR #860) server se zapnutým meshem naváže adresy, které inzeruje (tailnet a LAN, nikdy veřejné rozhraní), inzerované endpointy jsou ty navázané a volající mimo loopback je držen pravidlem vzdáleného volajícího.
Rozsah
- apps/majordomus-cli/src/cli.rs
- apps/majordomus-cli/src/shared.rs
- apps/majordomus-cli/src/mesh/address.rs
- docs/MESH.md
- test/cases
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Server spuštěný se zapnutým mesh odpoví důvěryhodnému peeru na své adrese v tailnetu bez --host
- Tentýž server odmítne zápis od volajícího mimo loopback, jak runtime-trust vyžaduje
- Server s vypnutým mesh se stále naváže pouze na loopback
Validace
- bin/majordomus plan validate
- cargo test --test serve_lifecycle
Požadované důkazy
- mesh_server_reachable_on_tailnet_test
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I2411.yaml. Přečtěte ho zpět pomocí majordomus plan show I2411.