When running the GraphQL Mesh server in a cloud environment in a container, perhaps using a platform like Kubernetes or Elastic Container Service on AWS, we need to specify an HTTP endpoint to act as a health check for the container.
Though it is not well-documented, the Mesh server does have a healthcheck endpoint available.
The route is simply: /healthcheck
Here is an example calling the healthcheck of a locally running Mesh server:
$ curl "http://localhost:4000/healthcheck" -v
* Connected to localhost (127.0.0.1) port 4000 (#0) > GET /healthcheck HTTP/1.1 > Host: localhost:4000 > User-Agent: curl/7.77.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Date: Mon, 19 Dec 2022 03:06:17 GMT < Connection: keep-alive < Keep-Alive: timeout=5 < Content-Length: 0 <
Note that just the root response (“/”) returns an HTTP 302 Found and so /healthcheck is ideal for a 200 OK health status response.