Files
OwnCord/Server/docker-compose.otel.yml
T
J3vb 9116a880a3 feat(phase-bc): pass 5 — pgdbgen, postgres EventStore/PluginStore, plugin hub wiring, OTel stack, reconnect DB tier
- Generate Server/db/dbgen/{events,plugins}.sql.go and full Server/db/pgdbgen/ (//go:build postgres gated)
- Implement PostgresStore EventStore and PluginStore methods in store/postgres.go
- Wire plugin host_events.go EventSink into hub broadcast path (SetPluginEventSink)
- Wire host_commands.go slash-command dispatcher: chat_command V1 handler + hub.SetPluginRegistry
- Add handlers_command.go + handlers_command_test.go for plugin slash-command dispatch
- Add reconnect_db_test.go: TestReconnect_BufferMiss_FallsBackToDBTier (cold-tier DB replay)
- Add otel-up/otel-down Makefile targets; docker-compose.otel.yml + prometheus.dev.yml
- Update PHASE_BC_LOCAL_TODO.md: mark in-session items complete; document remaining network-blocked steps
- Minor fixes: channel_handler access-control, router plugin handler wiring, service span instrumentation
2026-04-06 22:48:59 +02:00

45 lines
1.3 KiB
YAML

# OwnCord OTel dev overlay — Jaeger all-in-one tracing + Prometheus scrape target.
#
# Usage:
# make otel-up # starts Jaeger + Prometheus in the background
# make otel-down # stops and removes the containers
#
# Then build and run the server with OTel enabled:
# go build -tags otel .
# OWNCORD_TELEMETRY_OTLP_ENDPOINT=localhost:4317 ./owncord-server
#
# Jaeger UI: http://localhost:16686
# Prometheus UI: http://localhost:9090
# OwnCord metrics (when server is running): http://localhost:8443/metrics
services:
jaeger:
image: jaegertracing/all-in-one:latest
restart: unless-stopped
environment:
COLLECTOR_OTLP_ENABLED: "true"
ports:
- "16686:16686" # Jaeger UI
- "4317:4317" # OTLP gRPC (used by the server's tracer exporter)
- "4318:4318" # OTLP HTTP (alternative endpoint)
networks:
- otel-net
prometheus:
image: prom/prometheus:latest
restart: unless-stopped
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.retention.time=1h" # dev-only short retention
volumes:
- ./prometheus.dev.yml:/etc/prometheus/prometheus.yml:ro
ports:
- "9090:9090"
networks:
- otel-net
networks:
otel-net:
driver: bridge