mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
- 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
45 lines
1.3 KiB
YAML
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
|