aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorAlex Pooley <zuedev@gmail.com>2025-03-19 05:13:20 +0000
committerAlex Pooley <zuedev@gmail.com>2025-03-19 05:13:20 +0000
commita23540112583436b242307a229691b6a5beded71 (patch)
tree976ef17c57b67c412deceb7fd2bf641695ee089f /source
parentb8139c49221d1df79e7db652ee0ce3760014b7ee (diff)
downloadzue.dev-a23540112583436b242307a229691b6a5beded71.tar
zue.dev-a23540112583436b242307a229691b6a5beded71.tar.gz
zue.dev-a23540112583436b242307a229691b6a5beded71.tar.bz2
zue.dev-a23540112583436b242307a229691b6a5beded71.tar.xz
zue.dev-a23540112583436b242307a229691b6a5beded71.zip
remove ts
Diffstat (limited to 'source')
-rw-r--r--source/index.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/source/index.js b/source/index.js
new file mode 100644
index 0000000..c20041b
--- /dev/null
+++ b/source/index.js
@@ -0,0 +1,60 @@
+import { Hono } from "hono";
+import { cors } from "hono/cors";
+
+const app = new Hono();
+
+// unlock cors for all routes
+app.use("*", cors());
+
+// return a simple message
+app.get("/", (c) => {
+ return c.json({
+ message: "Hello, World! :3",
+ });
+});
+
+// return own status of the server
+app.get("/status", (c) => {
+ return c.json({
+ status: "ok",
+ });
+});
+
+// return status of a given service
+app.get("/status/:service", (c) => {
+ const { service } = c.req.param();
+
+ const acceptedServices = [
+ "dns",
+ "load-balancer",
+ "cdn",
+ "functions",
+ "mysql-cluster",
+ "mongodb-cluster",
+ "redis-cluster",
+ "elasticsearch-cluster",
+ "git-connector",
+ "job-runners",
+ "container-registry",
+ "kubernetes-cluster",
+ "bare-metal-servers",
+ "game-server-api",
+ "anti-ddos-protection",
+ "anti-cheat-api",
+ ];
+
+ if (!acceptedServices.includes(service)) {
+ return c.json(
+ {
+ error: "unknown service",
+ },
+ 400
+ );
+ }
+
+ return c.json({
+ status: "ok",
+ });
+});
+
+export default app;