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.
 
 
 
 
Alex 89b8087ba8 Merge pull request 'Properly return HTTP 204 when deleting non-existent object (fix #227)' (#384) from deleteobject-204 into main 3 months ago
doc Document available build features 3 months ago
nix Merge branch 'lx-perf-improvements' into netapp-stream-body 3 months ago
script Factor out node request order selection logic & use in manager 4 months ago
src Properly return HTTP 204 when deleting non-existent object (fix #227) 3 months ago
.dockerignore Build Docker image 2 years ago
.drone.yml Update .drone.yml signature 3 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 Allow for hostnames in bootstrap_peers and rpc_public_addr (fix #353) 3 months ago
Cargo.nix Allow for hostnames in bootstrap_peers and rpc_public_addr (fix #353) 3 months ago
Cargo.toml Use the new cargo feature resolver "2" 3 months ago
Dockerfile Extract toolchain build from the CI 1 year ago
LICENSE Switch to AGPL 2 years ago
Makefile Fix merge 3 months ago
README.md Improve how node roles are assigned in Garage 1 year ago
default.nix Configure structopt to report the right version 4 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 Run clippy in nix, leveraging nix caching ability 4 months 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.