Ingest protocols
PulseBoard speaks every protocol your infrastructure already uses. One bearer token, one port, four protocol families.
Native JSON
POST /ingest/metrics — bare JSON array of {name, value, ts?}. NDJSON also accepted. Labels live inline in name as a Prometheus series string.
curl -X POST https://your-edge/ingest/metrics \
-H "Authorization: Bearer $PB_KEY" \
-H 'content-type: application/json' \
-d '[{"name":"payments.latency.p99{env=\"prod\"}","value":42.5}]'
Prometheus remote_write
Snappy-encoded protobuf at /api/prom/api/v1/write. Drop-in replacement for any Prom-compatible remote_write target.
# prometheus.yml
remote_write:
- url: https://your-edge/api/prom/api/v1/write
authorization:
credentials: ${PB_KEY}
OTLP/HTTP
Metrics at /v1/metrics, logs at /v1/logs, traces at /v1/traces. Both protobuf and JSON encodings are supported on the same paths.
# OpenTelemetry SDK
export OTEL_EXPORTER_OTLP_ENDPOINT=https://your-edge
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer $PB_KEY"
Loki push
POST /loki/api/v1/push. Compatible with Promtail, Alloy, Vector and any Loki-native client.
Log query
LogQL queries via GET /api/loki/api/v1/query_range with the same bearer token. Full label filtering and line filters (|= "text", |~ "regex") supported.
Cloud-provider direct paths
- AWS Firehose —
POST /api/aws/firehosewithX-Amz-Firehose-Access-Keyfor Step Functions waterfalls. AWS docs. - GCP Pub/Sub — pulled by the cloud-poller; you don't push, you grant
pubsub.subscriber. GCP docs. - BigQuery (Cloud Billing) — queried by the cloud-poller via federated workload identity. GCP docs.