feat: Add telemetry API for probe and server monitor ingestion

- Implemented Probe registration endpoint to handle global probes.
- Created Server Monitor ingestion API with endpoints for secret key verification and response ingestion.
- Developed job processing functions for incoming request and probe ingestion.
- Added middleware for probe authorization and request type definitions.
- Enhanced monitor utility functions to populate secrets in monitor steps.
- Introduced queue stats and failed jobs endpoints for server monitor.
This commit is contained in:
Nawaz Dhandala
2026-03-02 21:02:24 +00:00
parent 5695490b3f
commit dc59d59811
77 changed files with 397 additions and 17271 deletions

View File

@@ -357,46 +357,6 @@ services:
context: .
dockerfile: ./IsolatedVM/Dockerfile
probe-ingest:
volumes:
- ./ProbeIngest:/usr/src/app:cached
# Use node modules of the container and not host system.
# https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder
- /usr/src/app/node_modules/
- ./Common:/usr/src/Common:cached
- /usr/src/Common/node_modules/
ports:
- '9932:9229' # Debugging port.
extends:
file: ./docker-compose.base.yml
service: probe-ingest
depends_on:
<<: *common-depends-on
build:
network: host
context: .
dockerfile: ./ProbeIngest/Dockerfile
server-monitor-ingest:
volumes:
- ./ServerMonitorIngest:/usr/src/app:cached
# Use node modules of the container and not host system.
# https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder
- /usr/src/app/node_modules/
- ./Common:/usr/src/Common:cached
- /usr/src/Common/node_modules/
ports:
- '9941:9229' # Debugging port.
extends:
file: ./docker-compose.base.yml
service: server-monitor-ingest
depends_on:
<<: *common-depends-on
build:
network: host
context: .
dockerfile: ./ServerMonitorIngest/Dockerfile
telemetry:
volumes:
- ./Telemetry:/usr/src/app:cached
@@ -417,26 +377,6 @@ services:
context: .
dockerfile: ./Telemetry/Dockerfile
incoming-request-ingest:
volumes:
- ./IncomingRequestIngest:/usr/src/app:cached
# Use node modules of the container and not host system.
# https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder
- /usr/src/app/node_modules/
- ./Common:/usr/src/Common:cached
- /usr/src/Common/node_modules/
ports:
- '9933:9229' # Debugging port.
extends:
file: ./docker-compose.base.yml
service: incoming-request-ingest
depends_on:
<<: *common-depends-on
build:
network: host
context: .
dockerfile: ./IncomingRequestIngest/Dockerfile
mcp:
volumes:
- ./MCP:/usr/src/app:cached