DodoApp: Status page
Implements basic status page, listing all apps and their commit
statuses. Separates web and api endpoints. Unifies API addresses a bit.
Change-Id: I98f9f949a49b60e80e188f7b51ec0e967666e65b
diff --git a/apps/app-runner/server.go b/apps/app-runner/server.go
index 7985ac6..f3ee563 100644
--- a/apps/app-runner/server.go
+++ b/apps/app-runner/server.go
@@ -24,7 +24,7 @@
appDir string
runCommands []Command
self string
- manager string
+ managerAddr string
}
func NewServer(port int, appId string, repoAddr string, signer ssh.Signer, appDir string, runCommands []Command, self string, manager string) *Server {
@@ -38,7 +38,7 @@
appDir: appDir,
runCommands: runCommands,
self: self,
- manager: manager,
+ managerAddr: manager,
}
}
@@ -120,7 +120,6 @@
}
type pingReq struct {
- AppId string `json:"appId"`
Address string `json:"address"`
}
@@ -131,9 +130,12 @@
s.pingManager()
}()
}()
- buf, err := json.Marshal(pingReq{s.appId, s.self})
+ buf, err := json.Marshal(pingReq{
+ Address: fmt.Sprintf("%s:%d", s.self, s.port),
+ })
if err != nil {
return
}
- http.Post(s.manager, "application/json", bytes.NewReader(buf))
+ registerWorkerAddr := fmt.Sprintf("%s/api/apps/%s/workers", s.managerAddr, s.appId)
+ http.Post(registerWorkerAddr, "application/json", bytes.NewReader(buf))
}