control your cluster of virtual machines
Go to file
Jeff Carr a50f387b96 more common code. it might work again. would be nice
to have a kuma check, but no. I fucking deleted it. and
of course with no backup or memory of where I mapped it to. kuma needs
an undelete! or an event log of changes to kuma. ironic since all it
does is track changes in state but it doesn't track it's own changes

Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-10-26 09:38:02 -05:00
resources network is maybe correct as virtio. pci needed? 2024-10-26 02:31:52 -05:00
.gitignore initial something. doesn't do anything yet. 2024-10-11 13:55:13 -05:00
LICENSE initial something. doesn't do anything yet. 2024-10-11 13:55:13 -05:00
Makefile network is maybe correct as virtio. pci needed? 2024-10-26 02:31:52 -05:00
README clean up logging of initial scan of droplets 2024-10-17 15:29:47 -05:00
addDroplet.go more common code. it might work again. would be nice 2024-10-26 09:38:02 -05:00
argv.go generate XML by droplet hostname 2024-10-25 22:07:28 -05:00
event.go compiles and lists hypervisors 2024-10-26 08:54:28 -05:00
http.go compiles and lists hypervisors 2024-10-26 08:54:28 -05:00
main.go works again. I fucking deleted the kuma check 2024-10-26 09:33:31 -05:00
poll.go works again. I fucking deleted the kuma check 2024-10-26 09:33:31 -05:00
start.go compiles and lists hypervisors 2024-10-26 08:54:28 -05:00
structs.go compiles and lists hypervisors 2024-10-26 08:54:28 -05:00
validate.go more common code. it might work again. would be nice 2024-10-26 09:38:02 -05:00
watchdog.go global hypervisor poll delay 2024-10-22 19:57:49 -05:00

README

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
* Only temporarily generate libvirt XML files for virsh create
* This is intended for managing Virtual Machines, not for containers
* This often uses the DO nomenclature 'droplets' instead of 'virtual machines' or 'domU'
* Every droplet is considered hostile
* When possible, use protobuf
* 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