QEMU/KVM virtual machine management via QMP
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Upgrade to ocamlformat 0.29.0; fix csvt/sexpt streaming; reformat

- Update .ocamlformat to 0.29.0 across all 591 files
- csvt: reuse single Buffer.t for field reads (no alloc per field)
- sexpt: Obj members decoded from stream into Dict, typed Variant GADT
- Reformat all source files for 0.29.0

+47 -47
+1 -1
.ocamlformat
··· 1 - version=0.28.1 1 + version = 0.29.0
+23 -23
lib/qemu.ml
··· 6 6 {1 Quick Start} 7 7 8 8 {[ 9 - open Eio.Std 9 + open Eio.Std 10 10 11 - let () = 12 - Eio_main.run @@ fun env -> 13 - let net = Eio.Stdenv.net env in 14 - let proc_mgr = Eio.Stdenv.process_mgr env in 15 - Switch.run @@ fun sw -> 16 - (* Create VM configuration *) 17 - let config = 18 - Qemu.Vm.Config.default ~name:"test-vm" 19 - |> Qemu.Vm.Config.with_memory_mb 1024 20 - |> Qemu.Vm.Config.with_disk "/path/to/disk.img" 21 - |> Qemu.Vm.Config.with_kernel "/path/to/vmlinuz" 22 - in 23 - (* Spawn QEMU process *) 24 - let vm = Qemu.Vm.spawn ~proc_mgr config in 25 - (* Connect to QMP socket *) 26 - match Qemu.Vm.connect ~sw ~net vm with 27 - | Error e -> failwith e 28 - | Ok () -> ( 29 - (* Query status *) 30 - match Qemu.Vm.query_status vm with 31 - | Ok status -> Fmt.pr "VM status: %a@." Qemu.Qmp.Status.pp status 32 - | Error e -> Fmt.pr "Error: %s@." e) 11 + let () = 12 + Eio_main.run @@ fun env -> 13 + let net = Eio.Stdenv.net env in 14 + let proc_mgr = Eio.Stdenv.process_mgr env in 15 + Switch.run @@ fun sw -> 16 + (* Create VM configuration *) 17 + let config = 18 + Qemu.Vm.Config.default ~name:"test-vm" 19 + |> Qemu.Vm.Config.with_memory_mb 1024 20 + |> Qemu.Vm.Config.with_disk "/path/to/disk.img" 21 + |> Qemu.Vm.Config.with_kernel "/path/to/vmlinuz" 22 + in 23 + (* Spawn QEMU process *) 24 + let vm = Qemu.Vm.spawn ~proc_mgr config in 25 + (* Connect to QMP socket *) 26 + match Qemu.Vm.connect ~sw ~net vm with 27 + | Error e -> failwith e 28 + | Ok () -> ( 29 + (* Query status *) 30 + match Qemu.Vm.query_status vm with 31 + | Ok status -> Fmt.pr "VM status: %a@." Qemu.Qmp.Status.pp status 32 + | Error e -> Fmt.pr "Error: %s@." e) 33 33 ]} 34 34 35 35 {1 Architecture}
+23 -23
lib/qemu.mli
··· 11 11 {1 Quick Start} 12 12 13 13 {[ 14 - open Eio.Std 14 + open Eio.Std 15 15 16 - let () = 17 - Eio_main.run @@ fun env -> 18 - let net = Eio.Stdenv.net env in 19 - let proc_mgr = Eio.Stdenv.process_mgr env in 20 - Switch.run @@ fun sw -> 21 - (* Create VM configuration *) 22 - let config = 23 - Qemu.Vm.Config.default ~name:"test-vm" 24 - |> Qemu.Vm.Config.with_memory_mb 1024 25 - |> Qemu.Vm.Config.with_disk "/path/to/disk.img" 26 - |> Qemu.Vm.Config.with_kernel "/path/to/vmlinuz" 27 - in 28 - (* Spawn QEMU process *) 29 - let vm = Qemu.Vm.spawn ~proc_mgr config in 30 - (* Connect to QMP socket *) 31 - match Qemu.Vm.connect ~sw ~net vm with 32 - | Error e -> failwith e 33 - | Ok () -> ( 34 - (* Query status *) 35 - match Qemu.Vm.query_status vm with 36 - | Ok status -> Fmt.pr "VM status: %a@." Qemu.Qmp.Status.pp status 37 - | Error e -> Fmt.pr "Error: %s@." e) 16 + let () = 17 + Eio_main.run @@ fun env -> 18 + let net = Eio.Stdenv.net env in 19 + let proc_mgr = Eio.Stdenv.process_mgr env in 20 + Switch.run @@ fun sw -> 21 + (* Create VM configuration *) 22 + let config = 23 + Qemu.Vm.Config.default ~name:"test-vm" 24 + |> Qemu.Vm.Config.with_memory_mb 1024 25 + |> Qemu.Vm.Config.with_disk "/path/to/disk.img" 26 + |> Qemu.Vm.Config.with_kernel "/path/to/vmlinuz" 27 + in 28 + (* Spawn QEMU process *) 29 + let vm = Qemu.Vm.spawn ~proc_mgr config in 30 + (* Connect to QMP socket *) 31 + match Qemu.Vm.connect ~sw ~net vm with 32 + | Error e -> failwith e 33 + | Ok () -> ( 34 + (* Query status *) 35 + match Qemu.Vm.query_status vm with 36 + | Ok status -> Fmt.pr "VM status: %a@." Qemu.Qmp.Status.pp status 37 + | Error e -> Fmt.pr "Error: %s@." e) 38 38 ]} 39 39 40 40 {1 Architecture}