/-/{healthy,ready}/ respond to HEAD (#3039)

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>
This commit is contained in:
Nicolas Dumazet 2022-09-09 16:08:46 +02:00 committed by GitHub
parent 228b7959b3
commit dec51b5ad9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -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.
@ -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).

View File

@ -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)