summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
authorSamuel <34555296+Flam3rboy@users.noreply.github.com>2021-10-15 00:49:33 +0200
committerGitHub <noreply@github.com>2021-10-15 00:49:33 +0200
commit04dafa704de0275fcb29818664f1872119c8e213 (patch)
tree884135359535783514ea25dd813c74b609a309cd /api/src
parentMerge pull request #448 from Mr2u/master (diff)
parentMerge pull request #454 from hbjydev/status-probes (diff)
downloadserver-04dafa704de0275fcb29818664f1872119c8e213.tar.xz
Merge pull request #460 from fosscord/dev
merge dev in master
Diffstat (limited to 'api/src')
-rw-r--r--api/src/middlewares/Authentication.ts2
-rw-r--r--api/src/routes/-/healthz.ts17
-rw-r--r--api/src/routes/-/readyz.ts17
3 files changed, 36 insertions, 0 deletions
diff --git a/api/src/middlewares/Authentication.ts b/api/src/middlewares/Authentication.ts
index 5a082751..59a181e6 100644
--- a/api/src/middlewares/Authentication.ts
+++ b/api/src/middlewares/Authentication.ts
@@ -9,6 +9,8 @@ export const NO_AUTHORIZATION_ROUTES = [
 	"/ping",
 	"/gateway",
 	"/experiments",
+	"/-/readyz",
+	"/-/healthz",
 	/\/guilds\/\d+\/widget\.(json|png)/
 ];
 
diff --git a/api/src/routes/-/healthz.ts b/api/src/routes/-/healthz.ts
new file mode 100644
index 00000000..a42575f8
--- /dev/null
+++ b/api/src/routes/-/healthz.ts
@@ -0,0 +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) => {
+	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/-/readyz.ts b/api/src/routes/-/readyz.ts
new file mode 100644
index 00000000..a42575f8
--- /dev/null
+++ b/api/src/routes/-/readyz.ts
@@ -0,0 +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) => {
+	try {
+		// test that the database is alive & responding
+		getConnection();
+		return res.sendStatus(200);
+	} catch(e) {
+		res.sendStatus(503);
+	}
+});
+
+export default router;