S3-compatible object store for small self-hosted geo-distributed deployments https://garagehq.deuxfleurs.fr/
Go to file
Alex dcfc32cf85
continuous-integration/drone/push Build is passing Details
Many S3 compatibility improvements:
- return XML errors
- implement AuthorizationHeaderMalformed error to redirect clients to
  correct location (used by minio client)
- implement GetBucketLocation
- fix DeleteObjects XML parsing and response
2021-04-28 01:05:40 +02:00
doc Update documentation 2021-04-27 16:37:10 +02:00
script Introduce test case that demonstrates #59 (the & problem) 2021-04-27 23:09:26 +02:00
src Many S3 compatibility improvements: 2021-04-28 01:05:40 +02:00
.dockerignore Build Docker image 2020-06-30 17:18:42 +02:00
.drone.yml re-disable drone caches 2021-04-27 16:37:11 +02:00
.gitignore Work on API 2020-04-28 10:18:14 +00:00
Cargo.lock update to v0.2.1 2021-03-19 13:39:18 +01:00
Cargo.toml Skeleton to the new web API 2020-11-02 15:48:39 +01:00
Dockerfile change dockerfile; add gzip caching 2021-02-10 12:53:00 +01:00
LICENSE Switch to AGPL 2021-03-16 16:35:46 +01:00
Makefile Improve bootstraping: do it regularly; persist peer list 2021-04-27 16:37:08 +02:00
README.md Drone CI badge on branch main 2021-04-27 16:37:08 +02:00
TODO update todo 2020-04-26 20:50:23 +00:00
config.dev.toml Build path correctly 2020-11-11 19:48:01 +01:00
genkeys.sh Cleanup 2020-04-12 19:18:31 +02:00
rustfmt.toml Fix the Sync issue. Details: 2020-04-10 22:01:48 +02:00

README.md

Garage Build Status

Garage logo

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.

Go to the documentation