Open chrisbarber opened 6 years ago
I think this also will resolve @shus2018's concerns from #64
If you want to see prior art from our own stuff, /cgi-bin/apptest.cgi is used for both the load balancer check "is this instance healthy?" and to assist in troubleshooting issues.
The first use-case simply shows a go/no go message when queried for '/cgi-bin/apptest.cgi?quiet'. The latter use case gives a bit more information including which application host the request was routed to.
I fully support the service providing status (rather than my hacks after the fact). In the datacube case, I feel that the status uri should know how many services should be running and validate status of each. If all are healthy: status==green. If one or more are down then report on which ones they are and, if possible, an indication of why they are down (missing files, crashed sub-process,etc.)
ChrisL services all listened for /status and responded with 'OK' or 'error'.
Whatever uri we settle on I would like to be consistent across all applications we produce and support.
Output of cgi/apptest.py is not convenient for load balancer health check definitions. Make a page located at status/index.html which is aware of all expected services (e.g. cell_specimens, connectivity, locator, mouse_ccf, conn_bridge) and reports a single okay / not-okay status.
Also consider renaming cgi/ to cgi-bin/ for slightly better consistency with other apps and services.