There are a few endpoints that Shield will respond to directly.
When a request comes in for GET /spec
(the path can be changed via config), Shield will return a Swagger JSON object
that represents all of the combined upstream endpoints.
When a request comes in for GET /metrics
(the path can be changed via config), Shield will return a JSON object with
metrics on its performance.
When a request comes in for GET /healthcheck
(the path can be changed via config), Shield will return a JSON object
describing the health of the upstream services for that domain.
{
"listeners": {
"pending": [],
"ready": ["consoleLogger"]
},
"buildInfo": {
"builtAtMillis": "1462987769832",
"name": "Shield",
"scalaVersion": "2.11.7",
"version": "0.2-SNAPSHOT",
"sbtVersion": "0.13.8",
"builtAtString": "2016-05-11 17:29:29.832"
},
"host": "THOR",
"middleware": {
"pending": [],
"ready": []
},
"upstreams": []
}
When starting up, this endpoint will initially return a 503 Service Unavailable
status. Once Shield receives confirmation
that all the listeners, middleware, and upstreams have been initialized and can communicate successfully, this endpoint
will start returning a 200 OK
status. From that point on, even if current upstreams start having problems or new
upstreams can’t be initialized, this endpoint will continue to return a 200 OK
because Shield itself is operational.