Merge pull request #376 from prometheus/move-api-endpoint
web: Move /api/-/reload endpoint to /-/reload.
This commit is contained in:
commit
6db9089469
15
api.go
15
api.go
|
@ -58,7 +58,6 @@ type API struct {
|
||||||
config string
|
config string
|
||||||
resolveTimeout time.Duration
|
resolveTimeout time.Duration
|
||||||
uptime time.Time
|
uptime time.Time
|
||||||
reloadCh chan struct{}
|
|
||||||
|
|
||||||
groups func() AlertOverview
|
groups func() AlertOverview
|
||||||
|
|
||||||
|
@ -75,7 +74,6 @@ func NewAPI(alerts provider.Alerts, silences provider.Silences, gf func() AlertO
|
||||||
silences: silences,
|
silences: silences,
|
||||||
groups: gf,
|
groups: gf,
|
||||||
uptime: time.Now(),
|
uptime: time.Now(),
|
||||||
reloadCh: make(chan struct{}),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,9 +82,6 @@ func NewAPI(alerts provider.Alerts, silences provider.Silences, gf func() AlertO
|
||||||
func (api *API) Register(r *route.Router) {
|
func (api *API) Register(r *route.Router) {
|
||||||
ihf := prometheus.InstrumentHandlerFunc
|
ihf := prometheus.InstrumentHandlerFunc
|
||||||
|
|
||||||
// Register reload API for reload configuration.
|
|
||||||
r.Post("/-/reload", api.reload)
|
|
||||||
|
|
||||||
// Register legacy forwarder for alert pushing.
|
// Register legacy forwarder for alert pushing.
|
||||||
r.Post("/alerts", ihf("legacy_add_alerts", api.legacyAddAlerts))
|
r.Post("/alerts", ihf("legacy_add_alerts", api.legacyAddAlerts))
|
||||||
|
|
||||||
|
@ -114,11 +109,6 @@ func (api *API) Update(config string, resolveTimeout time.Duration) {
|
||||||
api.resolveTimeout = resolveTimeout
|
api.resolveTimeout = resolveTimeout
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reload returns the receive-only channel that signals configuration reload requests.
|
|
||||||
func (api *API) Reload() <-chan struct{} {
|
|
||||||
return api.reloadCh
|
|
||||||
}
|
|
||||||
|
|
||||||
type errorType string
|
type errorType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -383,11 +373,6 @@ func (api *API) listSilences(w http.ResponseWriter, r *http.Request) {
|
||||||
respond(w, sils)
|
respond(w, sils)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (api *API) reload(w http.ResponseWriter, r *http.Request) {
|
|
||||||
fmt.Fprintf(w, "Reloading configuration file...")
|
|
||||||
api.reloadCh <- struct{}{}
|
|
||||||
}
|
|
||||||
|
|
||||||
type status string
|
type status string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
5
main.go
5
main.go
|
@ -187,7 +187,8 @@ func main() {
|
||||||
|
|
||||||
router := route.New()
|
router := route.New()
|
||||||
|
|
||||||
RegisterWeb(router.WithPrefix(amURL.Path))
|
webReload := make(chan struct{})
|
||||||
|
RegisterWeb(router.WithPrefix(amURL.Path), webReload)
|
||||||
api.Register(router.WithPrefix(path.Join(amURL.Path, "/api")))
|
api.Register(router.WithPrefix(path.Join(amURL.Path, "/api")))
|
||||||
|
|
||||||
log.Infoln("Listening on", *listenAddress)
|
log.Infoln("Listening on", *listenAddress)
|
||||||
|
@ -206,7 +207,7 @@ func main() {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-hup:
|
case <-hup:
|
||||||
case <-api.Reload():
|
case <-webReload:
|
||||||
}
|
}
|
||||||
reload()
|
reload()
|
||||||
}
|
}
|
||||||
|
|
7
web.go
7
web.go
|
@ -47,7 +47,7 @@ func serveAsset(w http.ResponseWriter, req *http.Request, fp string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegisterWeb registers handlers to serve files for the web interface.
|
// RegisterWeb registers handlers to serve files for the web interface.
|
||||||
func RegisterWeb(r *route.Router) {
|
func RegisterWeb(r *route.Router, reloadCh chan<- struct{}) {
|
||||||
ihf := prometheus.InstrumentHandlerFunc
|
ihf := prometheus.InstrumentHandlerFunc
|
||||||
|
|
||||||
r.Get("/app/*filepath", ihf("app_files",
|
r.Get("/app/*filepath", ihf("app_files",
|
||||||
|
@ -69,6 +69,11 @@ func RegisterWeb(r *route.Router) {
|
||||||
serveAsset(w, req, "ui/app/index.html")
|
serveAsset(w, req, "ui/app/index.html")
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
r.Post("/-/reload", func(w http.ResponseWriter, req *http.Request) {
|
||||||
|
w.Write([]byte("Reloading configuration file..."))
|
||||||
|
reloadCh <- struct{}{}
|
||||||
|
})
|
||||||
|
|
||||||
r.Get("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
|
r.Get("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
|
||||||
r.Post("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
|
r.Post("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue