control your cluster of virtual machines
Go to file
Jeff Carr a4a2d7a01f debug changes
Signed-off-by: Jeff Carr <jcarr@wit.com>
2024-11-12 09:49:42 -06:00
resources compiles again 2024-10-31 13:37:00 -05:00
.gitignore git ignore files/ directory 2024-11-04 06:12:58 -06:00
LICENSE initial something. doesn't do anything yet. 2024-10-11 13:55:13 -05:00
Makefile more notes 2024-11-03 01:41:00 -05:00
README.md so it shows up on pkg.go.dev 2024-11-07 07:32:41 -06:00
argv.go notes 2024-11-03 01:38:09 -05:00
build build notes 2024-11-02 23:46:53 -05:00
control make a simple .deb package 2024-10-30 20:31:14 -05:00
dump.go spaces between qcow image names in output 2024-11-03 01:30:08 -05:00
event.go dump more code to virtigoxml 2024-10-31 06:43:14 -05:00
http.go debug changes 2024-11-12 09:49:42 -06:00
importDomain.go everything is working again 2024-11-01 12:48:31 -05:00
main.go still runs 2024-11-06 05:24:09 -06:00
poll.go everything is working again 2024-11-01 12:48:31 -05:00
post.go import worked 2024-11-01 08:30:55 -05:00
start.go common d.SprintHeader() functions for humans 2024-11-01 00:41:00 -05:00
structs.go rename Cluster 2024-11-07 05:04:50 -06:00
validate.go more work on importing 2024-11-01 08:51:25 -05:00
watchdog.go compiles again 2024-10-31 13:37:00 -05:00

README.md

virtigo: a control panel for your virtual machine cluster

There is no greater thrill for a linux sys admin than running your own cloud.

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