feat(observability): add phase9 health, readiness, metrics, request tracing, and simulator ops checks
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user