Vibeleaderboard
Index / tool
Visit rustfs.com
Category
Developer Tools
Rank
No. 451Tools index
Pricing
Open Source
Type
TOOL
Builder
rustfs
Latest release
1.0.0-rc.2-preview.1
Added
Apr 15, 2026

About

A high-performance, distributed object storage system built in Rust that's S3-compatible and claims 2.3x faster performance than MinIO for 4KB object payloads. Designed for data lakes, AI workloads, and big data with Apache 2.0 licensing.

What it does

RustFS runs an object storage server that applications can address through supported S3 operations or the OpenStack Swift protocol. It handles uploads, downloads, versioning, replication, identity policies, encryption, notifications, integrity checks, and healing. Rust applications can also start one server inside their own process for integration testing.

Why it's ranked here

The engineering scope is substantial: storage, identity, encryption, observability, replication, healing, and protocol support are separated into focused Rust crates. The permissive license and several deployment options strengthen its practical appeal. The verdict remains cautious because distributed mode, lifecycle management, and key management are explicitly under testing, while Swift metadata support is partial.

What's good

The embedded server gives Rust integration tests a local S3 endpoint without containers or child processes. The container runs as a non-root user, and the documentation calls out mount ownership requirements instead of hiding them. Available capabilities include bitrot protection, versioning, bucket replication, event notifications, multi-tenancy, Swift access, and Keystone authentication. Observability covers logs, metrics, distributed tracing, and runtime telemetry.

Tradeoffs

Feature status is uneven. Distributed operation, lifecycle management, and key management remain under testing, while Swift metadata operations are only partial. S3 support covers supported features rather than every operation, so compatibility needs checking. The embedded server relies on process-wide state and permits only one instance per process. Container bind mounts require deliberate ownership and permission setup.

How to use it well

Use RustFS when an application needs self-hosted object storage behind familiar S3 clients, or when an OpenStack environment needs Swift with Keystone authentication. Start with single-node containers or the embedded Rust server for development and integration tests. Validate required operations against the compatibility matrix before migration. It supplies the storage endpoint, but applications still need an S3 or Swift client to consume it.

Technical notes+

Cargo.toml defines a large Rust workspace spanning the rustfs binary and focused crates for ecstore, IAM, KMS, replication, healing, notifications, observability, protocols, S3 operations, testing, and I/O. rustfs/src/main.rs delegates startup through rustfs::startup_entrypoint::run_process and uses mimalloc globally. rustfs/src/lib.rs exposes rustfs::embedded, documents the one-server-per-process singleton limitation, and conditionally exposes FTPS, WebDAV, and SFTP modules. crates/iam/src/lib.rs uses OnceLock-backed IAM and OIDC globals. crates/heal/src/lib.rs uses single-flight runtime initialization and cancellation tokens. crates/kms/src/lib.rs documents local, Vault KV2, and optional Vault Transit backends plus SSE-S3, SSE-KMS, and SSE-C. crates/obs/src/lib.rs exposes logging, metrics, tracing, and Tokio telemetry. crates/zip/src/lib.rs implements bounded archive extraction with path, entry-count, entry-size, and total-size limits.

Observed

License
Apache-2.0
Primary language
Rust
Packaging and installation
Install script, Docker, Docker Compose, Podman, Podman Compose, and Kubernetes Helm charts
Storage interfaces
Supported S3 API operations and the OpenStack Swift API
Authentication interfaces
OpenStack Keystone authentication and OIDC-backed identity support
Library surface
An embedded Rust server can provide an in-process S3 endpoint for integration tests
Repository structure
Cargo workspace with dedicated crates for storage, IAM, KMS, replication, healing, observability, protocols, and end-to-end tests

Read from README.md, Makefile, Cargo.toml, rustfs/src/lib.rs, rustfs/src/main.rs, crates/iam/src/lib.rs, crates/kms/src/lib.rs, crates/obs/src/lib.rs, crates/rio/src/lib.rs, crates/zip/src/lib.rs, rustfs/src/app/mod.rs, crates/heal/src/lib.rs.

What it can do

  • Store objects in distributed storage

    Digital files and data objectsStored objects with unique identifiers

  • Retrieve objects via S3-compatible API

    Object identifier/key and bucket nameRequested object data

  • Create and manage storage buckets

    Bucket configuration parametersStorage buckets for object organization

  • Process high-volume data lake workloads

    Large datasets and data streamsStored and accessible data lake infrastructure

  • Handle AI workload data storage

    Machine learning datasets and model filesOptimized storage for AI/ML workflows

  • Distribute data across multiple nodes

    Objects and cluster configurationReplicated data across distributed storage nodes

Tags

object-storages3rustdistributedminiocloud-storagedata-lake

Tech Stack

RustDocker

Media

RustFS

Comments (0)

No comments yet

Indexed by a proprietary survey. Corrections welcome.