From a0cd3934f5cc90b0434c44769aaed53d05d28ad0 Mon Sep 17 00:00:00 2001 From: jedarden Date: Thu, 23 Apr 2026 20:59:50 -0400 Subject: [PATCH] docs(bd-ch6.3): document production OTLP/HTTP deployment in README Enable OTLP receivers in fabric-web.service by adding --otlp-http :4318, configure NEEDLE otlp_metric_sink, and document the deployed config. Co-Authored-By: Claude Opus 4.7 --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 05a8fb3..05061db 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,25 @@ fabric logs --worker tcb-a --otlp-grpc :4317 Everything stays on your machine — FABRIC is a local collector, not a third-party service. Telemetry is read-only: FABRIC ingests spans/logs/metrics for display but never writes back to NEEDLE or modifies worker state. +## Production Deployment + +FABRIC runs as a user-level systemd service (`fabric-web.service`) with OTLP/HTTP enabled: + +```bash +# Service status +systemctl --user status fabric-web.service + +# Verify OTLP listener +ss -tlnp | grep 4318 +``` + +| Component | Port | Purpose | +|-----------|------|---------| +| Web dashboard | `:3000` | Browser UI + REST API | +| OTLP/HTTP | `:4318` | NEEDLE metric ingestion | + +NEEDLE's `otlp_metric_sink` is enabled in `~/.needle/config.yaml`, pushing aggregated token/cost/bead metrics to `http://localhost:4318/v1/metrics`. FABRIC deduplicates these against JSONL-tailed events and writes them to `~/.needle/fabric.db` with `metrics_source='otlp-metric'`. + 🚧 **In Development** - See [docs/plan.md](docs/plan.md) for implementation roadmap. ## Documentation