S3-compatible object store for small self-hosted geo-distributed deployments https://garagehq.deuxfleurs.fr/
Find a file
Alex Auvolat a36248a169
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
[fix-signed-headers] aws signatures v4: don't actually check Content-Type is signed
This page of the AWS docs indicate that Content-Type should be part of
the CanonicalHeaders (and therefore SignedHeaders) strings in signature
calculation:

https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html

However, testing with Minio Client revealed that it did not sign the
Content-Type header, and therefore we broke CI by expecting it to be
signed. With this commit, we don't mandate Content-Type to be signed
anymore, for better compatibility with the ecosystem. Testing against
the official behavior of S3 on AWS has not been done.
2024-03-01 13:12:18 +01:00
.cargo use mold linker when invoking cargo manually (not in nix build scripts) 2023-10-10 13:56:48 +02:00
.woodpecker [nix-improvements] get rid of Drone 2024-02-09 12:19:16 +01:00
doc Merge pull request 'Docs: add default metrics_token in quick start + uniformize use of base64' (#739) from doc-default-token into main 2024-02-29 12:20:24 +00:00
nix [nix-improvements] use kaniko and manifest-tools from nixpkgs, simplify 2024-02-09 11:15:52 +01:00
script [fix-signed-headers] aws signatures v4: don't actually check Content-Type is signed 2024-03-01 13:12:18 +01:00
src [fix-signed-headers] aws signatures v4: don't actually check Content-Type is signed 2024-03-01 13:12:18 +01:00
.dockerignore Build Docker image 2020-06-30 17:18:42 +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 [fix-auth-ct-eq] use argon2 hashing and verification for admin/metrics token checking 2024-02-29 13:07:15 +01:00
Cargo.nix [fix-auth-ct-eq] use argon2 hashing and verification for admin/metrics token checking 2024-02-29 13:07:15 +01:00
Cargo.toml [fix-auth-ct-eq] use argon2 hashing and verification for admin/metrics token checking 2024-02-29 13:07:15 +01:00
default.nix Apply nixfmt to all .nix files; fix devshell and add it to cache 2023-01-26 12:25:48 +01:00
Dockerfile Some things are now in result-bin 2022-10-18 13:39:21 +02:00
flake.lock [dep-upgrade-202402] update rustc to 1.73 2024-02-08 12:33:09 +01:00
flake.nix [nix-improvements] modernize Nix infrastructure 2024-02-09 11:10:13 +01: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 Disk space report 2023-01-26 15:04:32 +01:00
README.md [woodpecker] convert drone pipelines to woodpecker 2024-02-08 18:24:52 +01:00
rustfmt.toml Fix the Sync issue. Details: 2020-04-10 22:01:48 +02:00
shell.nix [nix-improvements] special case for Docker's "386" architecture 2024-02-09 12:49:17 +01:00

Garage status-badge

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.