From ba61b7863168c03812578d74fbe1e4532eb8b6a5 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 12 Oct 2024 19:44:43 -0500 Subject: [PATCH] add daemon mode Signed-off-by: Jeff Carr --- argv.go | 1 + main.go | 4 ++++ poll.go | 7 +++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/argv.go b/argv.go index 6584e1a..02e30b0 100644 --- a/argv.go +++ b/argv.go @@ -14,6 +14,7 @@ type args struct { Hosts []string `arg:"--hosts" help:"hosts to connect to"` Uptime bool `arg:"--uptime" default:"true" help:"allow uptime checks for things like Kuma"` Port int `arg:"--port" default:"8080" help:"specify a different default port"` + Daemon bool `arg:"--daemon" help:"run in daemon mode"` } func (a args) Description() string { diff --git a/main.go b/main.go index 0964846..fd3884a 100644 --- a/main.go +++ b/main.go @@ -24,6 +24,10 @@ func main() { os.Exit(0) } + if argv.Daemon { + log.DaemonMode(true) + } + readConfigFile("droplets") log.Info("create cluser for", argv.Hosts) diff --git a/poll.go b/poll.go index f9c75ab..42b0455 100644 --- a/poll.go +++ b/poll.go @@ -36,8 +36,11 @@ func (h HyperT) pollHypervisor() { d.lastpoll = time.Now() d.CurrentState = "ON" // log.Info("ALREADY RECORDED", d.Hostname, d.lastpoll) + if d.hname == "" { + log.Log(EVENT, "DROPLET", d.Hostname, "PROBABLY WAS NEVER POLLED YET") + } if d.hname != h.Hostname { - log.Log(EVENT, "DROPLET", d.Hostname, "MOVED FROM", d.hname, "TO", d.Hostname) + log.Log(EVENT, "DROPLET", d.Hostname, "MOVED FROM", d.hname, "TO", h.Hostname) d.hname = h.Hostname } continue @@ -72,7 +75,7 @@ func clusterHealthy() bool { } dur := time.Since(d.lastpoll) // Calculate the elapsed time if d.CurrentState != "ON" { - log.Info("BAD STATE ", d.Hostname, "State =", d.State, "CurrentState =", d.CurrentState, shell.FormatDuration(dur)) + log.Info("BAD STATE", d.State, d.Hostname, d.hname, "CurrentState =", d.CurrentState, shell.FormatDuration(dur)) good = false } else { dur := time.Since(d.lastpoll) // Calculate the elapsed time