40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
|
package main
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
var me virtigoT
|
||
|
|
||
|
// disable the GUI
|
||
|
func (b *virtigoT) Disable() {
|
||
|
// b.mainbox.Disable()
|
||
|
}
|
||
|
|
||
|
// enable the GUI
|
||
|
func (b *virtigoT) Enable() {
|
||
|
// b.mainbox.Enable()
|
||
|
}
|
||
|
|
||
|
// this app's variables
|
||
|
type virtigoT struct {
|
||
|
names []string
|
||
|
hypers []HyperT
|
||
|
droplets []DropletT
|
||
|
}
|
||
|
|
||
|
// the stuff that is needed for a hypervisor
|
||
|
type HyperT struct {
|
||
|
Hostname string // the hypervisor hostname
|
||
|
Scan func() // the function to run to scan the hypervisor
|
||
|
Autoscan bool // to scan or not to scan
|
||
|
Delay time.Duration // how often to poll the hypervisor
|
||
|
Dog *time.Ticker // the watchdog timer itself
|
||
|
}
|
||
|
|
||
|
// the stuff that is needed for a hypervisor
|
||
|
type DropletT struct {
|
||
|
Hostname string // the name of the virtual machine. should be unique (probably enforce this forever)
|
||
|
hname string // the hypervisor it's currently running on
|
||
|
h *HyperT // the hypervisor it's currently running on
|
||
|
lastpoll time.Time // the last time the droplet was seen running
|
||
|
}
|