Local lake workflows without extra services.
Use S3-compatible storage and an Iceberg REST Catalog for DuckDB-oriented development, internal data platform sandboxes, and lakehouse integration testing.
GrainFS is a single-binary distributed storage server for developer and data infrastructure teams that need S3-compatible object storage, NFS/9P file access, Linux NBD volumes, and an Iceberg REST Catalog over one storage layer.
# start a local S3-compatible storage server
DATA_DIR=./tmp
make bin/grainfs
CLUSTER_KEY=$(openssl rand -hex 32)
./bin/grainfs serve --data "$DATA_DIR" --port 9000 --cluster-key "$CLUSTER_KEY"
# use it from standard S3 tooling
echo "hello grainfs" > file.txt
aws --no-sign-request --endpoint-url http://localhost:9000 s3 cp file.txt s3://default/
GrainFS exposes object, file, block, and table/catalog surfaces over shared storage and cluster contracts. Protocol adapters translate client behavior without turning every interface into a separate system to run.
GrainFS starts with open-source adoption, then grows into paid operational tooling for teams that need confidence around deployment, recovery, observability, and upgrades.
Use S3-compatible storage and an Iceberg REST Catalog for DuckDB-oriented development, internal data platform sandboxes, and lakehouse integration testing.
Run object, file, and block interfaces near private infrastructure, GPU boxes, lab devices, or edge deployments where a heavyweight storage stack is too much.
Replace a pile of local fixtures with one storage server for S3, NFS/9P, NBD, and Iceberg client and product integration tests.
The roadmap focuses on safe defaults, explicit escape hatches, observable recovery, compatibility gates, and operational runbooks — the parts teams need before trusting storage with real workloads.
Same-host single-node warp run, 64 KiB objects, concurrency 32, signed requests, 0 errors.
Warm-read pass over objects kept from the preceding PUT pass on the local Apple M3 setup.
Single-node Iceberg REST Catalog benchmark via warp iceberg, with 0 errors in the referenced run.
Permissive open-source core for local use, small clusters, protocol testing, and infrastructure adoption.
Benchmark claims should be read with their methodology: same host class, comparable durability, object size, concurrency, warm/cold-cache rules, signed S3 requests, and raw artifacts. See the benchmark reference in the GrainFS repository before publishing comparisons.
The business model starts with a strong open-source engine, then monetizes the control plane, enterprise operating features, and support paths that production teams need.
Start with the open-source binary, validate your storage workflow, then bring the control-plane and enterprise operating model when the workload matters.