diff options
| author | Jeff Carr <[email protected]> | 2024-11-18 07:49:34 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-11-18 07:49:34 -0600 |
| commit | 82c559e6579f950b11e2fae1afc67660a14c0629 (patch) | |
| tree | 89e840591ed940de5226c15fc395e358f1c4ac26 /http.go | |
| parent | 0b78c1f2d15608a9f6ddfaa977ef0f44dab77073 (diff) | |
apt update triggersv0.0.4
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'http.go')
| -rw-r--r-- | http.go | 52 |
1 files changed, 51 insertions, 1 deletions
@@ -22,6 +22,8 @@ func okHandler(w http.ResponseWriter, r *http.Request) { hostname := r.URL.Query().Get("hostname") flag := r.URL.Query().Get("flag") + packname := r.URL.Query().Get("package") + version := r.URL.Query().Get("version") msg, err := ioutil.ReadAll(r.Body) // Read the body as []byte if err != nil { @@ -42,9 +44,15 @@ func okHandler(w http.ResponseWriter, r *http.Request) { return } log.Log(ZOOD, "proto.Unmarshal() worked on wire message len", len(msg), "from", m.Hostname) + b := me.upgrade[m.Hostname] switch updateMachine(m) { case "upgrade": - fmt.Fprintln(w, "upgrade") + if b { + fmt.Fprintln(w, "apt update") + me.upgrade[m.Hostname] = false + } else { + fmt.Fprintln(w, "upgrade") + } default: fmt.Fprintln(w, "notsure") } @@ -70,6 +78,48 @@ func okHandler(w http.ResponseWriter, r *http.Request) { return } + // list out the machines and thier version of zood + if route == "/list" { + log.HttpMode(w) + defer log.HttpMode(nil) + loop := me.machines.SortByName() + for loop.Scan() { + m := loop.Machine() + zood := m.FindPackageByName("zood") + v := me.targets["zood"] // this is the target version + if zood == nil { + log.Info("machine", m.Hostname, "does not have zood installed") + } else { + log.Info("know about machine", m.Hostname, "zood version", zood.Version, "vs target version", v) + } + } + return + } + + // save the config file + if route == "/save" { + // me.machines.SaveConfig() + return + } + + // flag a package to attempt to upgrade + if route == "/upgrade" { + log.HttpMode(w) + defer log.HttpMode(nil) + me.upgrade[hostname] = true + log.Log(NOW, "setting package ", packname, " to upgrade") + return + } + + // set the target version for a package + if route == "/target" { + log.HttpMode(w) + defer log.HttpMode(nil) + me.targets[packname] = version + log.Log(NOW, "setting package/version to ", packname, " ", version) + return + } + // toggle logging flags if route == "/flag" { log.HttpMode(w) |
