From 30a5eb56a210c28feca0098fd9e6dc340f494b9f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 23 Feb 2025 17:01:22 -0600 Subject: display status and uptime --- doGui.go | 19 ++++++++++++++++++- http.go | 4 +++- structs.go | 2 ++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/doGui.go b/doGui.go index fe799ca..5a017ab 100644 --- a/doGui.go +++ b/doGui.go @@ -20,7 +20,7 @@ import ( func debug() { for { time.Sleep(90 * time.Second) - log.Info("TODO: virtigo scan here. repo count =") + // log.Info("TODO: use this?") } } @@ -108,6 +108,23 @@ func drawWindow(win *gadgets.BasicWindow) { d := me.cluster.GetDropletsPB() testWin, _ = makeDropletsWindow(d) }) + grid.NextRow() + + me.status = grid.NewLabel("cur status") + grid.NextRow() + me.lastuptime = grid.NewLabel("last uptime") + grid.NextRow() + + grid.NewButton("uptime", func() { + updateUptimeGui("kuma uptime should update this") + }) +} + +func updateUptimeGui(uptime string) { + me.status.SetLabel(uptime) + + datestamp := time.Now().Format("2006-01-02 15:04:03") + me.lastuptime.SetLabel("last uptime at " + datestamp) } func makeDropletsWindow(pb *virtpb.Droplets) (*GenericWindow, *virtpb.DropletsTable) { diff --git a/http.go b/http.go index fd7f5c3..bb5ad24 100644 --- a/http.go +++ b/http.go @@ -31,7 +31,9 @@ func okHandler(w http.ResponseWriter, r *http.Request) { } if route == "/uptime" { ok, s := uptimeCheck() - log.Info(s) + fmt.Fprint(w, s) + // log.Info(s) + updateUptimeGui(s) if ok { // log.Info("Handling URL:", route, "cluster is ok") } else { diff --git a/structs.go b/structs.go index 214be71..ac6cc01 100644 --- a/structs.go +++ b/structs.go @@ -34,6 +34,8 @@ type virtigoT struct { unstableTimeout time.Duration // how long a droplet can be unstable until it's declared dead clusterStableDuration time.Duration // how long the cluster must be stable before new droplets can be started missingDropletTimeout time.Duration // how long a droplet can be missing for + status *gui.Node // the cluster status + lastuptime *gui.Node // the last time uptime was checked by Kuma } // the stuff that is needed for a hypervisor -- cgit v1.2.3