Context (measured 2026-08-24)
The CF-Access-fronted tunnel ingest (otel-collector.catalystcloud.dev → otel-collector:4319, receiver otlp/cloudflare) registers handlers only for the signals some pipeline consumes. Only logs/traces pipelines reference otlp/cloudflare, so POST /v1/metrics returns 404 page not found (verified live with valid CF-Access creds; otelcol_receiver_accepted_metric_points{receiver="otlp/cloudflare"} has never existed). Any emitter pointed at the tunnel with OTEL_METRICS_EXPORTER=otlp silently loses all metrics. The upcoming Cloudflare-container relay workers cannot reach the tailnet endpoint and must use the tunnel.
Acceptance
Given an emitter POSTs OTLP metrics to the tunnel hostname with valid CF-Access service-token headers
When the collector receives the request on :4319
Then it returns 200 and the metric points flow to Prometheus (+ Honeycomb) with resource attrs promoted to labels, consistent with the sibling logs/cloudflare and traces/cloudflare pipelines (service.namespace=catalyst-cloud upserted)
Fix: add otlp/cloudflare to the private overlay's metrics/cloudflare pipeline receivers (private repo change only; the pipeline is defined there, so no public-list clobber risk).
Context (measured 2026-08-24)
The CF-Access-fronted tunnel ingest (
otel-collector.catalystcloud.dev→ otel-collector:4319, receiverotlp/cloudflare) registers handlers only for the signals some pipeline consumes. Only logs/traces pipelines referenceotlp/cloudflare, soPOST /v1/metricsreturns 404 page not found (verified live with valid CF-Access creds;otelcol_receiver_accepted_metric_points{receiver="otlp/cloudflare"}has never existed). Any emitter pointed at the tunnel withOTEL_METRICS_EXPORTER=otlpsilently loses all metrics. The upcoming Cloudflare-container relay workers cannot reach the tailnet endpoint and must use the tunnel.Acceptance
Given an emitter POSTs OTLP metrics to the tunnel hostname with valid CF-Access service-token headers
When the collector receives the request on :4319
Then it returns 200 and the metric points flow to Prometheus (+ Honeycomb) with resource attrs promoted to labels, consistent with the sibling logs/cloudflare and traces/cloudflare pipelines (service.namespace=catalyst-cloud upserted)
Fix: add
otlp/cloudflareto the private overlay'smetrics/cloudflarepipeline receivers (private repo change only; the pipeline is defined there, so no public-list clobber risk).