banger/internal/daemon
Thales Maciel 4812693c1e
Add concurrent multi-VM CLI actions
Teach the lifecycle and set commands to accept multiple VM refs, resolve them from one vm list snapshot, dedupe repeated refs, and fan out the existing single-target RPCs concurrently. Valid targets still run when other refs are ambiguous or missing, and batch output stays in first-seen order.

Refactor the daemon off the single global VM mutation lock by adding per-VM locks for start/stop/restart/delete/kill/set, touch, reconcile, stale-stop, and stats updates. That keeps same-VM operations serialized while allowing different VMs to progress in parallel, including newly created VMs once their ID exists.

Verified with go test ./... and make build.
2026-03-18 14:04:16 -03:00
..
daemon.go Add concurrent multi-VM CLI actions 2026-03-18 14:04:16 -03:00
daemon_test.go Replace mapdns with daemon DNS 2026-03-17 15:49:35 -03:00
imagebuild.go Bake mise into default VM images 2026-03-18 13:13:11 -03:00
imagebuild_test.go Bake mise into default VM images 2026-03-18 13:13:11 -03:00
images.go Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
logger.go Add structured daemon lifecycle logs 2026-03-16 16:16:28 -03:00
logger_test.go Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
nat.go Move helper NAT management into Go 2026-03-17 15:07:49 -03:00
nat_test.go Move helper NAT management into Go 2026-03-17 15:07:49 -03:00
preflight.go Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
snapshot.go Harden VM stop cleanup for stale snapshots 2026-03-18 12:28:15 -03:00
snapshot_test.go Harden VM stop cleanup for stale snapshots 2026-03-18 12:28:15 -03:00
vm.go Add concurrent multi-VM CLI actions 2026-03-18 14:04:16 -03:00
vm_test.go Add concurrent multi-VM CLI actions 2026-03-18 14:04:16 -03:00