S3-compatible object store for small self-hosted geo-distributed deployments https://garagehq.deuxfleurs.fr/
Go to file
Zdenek Crha 4b54e053df
continuous-integration/drone/pr Build is passing Details
convert_db: prevent conversion between same input/output engine
Use optional DB open overrides for both input and output database.

Duplicating the same override flag for input/output would result in too
many, too long flags. It would be too costly for very rare edge-case
where converting between same DB engine, just with different flags.

Because overrides flags for different engines are disjoint and we are
preventing conversion between same input/ouput DB engine, we can have
only one set.

The override flag will be passed either to input or output, based on
engine type it belongs to. It will never be passed to both of them and
cause unwelcome surprise to user.
2024-01-18 17:57:56 +01:00
.cargo use mold linker when invoking cargo manually (not in nix build scripts) 2023-10-10 13:56:48 +02:00
doc Bump version to 0.9.1 2024-01-16 16:28:17 +01:00
nix Merge branch 'main' into next 2023-08-29 11:32:42 +02:00
script Bump version to 0.9.1 2024-01-16 16:28:17 +01:00
src convert_db: prevent conversion between same input/output engine 2024-01-18 17:57:56 +01:00
.dockerignore Build Docker image 2020-06-30 17:18:42 +02:00
.drone.yml move upgrade test to release build 2023-10-05 10:42:10 +02:00
.envrc Implement `rpc_secret_file` 2023-01-04 18:35:10 +01:00
.gitignore Implement `rpc_secret_file` 2023-01-04 18:35:10 +01:00
Cargo.lock Bump version to 0.9.1 2024-01-16 16:28:17 +01:00
Cargo.nix Bump version to 0.9.1 2024-01-16 16:28:17 +01:00
Cargo.toml Bump version to 0.9.1 2024-01-16 16:28:17 +01:00
Dockerfile Some things are now in result-bin 2022-10-18 13:39:21 +02:00
LICENSE Switch to AGPL 2021-03-16 16:35:46 +01:00
Makefile Disk space report 2023-01-26 15:04:32 +01:00
README.md Update README 2022-09-21 12:53:02 +02:00
default.nix Apply nixfmt to all .nix files; fix devshell and add it to cache 2023-01-26 12:25:48 +01:00
flake.lock flake.nix: switch to nix-community/flake-compat 2023-07-16 12:40:47 +03:00
flake.nix nix: add clang to flake.nix and shell.nix 2023-10-26 11:19:22 +02:00
k2v_test.py First implementation of K2V (#293) 2022-05-10 13:16:57 +02:00
rustfmt.toml Fix the Sync issue. Details: 2020-04-10 22:01:48 +02:00
shell.nix nix: add clang to flake.nix and shell.nix 2023-10-26 11:19:22 +02:00

README.md

Garage Build Status

Garage logo

[ Website and documentation | Binary releases | Git repository | Matrix channel ]

Garage is an S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.

Garage is designed for storage clusters composed of nodes running at different physical locations, in order to easily provide a storage service that replicates data at these different locations and stays available even when some servers are unreachable. Garage also focuses on being lightweight, easy to operate, and highly resilient to machine failures.

Garage is built by Deuxfleurs, an experimental small-scale self hosted service provider, which has been using it in production since its first release in 2020.

Learn more on our dedicated documentation pages:

Garage is entirely free software released under the terms of the AGPLv3.