2024-10-11 13:55:13 -05:00
|
|
|
virtigo: a control panel for your virtual machine cluster
|
|
|
|
|
|
|
|
This is an attempt to make something that should:
|
|
|
|
|
|
|
|
* Maintain the master list of virtual machines that should be running at all times
|
|
|
|
* Work with a cluster of dom0 hypervisiors via libvirt and/or qemu
|
|
|
|
* Understand the cluster and autostart droplets that have failed
|
|
|
|
* Initiate and Handle all droplet events: start, stop, clone, migrate, etc
|
|
|
|
* Verify consistancy on the hypervisors
|
|
|
|
* Initiate and handle live migrations between hypervisors
|
|
|
|
* Talk to the hypervisors using only the virtigo daemon via protobuf
|
|
|
|
* Work in GUI mode (GTK/QT/etc) but ALSO the console (ncurses)
|
|
|
|
* GPL'd with the intent for use with homelab and personal hobbyists
|
|
|
|
|
|
|
|
Notes & Goals:
|
|
|
|
|
|
|
|
* Be super easy to use.
|
|
|
|
* Automatically map access to serial and graphical consoles
|
2024-10-17 15:29:47 -05:00
|
|
|
* Only temporarily generate libvirt XML files for virsh create
|
2024-10-12 10:59:11 -05:00
|
|
|
* This is intended for managing Virtual Machines, not for containers
|
2024-10-11 13:55:13 -05:00
|
|
|
* This often uses the DO nomenclature 'droplets' instead of 'virtual machines' or 'domU'
|
2024-10-12 11:21:45 -05:00
|
|
|
* Every droplet is considered hostile
|
2024-10-12 10:59:11 -05:00
|
|
|
* When possible, use protobuf
|
2024-10-11 13:55:13 -05:00
|
|
|
* Let security be handled externally at the socket layer with other tools
|
|
|
|
* Put network, cpu, etc stats in external tools
|
|
|
|
* Automatic live migration to decommission nodes
|
|
|
|
* Implement iptable rules via the virtigo daemon
|
|
|
|
|
|
|
|
Inspired by:
|
|
|
|
|
|
|
|
* kvm
|
|
|
|
* virt-manager
|
|
|
|
* golang
|
|
|
|
* the simplicity of the DO droplet control panel
|