Hi all,

I wanted to share a project I've been working on: rados-rs, a native Rust implementation of the RADOS client that speaks directly to Ceph clusters with no FFI or librados dependency: https://crates.io/crates/rados

The library implements the full stack from scratch in async Rust (Tokio):

- msgr2: Ceph messenger protocol v2, including AES-128-GCM encryption and CRC32C framing
- CephX: authentication and service ticket handling
- Monitor client: cluster map subscriptions and mon command dispatch
- OSD client: object read, write, stat, delete, list, with AsyncRead/AsyncWrite/AsyncSeek adaptors for Tokio I/O code
- CRUSH: placement group computation for routing ops directly to the right OSD

Minimum supported Ceph version is Octopus (v15). Reef and Squid are the primary test targets.

That said -- this is still under active development and not ready for production use. The API is unstable, error handling is incomplete in places, and there is no reconnection logic yet. I'm sharing it now in the hope it's useful to others working in the Rust ecosystem around Ceph, and to get early feedback from people who know the protocol better than I do.

The existing FFI-based bindings (https://github.com/ceph/ceph-rust) are the right choice for anything that needs stability today.

Feedback, bug reports, and pull requests are welcome.

Thanks,
Kefu

--
Regards
Kefu Chai