16 lines
950 B
TypeScript
16 lines
950 B
TypeScript
// SPEC: PJ2026-01060508 Web哨兵 draft-2026-07-12-p17-monitor-central-persistence.
|
|
// Responsibility: Explicit DATABASE_URL bootstrap for the independent central Monitor HTTP service.
|
|
import { createMonitorCentralService, createPostgresMonitorCentralStore, MonitorCentralConfigurationError } from "./src/monitor-central-persistence";
|
|
|
|
const databaseUrl = process.env.DATABASE_URL;
|
|
if (!databaseUrl) {
|
|
console.log(JSON.stringify(new MonitorCentralConfigurationError().toJSON()));
|
|
process.exitCode = 2;
|
|
} else {
|
|
const store = createPostgresMonitorCentralStore(databaseUrl);
|
|
await store.migrate();
|
|
const service = createMonitorCentralService({ store });
|
|
const server = Bun.serve({ hostname: process.env.MONITOR_CENTRAL_HOST ?? "127.0.0.1", port: Number(process.env.MONITOR_CENTRAL_PORT ?? "8787"), fetch: service.fetch });
|
|
console.log(JSON.stringify({ ok: true, service: "monitor-central", port: server.port, valuesRedacted: true }));
|
|
}
|