Installation

Tael ships as a single Rust binary named tael. There is no database to provision, no Docker image to pull, and no cluster to stand up — tael serve runs OTLP ingestion, storage, and the REST API in one process.

Install the binary

The CLI and server both live in the tael-cli crate, which produces the tael binary.

# Fastest — downloads a prebuilt binary, no compilation
cargo install cargo-binstall   # if you don't have it
cargo binstall tael-cli

Confirm the install:

tael --help

Start the server

tael serve

By default this listens on:

  • 127.0.0.1:4317 — OTLP gRPC ingest (traces, logs, metrics)
  • 127.0.0.1:7701 — REST API (what the CLI queries)

Data is written under ~/.tael/data, with the write-ahead log under ~/.tael/wal_files.

Custom ports and directories

Override anything with flags (or the matching environment variable — see Configuration):

tael serve \
  --otlp-grpc-addr 0.0.0.0:4317 \
  --rest-api-addr 0.0.0.0:7701 \
  --data-dir /var/lib/tael/data \
  --wal-dir /var/lib/tael/wal

There are also two convenience port flags that work on any command:

tael serve --port-otel 4317 --port-rest 7701

Verify it's running

In a second terminal, ask the server for its status:

tael server status

Then list the services it has seen (empty until you send data):

tael services --format table

If tael server status can't reach the server, check that tael serve is still running and that you're pointing at the right address — every client command accepts --server http://host:port (or the --port-rest shorthand).

Next steps

Was this page helpful?