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