Rewrite with libvirt backend
This merge request rewrites Karton with a new UI and implements a libvirt backend.
I made a VM list that listens to libvirt events to update the UI. There's some basic functionality for starting and stopping the VM as well as viewing which is currently done through virt-viewer. VM installation page has minimal configuration as it creates VMs through the virt-install CLI.
Notes:
- You will need to specify an os-variant when making a new VM
- For possible options, run
osinfo-query osfrom libosinfo library.
- For possible options, run
- VM deletion button only undefines the domain.
- After undefining, VM images are still stored in
/home/username/.local/share/libvirt/images.
- After undefining, VM images are still stored in
- List of dependencies can be found in readme
Warning: Still testing, running could potentially break existing libvirt VMs
TODO:
finish VM creation dialog using virt-installfix updating VM list info-
OS icons as previously implemented(on hold) -
merge start/stop button(on hold) deletion button
Future ideas:
- implement Qt-Quick SPICE client instead of using virt-viewer
- configure and make domain .xml files directly with libvirt instead of using virt-install
- UTM-like sidebar
- system monitor for graphing CPU/memory usage
- VM snapshots
- more options for displaying the list like Boxes
- settings page (change b/w system and session hypervisor connection)
- browse for common OS' like Boxes
For more details, check out my GSoC proposal! Any feedback is much appreciated!
Edited by Derek Lin


