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.

Spolupráce v meshi se připouští po jednotlivých linkách, replikuje se jedním žurnálem a každý povrch ji promítá stejně

Spolupráce v meshi se připouští po jednotlivých linkách, replikuje se jedním žurnálem a každý povrch ji promítá stejně

majordomus://rule/project.mesh-cooperation-is-authenticated@1aktivní meshbezpečnostspoluprácedoktrína

odkazuje na něj

Zdůvodnění

Objevování říká, že někde v síti existuje klíč; neumí říct, že klíč právě odpovídá, obsluhuje stejný repozitář, mluví kompatibilním protokolem nebo patří někomu, komu tento repozitář důvěřuje. Mesh, který bere slyšení jako příslušnost k nám, nechá kteréhokoli hosta na segmentu vkládat nároky a předávky; mesh, jehož transporty, povrchy a testy mají každý vlastní představu, kdo je propojen, skončí tak, že Cockpit ukazuje zelenou tečku u runtime, o kterém CLI ví, že zmizel. ADR 0067 uzavírá obojí: přijetí je jeden handshake s typovanými odmítnutími, replikace je jeden podepsaný žurnál skládaný jednou čistou funkcí a každý povrch je jejich projekcí.

Pravidlo exkluzivity je slib produktu lidem, kteří provozují několik relací a několik strojů na jednom repozitáři: exkluzivní nárok vylučuje všude, nebo nikde. Dvě implementace — jedna pro lokální nástěnku, jedna pro vzdálené peery — by činily tento slib závislým na tom, kde zrovna běží druhý worker.

Požadované chování

  1. Linka se naváže jen přes Cooperation::dial a Cooperation::accept_hello, které v pořadí ověřují: velikost a tvar zprávy, podpis Ed25519 pod doménou hello (nebo welcome), časové razítko proti oknu skew, nonce proti replay, vyjednaný rozsah protokolu, že peer není tento runtime, že id mesh repozitáře peera se rovná id tohoto runtime a že klíč peera je důvěryhodný podle deklarované politiky. Každé selhání je RefusalCode, započítané a vypsané se svým detailem.
  2. Id repozitáře v mesh se odvozuje z kořenových commitů repozitáře nebo se deklaruje jako cooperation.repository; nikdy se neodvozuje z cesty v souborovém systému, adresy ani názvu hostitele. Runtimy s různými id repozitáře se nikdy nepropojí.
  3. Relace, tvrzení, předávky a review překračují runtimy jen jako MeshEvent, podepsané klíčem uzlu svého původu. Relay ukládá a přeposílá bajty; událost, jejíž podpis, vazba klíče na stream, repozitář nebo meze neplatí, je odmítnuta u každého konzumenta. Události se identifikují pomocí (stream, seq), aplikují se v pořadí sekvence na stream a duplikát nezmění nic.
  4. Tvrzení rozhodují mesh::state::fold a admission_conflicts nad cestami, které se setkávají v peers::claims_meet. Tvrzení žije, dokud není uvolněno, jeho relace je otevřená a tep jeho proudu stoupl v rámci vypršení; souběžná výhradní tvrzení se všude rozhodnou pro nejnižší (lamport, stream, seq) a ostatní jsou pojmenované konflikty.
  5. CLI, HTTP, OpenAPI, MCP i Cockpit čtou a zapisují kooperaci jen přes schopnosti capability::builtin::mesh. Žádný povrch nedrží vlastní seznam peerů, stav spojení, nárok ani verdikt o životnosti; Cockpit vykresluje mesh.peers, mesh.state a mesh.cooperation.
  6. Nic, co propojený peer pošle, nic nespouští: žurnál nese metadata o práci; jediný soubor, jehož zapsání může vzdálená událost způsobit, je spotřebovaná předávka do adresáře předávek tohoto checkoutu, výslovným lokálním příkazem.

Chování při selhání

scripts/ci/mesh-check skončí s kódem 10 a pojmenuje TCP klienta linku nebo handler linku mimo src/mesh/ a modul schopnosti mesh, Journal vytvořený mimo src/mesh/ nebo stránku Cockpitu, která vykresluje stav mesh, aniž by se zeptala schopnosti mesh. Co statická kontrola nevidí, drží apps/majordomus-cli/tests/mesh_cooperation.rs (oddělené procesy přes TCP: linky, izolace, odmítnutí důvěry, vypršení po pádu a restart, konvergence tří uzlů, nepřátelské zprávy, dva worktree) a test/mesh-lab/run (oddělené linuxové uzly na skutečném bridge: multicastové objevování, oddělení a obnova po pádu); obojí běží v CI.

Ověření

cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib mesh (deduplikace a řazení žurnálu, konvergence a exkluzivita foldu jako vlastnosti, odmítnutí handshaku, relay tří runtime, usmíření po rozdělení sítě přes in-process transport), cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_cooperation a test/mesh-lab/run.

Odkud to pochází

kanonický soubor
.ai/repo/rules/project/mesh-cooperation-is-authenticated.v1.md
identity
project.mesh-cooperation-is-authenticated@1
dostupné také jako
Zdroj MCP majordomus://rule/project.mesh-cooperation-is-authenticated@1 · majordomus entity show rule/project-mesh-cooperation-is-authenticated-1 · GET /api/v1/entity?uri=majordomus://rule/project.mesh-cooperation-is-authenticated@1
v Cockpitu
/cockpit/objects/rule/project-mesh-cooperation-is-authenticated-1

Tato stránka je generována z výše uvedeného souboru pomocí scripts/generate-site-data; úprava stránky nic nemění, úprava souboru změní všechna rozhraní. Výše uvedené vztahy jsou hrany docs/generated/graph.json, které spustitelný program zapisuje ze stejného indexu.

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