Shared telemetry init module in compliance-core (behind `telemetry` feature) sets up OTLP/gRPC export for traces and logs when OTEL_EXPORTER_OTLP_ENDPOINT is set. Falls back to console-only output when unset. Both agent and dashboard now use the shared init. Docker Compose includes an OTel Collector service with a config template for SigNoz, Grafana Tempo/Loki, Jaeger, etc. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
1.3 KiB
YAML
64 lines
1.3 KiB
YAML
services:
|
|
mongo:
|
|
image: mongo:latest
|
|
ports:
|
|
- "27017:27017"
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
|
MONGO_INITDB_ROOT_PASSWORD: example
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
|
|
agent:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.agent
|
|
ports:
|
|
- "3001:3001"
|
|
- "3002:3002"
|
|
env_file: .env
|
|
environment:
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317
|
|
OTEL_SERVICE_NAME: compliance-agent
|
|
depends_on:
|
|
- mongo
|
|
volumes:
|
|
- repos_data:/tmp/compliance-scanner/repos
|
|
|
|
dashboard:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dashboard
|
|
ports:
|
|
- "8080:8080"
|
|
env_file: .env
|
|
environment:
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317
|
|
OTEL_SERVICE_NAME: compliance-dashboard
|
|
depends_on:
|
|
- mongo
|
|
- agent
|
|
|
|
chromium:
|
|
image: browserless/chrome:latest
|
|
ports:
|
|
- "3003:3000"
|
|
environment:
|
|
MAX_CONCURRENT_SESSIONS: 5
|
|
CONNECTION_TIMEOUT: 60000
|
|
PREBOOT_CHROME: "true"
|
|
restart: unless-stopped
|
|
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector-contrib:latest
|
|
ports:
|
|
- "4317:4317"
|
|
- "4318:4318"
|
|
volumes:
|
|
- ./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
mongo_data:
|
|
repos_data:
|