Go to file
Jakub Jirutka db72812f01 Use the new cargo feature resolver "2"
Garage currently uses the legacy resolver "1". The new one is used
by default if the root package specifies 'edition = 2021', which
Garage does not (yet).

The problem with the legacy resolver is, among others, that features
enabled by dev-dependencies are propagated to normal dependencies.
This affects e.g. hyper - one of the dev-dependencies enables "http2"
feature that adds many extra dependencies. If we build garage without
opentelemetry-otlp (this is enabled in the following commit), there's
no normal dependency enabling "http2" feature.

See https://doc.rust-lang.org/cargo/reference/resolver.html#feature-resolver-version-2
2022-09-06 01:14:19 +02:00
doc Add some documentation for Caddy 2022-08-12 10:33:41 +02:00
nix Configure structopt to report the right version 2022-08-11 10:21:45 +02:00
script Fail if compiled binary is dynamic 2022-07-26 18:27:46 +02:00
src Remove Heed default features 2022-09-05 16:40:13 +02:00
.dockerignore Build Docker image 2020-06-30 17:18:42 +02:00
.drone.yml Configure structopt to report the right version 2022-08-11 10:21:45 +02:00
.gitattributes Add FOSDEM talk and move all .pdf files to Git LFS 2022-02-16 20:01:36 +01:00
.gitignore Work on API 2020-04-28 10:18:14 +00:00
Cargo.lock Remove Heed default features 2022-09-05 16:40:13 +02:00
Cargo.nix Configure structopt to report the right version 2022-08-11 10:21:45 +02:00
Cargo.toml Use the new cargo feature resolver "2" 2022-09-06 01:14:19 +02:00
default.nix Configure structopt to report the right version 2022-08-11 10:21:45 +02:00
Dockerfile Extract toolchain build from the CI 2021-10-29 11:34:01 +02:00
k2v_test.py First implementation of K2V (#293) 2022-05-10 13:16:57 +02:00
LICENSE Switch to AGPL 2021-03-16 16:35:46 +01:00
Makefile Background task manager (#332) 2022-07-08 13:30:26 +02:00
README.md Improve how node roles are assigned in Garage 2021-11-16 16:05:53 +01:00
rustfmt.toml Fix the Sync issue. Details: 2020-04-10 22:01:48 +02:00
shell.nix Run clippy in nix, leveraging nix caching ability 2022-07-26 18:27:52 +02:00

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.