Skip to content

Commit

Permalink
/-/{healthy,ready}/ respond to HEAD (#3039)
Browse files Browse the repository at this point in the history
Some frameworks issue HEAD requests to determine health.

This is meant to be the alertmanager equivalent of prometheus/prometheus#11160

Signed-off-by: Nicolas Dumazet <nicdumz.commits@gmail.com>

Signed-off-by: Nicolas Dumazet <nicdumz.commits@gmail.com>
  • Loading branch information
nicdumz committed Sep 9, 2022
1 parent 228b795 commit dec51b5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/management_api.md
Expand Up @@ -12,6 +12,7 @@ Alertmanager provides a set of management API to ease automation and integration

```
GET /-/healthy
HEAD /-/healthy
```

This endpoint always returns 200 and should be used to check Alertmanager health.
Expand All @@ -21,6 +22,7 @@ This endpoint always returns 200 and should be used to check Alertmanager health

```
GET /-/ready
HEAD /-/ready
```

This endpoint returns 200 when Alertmanager is ready to serve traffic (i.e. respond to queries).
Expand Down
6 changes: 6 additions & 0 deletions ui/web.go
Expand Up @@ -76,10 +76,16 @@ func Register(r *route.Router, reloadCh chan<- chan error, logger log.Logger) {
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "OK")
}))
r.Head("/-/healthy", http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
}))
r.Get("/-/ready", http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "OK")
}))
r.Head("/-/ready", http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
}))

r.Get("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
r.Post("/debug/*subpath", http.DefaultServeMux.ServeHTTP)
Expand Down

0 comments on commit dec51b5

Please sign in to comment.