crumbcollector â der rostige Sammler đŚđ¸
Raw statt setup. Rust neben Python. Lesen vor Schreiben. Fragen vor Import.
â netbox_migration_workflow.md
Control-Node-Binary fĂźr die Erstmigration alter RZ-Nodes in die
CrumbForest NetBox. Durch die Null gebaut â keine Ansible-Abhängigkeit, kein
managed CRON, kein Dual-Use. Gedacht fĂźr den Jetson als Sammler: genauso alt
wie die Bäume, Wurzeln und Verbindungen, die er liest. #rust
Die fĂźnf Kanten
| # | Schritt | Modul |
|---|---|---|
| 1 | SSH-Key-Login ßber die Netzmaske (verschiedene Ports) | net ¡ ssh |
| 2 | Oldschool-Facts Ăźber OS/Versionen â raw statt setup | probe |
| 3 | Durch die Null: roh â NetBox-Gestalt, Ursprung bleibt unangetastet | transform |
| 4 | Geordneter 3-Pass-Import, REST statt Ansible, Fragen vor Import | sink |
| 5 | Alles doppelt loggen â JSONL + crew-Markdown | log |
Passkante als Code
Die classify_nodes.py-Logik ist ein typisierter Enum
(classify::NodeClass):
is_virtual == falseund echte PVE-Version âPveClusterâ Pass 1is_virtual == trueâVmâ Pass 2- Rest â
BareMetalâ Pass 3
Reihenfolge zählt und ist getestet (cargo test).
Kompatibilität mit der Ansible-Altwelt
model::raw::RawNode spiegelt das consolidated_payload
aus serverfacts_v5.yml â der Sammler liest bestehende inventar/*_v4.json
und schreibt dieselbe Form. Rust neben Python, wĂśrtlich.
Stand
Schnitt 1 â Scaffold + Datenmodell. Modell steht, Kanten sind signiert und
mit todo!() markiert. Nichts fährt live gegen echte Nodes oder NetBox.
cargo test # Passkanten-Klassifizierung ist schon grĂźn
cargo run # zeigt die Pipeline-Ăbersicht
Nächste Schnitte: net/ssh (russh, ipnet) ¡ probe (Parser) ¡
transform (Umrechnungen) ¡ sink (reqwest) ¡ log (Writer).
Teil von crumbforest.io (OZM gGmbH Hamburg). Kinder dĂźrfen niemals
ausgeschlossen werden. đŤ kein Dual-Use ¡ đ¸ Wuhuuu = Freude