mirror of
https://git.deuxfleurs.fr/Deuxfleurs/garage.git
synced 2026-05-15 05:36:53 -04:00
S3-compatible object store for small self-hosted geo-distributed deployments
https://garagehq.deuxfleurs.fr/
- Rust 94.5%
- Clojure 1.8%
- Shell 1.7%
- Nix 1.2%
- Python 0.6%
- Other 0.2%
By default, structopt reports the value provided by the env var CARGO_PKG_VERSION, feeded by Cargo when reading Cargo.toml. However for Garage we use a versioning based on git, so we often report a version that is behind the real version. In this commit, we create garage_util::version::garage() that reports the right version and configure all structopt subcommands to call this function instead of using the env var. |
||
|---|---|---|
| doc | ||
| nix | ||
| script | ||
| src | ||
| .dockerignore | ||
| .drone.yml | ||
| .gitattributes | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.nix | ||
| Cargo.toml | ||
| default.nix | ||
| Dockerfile | ||
| k2v_test.py | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| rustfmt.toml | ||
| shell.nix | ||
Garage 
[ 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.