Management endpoints
nevisAuth implements a liveness endpoint that can, for example, be used to integrate with Kubernetes. Check the Kubernetes documentation for more information on how to configure the liveness probes.
Liveness Endpoint
The liveness endpoint informs whether the server is up or not. The server might be up and running but it might not be ready to properly handle requests (for instance because of a misconfiguration). The liveness endpoint is accessible using the management port which is configured using the management.server.port property as described in the Server configuration properties. Currently, only HTTP is supported.
Validated components
- Jetty server is in a started state.
LocalSessionStoredidn't reach the limit configured inmaxSessions.RemoteSessionStorehas a valid database connection. (in case it is configured)- Remote
OOCDhas a valid database connection. (in case it is configured)
Configuration
Timeout for the jdbc connection validation can be configured by the Java system property -Dch.nevis.auth.health.jdbc.timeout=2 in the env.conf JAVA_OPTS. The value provided is measured in seconds with a default of 2 seconds. Note that in case of validation failure, this timeout is the minimum response time of the Liveness endpoint, so configuring this to high value (for example 30 seconds) could cause a problem in kubernetes depending on how timeouts are configured.
Details
The following table describes the HTTP API of the liveness endpoint:
| Topic | Description |
|---|---|
| Default URL | https://hostname:8997/nevisauth/liveness |
| Request HTTP Method | GET |
| Response Content-Type | application/json;charset=utf-8 |
| Response Body if nevisAuth is Alive | { "status" : "UP" } |
| HTTP Status Code if nevisAuth is Alive | 200 (OK) |
Example with all details
The following example shows the details returned by the nevisAuth livenes endpoint for debugging purposes.
{
"status": "UP",
"details": {
"application": {
"status": "UP"
},
"remoteSessionStore": {
"status": "UP"
},
"localSessionStore": {
"status": "UP"
},
"remoteOOCD": {
"status": "UP"
}
}
}