Skip to content

worka-ai/anvil

Repository files navigation

Anvil: Open‑Source Object Storage in Rust

Anvil is an open‑source, S3‑compatible object storage server written in Rust. Built by the team behind Worka, Anvil is designed to host large files—such as open‑source model weights—with high performance and reliability. It exposes a familiar S3 HTTP gateway, a high‑performance gRPC API, multi‑tenant isolation, and the ability to scale from a single development node to a multi‑region cluster.


🔥 Why Anvil?

  • Written in Rust: Modern, memory-safe, and highly concurrent.
  • S3-Compatible: Works out of the box with AWS SDKs, CLI, and third-party tools.
  • gRPC API: For low-latency, high-throughput access.
  • Multi-Tenant: Serve different model groups or clients in isolation.
  • Clusterable: Run standalone or as a horizontally-scalable distributed system.
  • Model Hosting Friendly: Built to serve billions of tokens efficiently.

🚀 Quick Start (Standalone)

cargo install anvil
anvil server --root ./data --port 9000

Now test it:

aws --endpoint-url http://localhost:9000 s3 ls

🧪 Example: Upload and Fetch via S3

# Upload a file
aws --endpoint-url http://localhost:9000 s3 cp weights.gguf s3://mymodels/weights.gguf

# Fetch the file
curl http://localhost:9000/mymodels/weights.gguf

🏗️ Building From Source

Anvil uses Rust and requires at least version 1.72.

git clone https://github.com/worka-ai/anvil
cd anvil
cargo build --release

⚙️ Running in Cluster Mode

Start multiple nodes with a shared cluster config (see docs).


📡 gRPC API

See full API reference. Example client use:

anvil grpc-client --list-buckets

🔐 Authentication

Supports API key-based tenant isolation. See Auth docs.


📘 Documentation


🤝 Contributing

We welcome PRs! Check out CONTRIBUTING.md and start with good first issues.


📣 Community


License

Licensed under Apache 2.0.