talos-rust-client
A gRPC client for Talos Linux: mTLS by default, a typed API generated from SideroLabs' official proto files.
Talos Linux drives the operating system of our clusters, and its API is only reachable over gRPC under mTLS. The client is generated from the official protos rather than hand-written: the types follow upstream, and an API break shows up at compile time. It is published on crates.io under the MIT OR Apache-2.0 dual licence — the Rust ecosystem convention, which leaves the choice to whoever reuses it.
- Size
- 8,316 lines of Rust · 14 files
- Licence
- MIT OR Apache-2.0
- Our role
- Written and maintained by our engineers. Published on crates.io.
github.com/nudibranches-tech/talos-rust-client
s0
An S3-compatible authorization gateway that applies an OPA/ABAC policy to every request before re-issuing it to storage under a per-tenant identity.
The native access control of object storage stops at the bucket and the key. Our clients need to decide by attribute — who, from where, on which object, at what time — and to keep one named audit trail whatever the backend. So s0 terminates the S3 protocol itself: the request is deserialized into a typed value, an OPA decision is made on that value, and the same value is re-issued to storage under a per-tenant identity. Of the 99 protocol operations, 23 are enforced and 76 refused; there is no third category, and a test fails if the operation table and the documentation drift apart.
- Size
- 30,980 lines of Rust · 68 files
- Licence
- BUSL-1.1 · Apache-2.0 au 18 août 2030
- Our role
- This is not a byte proxy with an authorization hook bolted on: the request is deserialized into a typed value, the decision is made on that value, and the same value is re-issued to storage. Of the 99 protocol operations, 23 are enforced and forwarded, 76 refused — there is no third category. A test fails if the table and the documentation drift apart.
github.com/nudibranches-tech/s0
talos-rust-client
A gRPC client for SideroLabs Talos, with mTLS by default and a typed API generated from the official proto files.
Talos Linux drives the operating system of our clusters, and its API is only reachable over gRPC under mTLS. The client is generated from the official protos rather than hand-written: the types follow upstream, and an API break shows up at compile time. It is published on crates.io under the MIT OR Apache-2.0 dual licence — the Rust ecosystem convention, which leaves the choice to whoever reuses it.
- Size
- 8,316 lines of Rust · 14 files
- Licence
- MIT OR Apache-2.0
- Our role
- Talos has no shell: you do not log into it, you talk to it. We needed this client to operate our clients' clusters.
github.com/nudibranches-tech/talos-rust-client
trino-rust-client
A Trino client for Rust, with authentication and the spooling protocol.
Taken over from prusto in December 2024. Presto support was removed, which allowed us to follow Trino without compromise, and the spooling protocol was added: without it, a large result set transits through the coordinator and saturates it. That is the feature that decides whether a data platform holds up under load, and it was the missing one.
- Size
- 6,374 lines of Rust · 45 files
- Licence
- Apache-2.0
- Our role
- Written and maintained by our engineers. Used in production inside Hyperfluid.
github.com/nudibranches-tech/trino-rust-client
Ferris Key
An authentication and identity management server, written in Rust.
We are not its maintainers: we contribute to the project and sponsor it, because identity is the component every other one depends on, and we would rather it stayed free software.
- Size
- contribution and sponsorship
- Licence
- Apache-2.0
- Our role
- A community project we contribute to and sponsor.
github.com/ferriskey/ferriskey