docker.compose_check/_update über VM-Guest-Agent statt QEMU-Guest-Agent relayen #43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
docker.compose_check/docker.compose_updateüber den theProx-VM-Guest-Agent laufen lassen statt über den QEMU-Guest-Agent — keinqemu-guest-agentmehr nötig, ein Kanal für Discovery (#31), Check und Update.Ist-Zustand
Node-Agent/src/commands.rs:284/288rufendocker_compose::compose_check/update, die viaqm::qm_agent_exec(vmid, …)(=pvesh …/agent/exec, QEMU-Guest-Agent) im Gast ausführen. Voraussetzung: qemu-guest-agent läuft im Gast. Das ist ein anderer Kanal als der VM-Guest-Agent (TCP-9100), über den z. B.vm.port_scanundcollect_dockerlaufen → unterschiedliche Voraussetzungen, kann auseinanderlaufen.Soll: Relay über VM-Guest-Agent (Muster:
vm.port_scan)Node-Agent
Die beiden Docker-Arme von
commands.rs(sync, qm_agent_exec) nachcommands_async.rsverlagern und an den VM-Guest-Agent relayen — analogvm.port_scan(commands_async.rs:155):(analog
docker.compose_update, Timeout ~300).send_and_waitggf. um die Param-Weitergabe (path) erweitern, falls es aktuell nuractionschickt.Optional:
qm_agent_execals Fallback behalten, wenn kein VM-Guest-Agent verbunden ist (rückwärtskompatibel).VM-Guest-Agent (alle Varianten)
Neue Command-Handler
vm.compose_check/vm.compose_update, die lokal im Gast laufen:VM-Guest-Agent/src/main.rsCommand-Match):cd <path> && docker compose pull --dry-runbzw.… pull && docker compose up -d, stdout/stderr einsammeln.Windows-VM-Guest-Agent/src/main.rs): dito mitdocker compose(sofern Docker im Windows-Gast).pfsense_agent.py): i. d. R. kein Docker →status:"skipped"/Fehler „kein Docker".Rückgabe-Shape wie heute (
{status, output, error}) bzw. direkt die strukturierte Digest-Antwort aus #42.Voraussetzung
VM-Guest-Agent muss im Gast Docker-Zugriff haben (Gruppe
dockerbzw. root) — im Issue/Doku vermerken.Bezug
Akzeptanz
cargo build(Linux/FreeBSD/Windows) grün — vor Merge.Branch
feat/compose-via-vm-guest-agent