Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
997 B ยท 29 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930import { db } from "@openstatus/db";import { flyServer } from "@openstatus/health-fly";import { healthRoute } from "@openstatus/health-hono";import { tinybirdProbe } from "@openstatus/health-tinybird";import { tursoProbe } from "@openstatus/health-turso";import { TINYBIRD_DEFAULT_URL, isTinybirdNoop } from "@openstatus/tinybird";import type { RequestIdVariables } from "hono/request-id";
import { env } from "./env";
const { TINYBIRD_URL, TINYBIRD_NOOP } = env();
// Kept at `/ping`: Fly's http check and the Dockerfile healthcheck poll it.// `deadlineMs` stays under Fly's 10s timeout.export const pingRoute = healthRoute<{ Variables: RequestIdVariables }>({ path: "/ping", deadlineMs: 8_000, probes: [ tursoProbe({ client: db.$client }), tinybirdProbe({ baseUrl: TINYBIRD_URL || TINYBIRD_DEFAULT_URL, skip: () => isTinybirdNoop(TINYBIRD_NOOP), }), ], extend: (_report, c) => ({ server: flyServer(), requestId: c.get("requestId"), }),});