summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http.go26
-rw-r--r--windowDroplets.go45
2 files changed, 70 insertions, 1 deletions
diff --git a/http.go b/http.go
index 73dfe0c..861949b 100644
--- a/http.go
+++ b/http.go
@@ -145,6 +145,32 @@ func okHandler(w http.ResponseWriter, r *http.Request) {
return
}
+ if route == "/HypervisorsPB" {
+ pb := me.cluster.GetHypervisorsPB()
+ data, err := pb.Marshal()
+ if err != nil {
+ log.Info("hypervisors marshal failed", err)
+ fmt.Fprintln(w, "hypervisors marshal failed", err)
+ return
+ }
+ w.Write(data)
+ // fmt.Fprintln("droplet marshal failed", err)
+ return
+ }
+
+ if route == "/EventsPB" {
+ pb := me.cluster.GetEventsPB()
+ data, err := pb.Marshal()
+ if err != nil {
+ log.Info("events marshal failed", err)
+ fmt.Fprintln(w, "events marshal failed", err)
+ return
+ }
+ w.Write(data)
+ // fmt.Fprintln("droplet marshal failed", err)
+ return
+ }
+
if route == "/dumpdropletsfull" {
dumpDroplets(w, true)
return
diff --git a/windowDroplets.go b/windowDroplets.go
index b7350df..e94fec2 100644
--- a/windowDroplets.go
+++ b/windowDroplets.go
@@ -45,6 +45,7 @@ func newDropletsWindow() *stdDropletTableWin {
return dwin
}
+/*
func makeWindownDropletsPB(pb *virtpb.Droplets) *stdDropletTableWin {
dwin := new(stdDropletTableWin)
dwin.win = gadgets.NewGenericWindow("virtigo current droplets", "")
@@ -59,7 +60,9 @@ func makeWindownDropletsPB(pb *virtpb.Droplets) *stdDropletTableWin {
return dwin
}
+*/
+/*
func (dwin *stdDropletTableWin) doDropletsTable(currentDroplets *virtpb.Droplets) {
dwin.Lock()
defer dwin.Unlock()
@@ -94,6 +97,7 @@ func addDropletsPB(tbox *gui.Node, pb *virtpb.Droplets) *virtpb.DropletsTable {
t.ShowTable()
return t
}
+*/
// default window for active running droplets
func (dw *stdDropletTableWin) doInactiveDroplets(pb *virtpb.Droplets) {
@@ -113,7 +117,31 @@ func (dw *stdDropletTableWin) doInactiveDroplets(pb *virtpb.Droplets) {
t.SetParent(dw.box)
// pick the columns
- t.AddHostname()
+ // t.AddHostname()
+ dropon := t.AddButtonFunc("Start", func(d *virtpb.Droplet) string {
+ return "poweron"
+ })
+ dropon.Custom = func(d *virtpb.Droplet) {
+ log.Info("start droplet here", d.Hostname)
+ }
+ /*
+ t.AddHostname()
+ t.AddStringFunc("location", func(d *virtpb.Droplet) string {
+ return d.Current.Hypervisor
+ })
+ */
+ vp := t.AddButtonFunc("Configure Hostname", func(p *virtpb.Droplet) string {
+ return p.Hostname
+ })
+ vp.Custom = func(d *virtpb.Droplet) {
+ log.Info("open config window", d.Hostname)
+ }
+ /*
+ t.AddHostname()
+ t.AddStringFunc("location", func(d *virtpb.Droplet) string {
+ return d.Current.Hypervisor
+ })
+ */
t.AddMemory()
t.AddCpus()
@@ -142,6 +170,21 @@ func (dw *stdDropletTableWin) doActiveDroplets(pb *virtpb.Droplets) {
t.NewUuid()
t.SetParent(dw.box)
+
+ serial := t.AddButtonFunc("serial", func(p *virtpb.Droplet) string {
+ return "ttyS0"
+ })
+ serial.Custom = func(d *virtpb.Droplet) {
+ log.Printf("run %s: remmina spice://%s:%d\n", d.Hostname, argv.Server, d.SpicePort)
+ }
+
+ fb := t.AddButtonFunc("fb0 console", func(p *virtpb.Droplet) string {
+ return "remmina"
+ })
+ fb.Custom = func(d *virtpb.Droplet) {
+ log.Printf("run %s: remmina spice://%s:%d\n", d.Hostname, argv.Server, d.SpicePort)
+ }
+
t.AddHostname()
t.AddStringFunc("location", func(d *virtpb.Droplet) string {
return d.Current.Hypervisor