S3-compatible object store for small self-hosted geo-distributed deployments
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Robert Landers e1c33c9680 put hook in correct place 5 months ago
doc Fix typo 5 months ago
nix Patch cargo2nix openssl override 9 months ago
script Add/Fix OpenTelemetry 8 months ago
src put hook in correct place 5 months ago
.dockerignore Build Docker image 2 years ago
.drone.yml Add integration tests to Drone 10 months ago
.gitattributes Add FOSDEM talk and move all .pdf files to Git LFS 10 months ago
.gitignore Work on API 3 years ago
Cargo.lock Add basic implementation 5 months ago
Cargo.nix improve internal item counter mechanisms and implement bucket quotas (#326) 6 months ago
Cargo.toml Abstract database behind generic interface and implement alternative drivers (#322) 6 months ago
Dockerfile Extract toolchain build from the CI 1 year ago
LICENSE Switch to AGPL 2 years ago
Makefile First version of admin API (#298) 6 months ago
README.md Improve how node roles are assigned in Garage 1 year ago
default.nix Fix garage_version() now that GIT_VERSION is read in crate garage_rpc 6 months ago
k2v_test.py First implementation of K2V (#293) 7 months ago
rustfmt.toml Fix the Sync issue. Details: 3 years ago
shell.nix Add a K2V client library and CLI (#303) 7 months ago


Garage Build Status

Garage logo

[ Website and documentation | Binary releases | Git repository | Matrix channel ]

Garage is a lightweight S3-compatible distributed object store, with the following goals:

  • As self-contained as possible
  • Easy to set up
  • Highly resilient to network failures, network latency, disk failures, sysadmin failures
  • Relatively simple
  • Made for multi-datacenter deployments

Non-goals include:

  • Extremely high performance
  • Complete implementation of the S3 API
  • Erasure coding (our replication model is simply to copy the data as is on several nodes, in different datacenters if possible)

Our main use case is to provide a distributed storage layer for small-scale self hosted services such as Deuxfleurs.