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

README.md

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.