Zustand cruncher â Container-KrĂŒmel âin the middle"
Stand: 2026-09-25 (abends) · fĂŒr: morgen in der Null / auf dem Parkplatz weiterbauen
Node: cruncher · NetBox device 13 · RPi5 8GB + NVMe + Hailo-8L · Site crumbcase00 (Pelikan-Koffer)
Was cruncher jetzt IST
cruncher ist der Container-KrĂŒmel âin the middle": zuhause im Pelikan-Koffer (crumbcase00),
arbeitet mit crumbdesktop zusammen (#questions-core #missionscore), trĂ€gt spĂ€ter die KrĂŒmelrobos
(#esps #senseron). Der kurze OZM-Museum-Stand war ein Ausflug â jetzt zurĂŒck im Container, wo es
gebaut wurde. Waldtech reist nur im Peli-Case/Vault.
Doppel-IdentitÀt: trÀgt weiter das lebende Exponat (hexapi-Container, mosquitto, InfluxDB) UND
ist jetzt ein echter hailo-node. Default-IP 10.60.0.199 (Container-Kante), WG 10.42.0.19.
Was heute erledigt wurde (alles committet + gepusht auf main)
| Strang | Was | Status | Commit |
|---|---|---|---|
| A IdentitĂ€t | Rolle mqtt-hostâhailo-node, Siteâcrumbcase00, Tags +hailo+visionâmuseum, Hailo-8L ins NetBox-Inventory | â NetBox + SOT | 6f94687 |
| B Hailo-Nerv | DKMS fĂŒr -2712 gebaut, hailo_pci geladen, /dev/hailo0, hailortcli identify rc=0 â no-reboot |
â | aebed96 |
| D OZM-Inbox Host-Vertrag | User crumb-inbox, /srv/ozm-inbox, INTEGRITY_KEY_V1 (on-node, 0600), export.env, Unit disabled |
â Primitive | fbb360e |
| C qdrant | natives musl-Binary v1.19.1 (16K-page safe), System-Unit, Loopback 6333, readyz 200, NRestarts=0 |
â geheilt | a982a40 |
Playbooks (alle idempotent, --check zuerst):
playbooks/cruncher-hailo.yml · playbooks/ozm-inbox-host.yml · playbooks/cruncher-qdrant.yml
NetBox-Sync: netbox-raspis.yml --limit cruncher (kann jetzt nb_inventory_items).
â ïž ZUGANG (wichtig fĂŒrs Weiterbauen)
Vom Mac aus ist cruncher NUR ĂŒber den nullfeld-Sprung erreichbar (Inventory sagt 192.168.1.10
ohne Proxy = von unterwegs tot; WG 10.42.0.19:22 direkt vom Mac = Timeout). Ansible-LĂ€ufe brauchen:
# SSH-Config (ProxyJump ĂŒber nullfeld) einmal anlegen:
cat > /tmp/cruncher_wg.cfg <<'EOF'
Host nullfeld-hub
HostName 194.164.194.191
User root
IdentityFile ~/.ssh/crumbforest_spirale
IdentitiesOnly yes
Host 192.168.1.10
HostName 10.42.0.19
User sysop
IdentityFile ~/.ssh/crumbforest_cruncher
IdentitiesOnly yes
ProxyJump nullfeld-hub
EOF
# dann jedes Playbook so fahren:
ANSIBLE_SSH_ARGS="-F /tmp/cruncher_wg.cfg -o ControlMaster=auto -o ControlPersist=60s" \
ANSIBLE_HOST_KEY_CHECKING=False \
ansible-playbook playbooks/<play>.yml --limit cruncher --check --diff
Grund: Inline--o ProxyCommand via -e bricht auf ansible 14 / py3.14 (tty-Parser).
Auf dem Parkplatz / im Container hĂ€ngt cruncher lokal (192.168.1.10 bzw. 10.60.0.199) â
dort ist der Sprung nicht nötig, direkt per LAN erreichbar.
Der Host-Vertrag fĂŒr ozmai (Export-Seite steht, wartet auf Code)
Node : cruncher (WG 10.42.0.19)
Bind : 10.42.0.19:8790 (wg0, NICHT 0.0.0.0) â TCP nullfeldâcruncher bewiesen (PONG)
User : crumb-inbox (system, nologin)
Binary : /srv/ozm-inbox/bin/room-export â Deploy = ozmai (aus OZM_Nullfeld_v1)
Key : /srv/ozm-inbox/integrity_key_v1 (HMAC, on-node, 0600, â SSH/WG)
Room : /srv/ozm-inbox/room (read-only Quelle)
Config : /etc/ozm-inbox/export.env (OZM_INBOX_* â Namen = Vorschlag, abstimmbar)
Unit : ozm-inbox-export.service (installiert, DISABLED â gehĂ€rtet, wg-scoped)
NĂ€chste Schritte (gemeinsame Kante mit ozmai):
1. ozmai deployt room-export nach /srv/ozm-inbox/bin/ (env-Namen ggf. abstimmen)
2. Unit enable+start â echter Envelope â HMAC â Relay-Spool â STORED_BY_RELAY
3. erst DANACH die Gegendruck-Harness â eng inbox-scoped (KILL nur der Unit, DROP/DELAY/
REORDER/DUP/INVALID_HMAC/REMOVE_ACK/CONCURRENT_EXECUTOR). VERBOTEN auf diesem Host:
DISK_FULL, READ_ONLY_FS, RESTART_NODE, POWER_LOSS (das Exponat teilt sich die Kiste).
Evidence = append-only JSONL-Receipt am Runner, kein NEXUS-Auto-Finding.
Offene Punkte / Beobachtungen (nicht blockierend)
- UFW ist
inactiveauf cruncher; mosquitto (1883) + influxdb (8086) binden0.0.0.0/*
(weit offen). FĂŒr den echten Envelope-Lauf: eine bezeugte, WG-scoped UFW-Kante setzen â aber
ERST kartieren, wer mit 1883/8086 spricht (ESPs/VLAN-50/hexapi), sonst killt default-deny das Exponat. - Stale IP:
192.168.1.10(NetBox id 23) hÀngt noch an eth0; primÀr ist jetzt10.60.0.199.
Harmlos, kann bei Gelegenheit aufgerĂ€umt werden. - GroĂer Bruder snakeview: volles Hailo-8 (cruncher = 8L), gleicher -2712-Kernel, gleiches
Muster;hailo_pcilĂ€dt bei beiden ohne modules-load.d via PCIe-modalias â cruncher wird nach
einem kĂŒnftigen Reboot von selbst wach (snakeview ist der lebende Beweis). #snake - qdrant-Scope: lĂ€uft jetzt lokal auf cruncher (leer, 0 Collections). Falls die Vektor-Arbeit
ganz auf nullfeld/questions-core gehört, wĂ€re âqdrant auf cruncher wieder entfernen" eine Option â
Architektur-Entscheidung, offen. - qdrant systemd-scope: heute System-Unit (nicht
systemd --userwie im TODO) â bewusst, fĂŒr
SSH-Robustheit. Bei Bedarf auf user-scope umstellbar.
Memory-Anker
cruncher-container-kruemel-hailo-node · verwandt: snakeview-hailo-dkms-kernel,
raum-hat-keine-ip-pelicase-key-kontext, pelikan-uplink-scope-sxt-port0,
nexus-passkante-receipt-am-runner, nullfeld-qdrant-ollama-loopback-bind.