28 lines
772 B
JavaScript
28 lines
772 B
JavaScript
// GET /relay/health — public liveness check. No auth, no credit
|
|
// accounting. Returns a minimal status object so monitoring + Recap's
|
|
// /api/relay/status can verify the relay is reachable.
|
|
|
|
import express from "express";
|
|
import { getConfigSnapshot } from "../config.js";
|
|
|
|
export function healthRouter() {
|
|
const router = express.Router();
|
|
|
|
router.get("/health", async (_req, res) => {
|
|
const cfg = await getConfigSnapshot();
|
|
res.json({
|
|
ok: true,
|
|
service: "recap-relay",
|
|
version: "0.1.0",
|
|
backends: {
|
|
gemini: !!cfg.relay_gemini_api_key,
|
|
parakeet: !!cfg.relay_parakeet_base_url,
|
|
gemma: !!cfg.relay_gemma_base_url,
|
|
},
|
|
admin_enabled: !!cfg.relay_admin_password_hash,
|
|
});
|
|
});
|
|
|
|
return router;
|
|
}
|