Co to znamená
Uzel zaslechnutý na multicastu a vrácený rendezvous je jeden záznam se dvěma pozorováními — nikdy dva řádky s jednou pravdou každý. CLI, /api/v1/mesh/nodes, nástroje MCP i stránka mesh v Cockpitu se nemohou neshodnout v tom, kdo existuje, protože žádný z nich nedrží seznam: všechny vykreslují mesh::MeshRegistry. Registr je omezený (256 záznamů; důvěryhodné uzly se kvůli místu nikdy nevyřazují, takže záplava nemůže vyplavit flotilu), zahazuje opakování podle pořadí na instanci, po minutě ticha ztlumí přítomnost a po patnácti minutách záznamy úplně expiruje. Restart — stejný klíč, nová instance — záznam aktualizuje a zvýší restarts; nikdy jej nezduplikuje.
Princip
Deduplikace probíhá podle id uzlu, což je digest veřejného klíče Ed25519 uzlu — nikdy podle adresy, takže stroj, který změní IP, je stále sám sebou. Poskytovatelé předávají surové bajty manažeru (mesh::manager), který vlastní jedinou ověřovací cestu — velikost, tvar, verze, meze, zastaralost, podpis — a teprve pak sahá do registru (apps/majordomus-cli/src/mesh/registry.rs). Unit testy registru dokazují konvergenci, zahazování replayů, zpracování restartu a mez vyřazování; test/cases/130_mesh.sh dokazuje cestu operátora; apps/majordomus-cli/tests/mesh.rs ji dokazuje přes skutečný socket. scripts/ci/mesh-check (kontrola mesh-check) odmítne UDP socket mimo src/mesh/ a druhé místo konstrukce MeshRegistry, takže vlastnost jednoho registru drží stroj, ne paměť.
Jak to vidět
majordomus mesh nodes # the registry, one row per node
curl http://127.0.0.1:8741/api/v1/mesh/nodes
scripts/ci/mesh-check # the structural half, as CI runs it
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib mesh::registry
two_sources_converge_into_one_record a a_replay_is_dropped_and_counted jsou pojmenované unit důkazy; tests/mesh.rs ukazuje jeden záznam, který přežije restart přes HTTP.
Co nepokrývá
Registr není trvalý: restart serveru zapomene, co bylo pozorováno, a je to záměr. A neověřuje — ověření probíhá ve správci dřív, než cokoli dorazí do registru; slibem samotného registru je konvergence a meze.
Proč existuje
Charakteristickou vadou subsystémů objevování je jeden seznam peerů na transport, dokud se povrchy nerozejdou. Opravou je jeden omezený registr krmený jednou ověřovací cestou — a kontrola, která jej drží, aby vlastnost přežila přispěvatele, kteří ADR nikdy nečetli.