summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
authorHayden Young <hi@hbjy.dev>2021-10-14 18:47:05 +0100
committerHayden Young <hi@hbjy.dev>2021-10-14 18:47:05 +0100
commit4009e9d2dd95bda111f8ee007171c929c1653432 (patch)
tree5ba3fceb70f9d0d0213b74033420423de7a47e4f /api/src
parentfeat: initial addition of a healthz, readyz and metrics route (diff)
downloadserver-4009e9d2dd95bda111f8ee007171c929c1653432.tar.xz
feat: implement a database check on the healthz and readyz probes, remove /-/metrics
Diffstat (limited to 'api/src')
-rw-r--r--api/src/routes/-/healthz.ts9
-rw-r--r--api/src/routes/-/metrics.ts10
-rw-r--r--api/src/routes/-/readyz.ts9
3 files changed, 16 insertions, 12 deletions
diff --git a/api/src/routes/-/healthz.ts b/api/src/routes/-/healthz.ts

index bfd98a22..a42575f8 100644 --- a/api/src/routes/-/healthz.ts +++ b/api/src/routes/-/healthz.ts
@@ -1,10 +1,17 @@ import { Router, Response, Request } from "express"; import { route } from "@fosscord/api"; +import { getConnection } from "typeorm"; const router = Router(); router.get("/", route({}), (req: Request, res: Response) => { - res.sendStatus(200); + try { + // test that the database is alive & responding + getConnection(); + return res.sendStatus(200); + } catch(e) { + res.sendStatus(503); + } }); export default router; diff --git a/api/src/routes/-/metrics.ts b/api/src/routes/-/metrics.ts deleted file mode 100644
index bfd98a22..00000000 --- a/api/src/routes/-/metrics.ts +++ /dev/null
@@ -1,10 +0,0 @@ -import { Router, Response, Request } from "express"; -import { route } from "@fosscord/api"; - -const router = Router(); - -router.get("/", route({}), (req: Request, res: Response) => { - res.sendStatus(200); -}); - -export default router; diff --git a/api/src/routes/-/readyz.ts b/api/src/routes/-/readyz.ts
index bfd98a22..a42575f8 100644 --- a/api/src/routes/-/readyz.ts +++ b/api/src/routes/-/readyz.ts
@@ -1,10 +1,17 @@ import { Router, Response, Request } from "express"; import { route } from "@fosscord/api"; +import { getConnection } from "typeorm"; const router = Router(); router.get("/", route({}), (req: Request, res: Response) => { - res.sendStatus(200); + try { + // test that the database is alive & responding + getConnection(); + return res.sendStatus(200); + } catch(e) { + res.sendStatus(503); + } }); export default router;