Co to znamená
Být slyšen v síti neznamená být propojen. Runtime, který chce spolupracovat, předloží podepsaný hello — svůj klíč, runtime, instanci, identitu repozitáře, verzi, funkce, čerstvý nonce a rozsah verzí linkového protokolu, který mluví — a odpovídající runtime ho propojí, jen když se podpis ověří, časové razítko je čerstvé, nonce nebyl použit, rozsahy protokolu se potkají, peer není sám sebou, identita repozitáře je jeho vlastní a klíč je důvěryhodný podle deklarované politiky. Volající uplatní stejné kontroly na podepsaný welcome, který dostane zpět. Cokoli jiného je odmítnutí s kódem (malformed, oversized, signature, stale, replay, protocol_unsupported, self_link, repository_mismatch, untrusted, capacity, a pro kolo synchronizace not_active nebo unknown_link), spočítané a vypsané na mesh.cooperation s detailem — nikdy tiše zahozený socket.
Princip
Handshake i každé další kolo synchronizace jsou zprávy Signed: kanonický JSON pod doménou podpisu pro každou zprávu, takže podpis nad hello nelze nikdy přehrát jako sync. apps/majordomus-cli/src/mesh/link.rs definuje zprávy a kódy odmítnutí; apps/majordomus-cli/src/mesh/cooperation.rs (accept_hello, dial, accept_sync, sync_with) je jediná cesta přijetí, poskytovaná jako POST /api/v1/mesh/link/hello a /api/v1/mesh/link/sync modulem schopnosti mesh. Po handshake nese každé kolo synchronizace id spojení a rostoucí čítač, takže přehrané kolo je rovněž odmítnuto a restartovanému peeru se řekne, aby pozdravil znovu.
Jak to vidět
majordomus mesh peers # linked runtimes and each link's state
curl http://127.0.0.1:8741/api/v1/mesh/cooperation | jq '.peers, .refused'
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_cooperation
two_runtimes_link_and_share_sessions_claims_reviews_and_a_handover propojí dva samostatné serverové procesy přes TCP; malformed_forged_and_future_link_messages_are_typed_refusals_over_http pošle nesmysl, zfalšovanou kartu a budoucí rozsah protokolu a přečte zpět každé odmítnutí.
Co nepokrývá
Nešifruje: spustitelný soubor nemá TLS, takže spoje patří do soukromé sítě nebo overlaye (tailnet, WireGuard), které zajišťují důvěrnost. Autentizuje klíče, ne lidi: kdo drží povolený klíč uzlu, je tento uzel.
Proč existuje
Discovery sdělí runtimu, že někde existuje klíč. Spolupráce dovolí tvrzením toho klíče vyloučit vaši práci a jeho předávkám přistát ve vašem checkoutu, takže přijetí musí prokázat víc: že klíč právě odpovídá, obsluhuje váš repozitář, mluví vaším protokolem a je takový, kterému důvěřujete.