feat: add API key protection for /api/monitoring endpoints

This commit is contained in:
2026-04-30 13:48:12 +08:00
parent 242d8fa219
commit 191e3624b8
2 changed files with 18 additions and 0 deletions

View File

@@ -25,6 +25,18 @@ const MonitoringServer = new Elysia({ prefix: "/api/monitoring" })
}
}
}))
.onBeforeHandle(({ request, set, path }) => {
// Docs tidak perlu API key
if (path.startsWith("/api/monitoring/docs")) return;
const apiKey = process.env.MONITORING_API_KEY;
const incoming = request.headers.get("x-api-key");
if (!apiKey || incoming !== apiKey) {
set.status = 401;
return { success: false, message: "Unauthorized" };
}
})
.get("/grid-overview", async ({ query, set }) => {
try {