feat(observability): add phase9 health, readiness, metrics, request tracing, and simulator ops checks

This commit is contained in:
2026-01-25 10:00:00 +00:00
parent f6d66c3650
commit 2580719e03
5 changed files with 134 additions and 0 deletions

View File

@@ -17,7 +17,9 @@ import streamsRoutes from './routes/streams';
import recordingsRoutes from './routes/recordings';
import pushNotificationsRoutes from './routes/push-notifications';
import auditRoutes from './routes/audit';
import opsRoutes from './routes/ops';
import { rateLimit } from './middleware/security';
import { requestContext } from './middleware/observability';
import { setupRealtimeGateway } from './realtime/gateway';
import { ensureMinioBucket } from './utils/minio';
import { startRecordingsWorker } from './workers/recordings';
@@ -49,6 +51,7 @@ app.use(
}),
);
app.use(rateLimit({ keyPrefix: 'global', windowMs: 60_000, max: 400 }));
app.use(requestContext);
app.use(express.json());
app.use('/sim', express.static('public'));
app.use('/videos', videosRoutes);
@@ -61,6 +64,7 @@ app.use('/streams', rateLimit({ keyPrefix: 'streams', windowMs: 60_000, max: 120
app.use('/recordings', rateLimit({ keyPrefix: 'recordings', windowMs: 60_000, max: 120 }), recordingsRoutes);
app.use('/push-notifications', pushNotificationsRoutes);
app.use('/audit', auditRoutes);
app.use('/ops', opsRoutes);
app.use((err: unknown, _req: express.Request, res: express.Response, _next: express.NextFunction) => {
console.error(err);