Skip to main content

Clients overview

Celeriant speaks a binary protocol over TCP, with optional TLS and mTLS. You talk to it through a client library or the CLI; you do not hand-craft the wire format.

What's official

Language / runtimeBest for
.NET clientnet8.0+Application services on .NET. The most complete and most documented client.
Rust client (tokio)Rust, tokioAsync Rust services; pooled, multi-node aware.
CLI / TUIany (native binary)Operations, debugging, scripts, and an interactive terminal UI.

Feature matrix

Every client covers the core operations; the differences are at the edges.

.NETRust (tokio)CLI
Write / read / delete / trimyesyesyes
Aggregate detailsyesyesyes
Register schemayesyesyes
Streaming list (orgs / types / aggregates)yesyesyes
Streaming read (auto-paginate)yesyesno
Watch (live subscribe)yesyesTUI only
Optimistic concurrency + idempotencyyesyesyes
TLS / mTLSyesyesyes
API-key auth + RSA-keypair identityyesyesyes
Compressionautomaticautomaticautomatic
Route reads to followersyesyesno

Which one

  • Building a service: the .NET or Rust (tokio) client. Both pool connections, follow leader redirects, and expose the same operations.
  • Operating, scripting, or poking at data: the CLI, with the TUI when you want to watch a stream live.

Pick the client for your runtime; the concepts are identical across all of them. The pages here cover the .NET client, the Rust client, and the CLI and TUI.

Pre-release

Packages are published with the open-source release. Until then you build the clients from the source tree.