banger/internal
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
..
api Reject invalid VM CPU and memory values 2026-03-16 16:28:17 -03:00
cli Add concurrent multi-VM CLI actions 2026-03-18 14:04:16 -03:00
config Replace mapdns with daemon DNS 2026-03-17 15:49:35 -03:00
daemon Add concurrent multi-VM CLI actions 2026-03-18 14:04:16 -03:00
firecracker Fix VM startup regressions after shell-out cleanup 2026-03-18 12:18:34 -03:00
guest Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
hostnat Move helper NAT management into Go 2026-03-17 15:07:49 -03:00
model Replace mapdns with daemon DNS 2026-03-17 15:49:35 -03:00
paths Make runtime defaults portable 2026-03-16 15:30:08 -03:00
policy Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
rpc Propagate RPC cancellation to daemon requests 2026-03-16 18:28:33 -03:00
runtimebundle Replace mapdns with daemon DNS 2026-03-17 15:49:35 -03:00
store Add regression coverage for VM failure paths 2026-03-16 15:46:54 -03:00
system Move avoidable daemon shell-outs into Go 2026-03-17 17:13:07 -03:00
vmdns Replace mapdns with daemon DNS 2026-03-17 15:49:35 -03:00