diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/index.js | 60 |
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; |
