Skip to content

otel-edge v0.1.0

Latest

Choose a tag to compare

@aashish-thapa aashish-thapa released this 26 Jul 02:04

otel-edge v0.1.0 — first release

An embedded-Linux-first OpenTelemetry agent that natively ingests MQTT and
NATS/JetStream, maps IoT topic/payload semantics onto OpenTelemetry, survives
power/network loss with a durable on-disk buffer, and emits OTLP for metrics,
logs, and traces — as a single tiny static binary.

What's in this release

  • MQTT source (rumqttc) → JSON decode → topic→resource mapping → OTLP/HTTP
    export of metrics, logs, and traces, all validated end-to-end against a real
    Mosquitto broker and OpenTelemetry Collector v0.153.0.
  • NATS + JetStream durable pull consumers with explicit ack (opt-in --features nats).
  • Durable offline buffer (redb): collector down → telemetry buffers to disk →
    flushes automatically on recovery. Survives restarts.
  • Agent self-telemetry, SIGHUP hot config reload, systemd sd_notify +
    watchdog integration, graceful shutdown.
  • 49 tests pass; clippy + fmt clean.

Binaries

Fully static, dependency-free musl binaries (no libc, no C toolchain needed for
the default pure-Rust build). Verify with the matching .sha256.

Target Size
x86_64-unknown-linux-musl 2.7 MB
aarch64-unknown-linux-musl 2.2 MB
armv7-unknown-linux-musleabihf 2.2 MB
curl -L https://github.com/aashish-thapa/otel-edge/releases/download/v0.1.0/otel-edge-aarch64-unknown-linux-musl -o otel-edge
chmod +x otel-edge && ./otel-edge --help

Deliberately deferred (documented, not blocking core value)

OTLP/gRPC + protobuf transport (binary-size cost vs. the embedded-first thesis;
HTTP/JSON covers the path), Sparkplug B codec, and the Yocto image build (recipe
provided; needs an OpenEmbedded host). See docs/milestones.md.