rustfs/rustfs

🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.

RustFS – High‑Performance Distributed Object Storage (Rust)

What it is – RustFS is an open‑source, Apache‑2.0‑licensed object‑storage system written in Rust. It aims to combine the ease‑of‑use of MinIO with Rust’s memory‑safety and speed, offering S3‑compatible APIs, OpenStack Swift support, and a web console for managing buckets and objects.

Why it matters for AI / data‑intensive workloads – The README calls out “optimized for data lakes, AI, and big‑data workloads.” Object storage is the backbone for training data, model checkpoints, and inference results. RustFS’s focus on raw performance, low‑overhead networking, and bit‑rot protection makes it a viable on‑prem or edge alternative to cloud‑hosted S3 services.

Core Features (as of the README)

Feature Status
High‑performance core (Rust, low‑level I/O) ✅ Available
Distributed mode (fault‑tolerant, multi‑node) 🚧 Under testing
S3 API compatibility (core features, versioning, multipart upload, etc.) ✅ Available
OpenStack Swift API & Keystone auth ✅ Available
Bitrot protection ✅ Available
Bucket replication & lifecycle management ✅ Available / 🚧 Under testing
Single‑node mode (quick local dev) ✅ Available
Kubernetes Helm charts ✅ Available
RustFS‑KMS (encryption key management) 🚧 Under testing
Multi‑tenancy ✅ Available
Event notifications & webhook integration ✅ Available
Logging & monitoring (Grafana, Prometheus, Jaeger containers) ✅ Available

Typical Use Cases

  • AI data lake – Store large training datasets, model artifacts, and experiment logs with S3‑compatible tools (e.g., aws s3, boto3).
  • Edge / IoT gateways – Rust’s low memory footprint and the “Strong Edge Support” claim make it suitable for on‑prem storage on constrained devices.
  • Hybrid cloud – Run RustFS on‑prem while keeping the same S3 API used by cloud services, easing data migration.
  • Compliance‑focused deployments – No telemetry, GDPR/CCPA/APPI‑compatible, and permissive licensing for commercial use.

Quick‑Start Options (from the README)

  1. One‑click scriptcurl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh
  2. Docker – Run the official image as a non‑root user (UID/GID 10001). Example:
    mkdir -p data logs && chown -R 10001:10001 data logs
    docker run -d -p 9000:9000 -p 9001:9001 \
        -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest
    
    Port 9000 = S3 API, 9001 = web console (default creds rustfsadmin/rustfsadmin).
  3. Docker‑Compose – Use the provided docker-compose-simple.yml which also spins up Grafana, Prometheus, and Jaeger for observability.
  4. Helm chart – Deploy to Kubernetes via the chart at https://charts.rustfs.com/.
  5. Build from source – Multi‑arch Docker images can be built locally with ./docker-buildx.sh or via make docker-buildx*.
  6. Nix Flake / x‑cmd – One‑liner commands for those ecosystems are also listed.

Authentication & Identity

  • Supports OpenStack Keystone (X‑Auth‑Token) and OIDC (e.g., Microsoft Entra ID). A roles_claim can be mapped to policy conditions, enabling fine‑grained admin or bucket permissions.

Documentation & Community

  • Docs sitehttps://docs.rustfs.com (installation, configuration, operation guides).
  • Community – Discord, GitHub Discussions, and a public issue tracker.
  • Observability – Built‑in Prometheus metrics, Jaeger tracing, and Grafana dashboards.

License

  • Apache 2.0 – permissive, business‑friendly, no “viral” clauses.

Bottom line – RustFS is a genuine, production‑grade object‑storage system written in Rust, positioned as an AI‑friendly, on‑prem alternative to cloud S3 services. It offers a full S3/Swift API, container/Kubernetes deployment paths, and features (bit‑rot protection, replication, multi‑tenancy) that make it relevant for teams building large‑scale data pipelines or edge AI solutions.

Related

  • Project
  • Project
  • Project
  • Project
  • Dispatch