All Glasswall Halo services have implemented health checks to communicate their state to Kubernetes.
If a pod enters an unhealthy state, Kubernetes will disable it and create a new one in its place.
Synchronous API and Asynchronous API
Our API's are hosted in the Kestrel web server which leverages HTTP health checks. These return a 200 OK message when they are in a healthy state and a 503 when in an unhealthy state.
The checks can be made with a call to:
/api/health
Glasswall Engine, Report Aggregator and Cleanup
These services are not hosted with a web server, instead they spin up their own TCP listeners that accept inbound connections. As long as a connection occurs, a liveness probe will see that as being in the 'healthy' state. If the service is in an unhealthy state, the listener must be stopped.