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.
Rust client (glommio)Rust, glommioThread-per-core Rust services that already run on glommio.
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)Rust (glommio)CLI
Write / read / delete / trimyesyesyesyes
Aggregate detailsyesyesyesyes
Register schemayesyesyesyes
Streaming list (orgs / types / aggregates)yesyesyesyes
Streaming read (auto-paginate)yesyesyesno
Watch (live subscribe)yesyesyesTUI only
Optimistic concurrency + idempotencyyesyesyesyes
TLS / mTLSyesyesyesyes
API key + RSA-keypair identityyesyesyesyes
Compressionautomaticautomaticautomaticautomatic
Route reads to followersyesyesyesno

Which one

  • Building a service: the .NET or Rust (tokio) client. Both pool connections, follow leader redirects, and expose the same operations.
  • Already thread-per-core on glommio: the glommio client, to stay on one runtime.
  • 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.