aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* api: add logic to parse x-amz-content-sha256Alex Auvolat8 days8-72/+138
|
* api: refactor: move checksum algorithms to commonAlex Auvolat8 days14-171/+215
|
* signature: refactor: move constant defs to mod.rsAlex Auvolat8 days3-26/+50
|
* Merge pull request 'fix compilation warnings' (#959) from fixes into mainAlex10 days7-17/+14
|\ | | | | | | Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/959
| * fix warning in garage testAlex Auvolat10 days1-5/+1
| |
| * garage_api_s3: remove unused field in ListPartsQueryAlex Auvolat10 days2-4/+0
| |
| * garage_model: fix warning about dead codeAlex Auvolat10 days2-2/+9
| |
| * fix deprecated uses of chrono in lifecycle workerAlex Auvolat10 days1-3/+3
| |
| * remove cargo build options in makefile to avoid mistakesAlex Auvolat10 days1-3/+1
| |
* | Merge pull request 's3api: return Location in CompleteMultipartUpload (fix ↵Alex10 days1-1/+10
|\ \ | |/ |/| | | | | | | #852)' (#958) from fix-852 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/958
| * s3api: return Location in CompleteMultipartUpload (fix #852)Alex Auvolat10 days1-1/+10
|/ | | | | NB. The location returned is not guaranteed to work in all cases. This already fixes the parse issue in #852.
* Merge pull request 'block manager: avoid deadlock in fix_block_location (fix ↵Alex10 days1-14/+4
|\ | | | | | | | | | | #845)' (#957) from fix-845 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/957
| * block manager: avoid deadlock in fix_block_location (fix #845)Alex Auvolat10 days1-14/+4
|/
* Merge pull request 'Store data blocks only on nodes in the latest cluster ↵Alex10 days4-12/+94
|\ | | | | | | | | | | layout version (fix #815)' (#956) from fix-815 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/956
| * block resync: avoid saving blocks to draining nodesAlex Auvolat10 days1-1/+23
| |
| * block manager: improve read strategy to find blocks fasterAlex Auvolat10 days1-9/+64
| |
| * block manager: write blocks only to currently active layout version (fix #815)Alex Auvolat10 days2-2/+7
|/ | | | | avoid wastefully writing blocks to nodes that will discard them as soon as the layout migration is finished
* Merge pull request 'web_server.rs: Added bucket domain to observability' ↵Alex10 days4-15/+48
|\ | | | | | | | | | | (#608) from jpds/garage:domain-web-requests into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/608
| * add configuration option to enable/disable monitoring bucket in web metricsAlex Auvolat10 days4-30/+35
| |
| * web_server.rs: Added bucket domain to observability.Jonathan Davies10 days1-6/+34
| |
* | Merge pull request 's3 api: parse x-id query parameter and warn of any ↵Alex10 days1-1/+14
|\ \ | |/ |/| | | | | | | inconsistency (fix #822)' (#954) from fix-822 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/954
| * s3 api: parse x-id query parameter and warn of any inconsistency (fix #822)fix-822Alex Auvolat10 days1-1/+14
| |
* | Merge pull request 'cli: return info of all nodes when doing garage stats -a ↵Alex10 days1-1/+6
|\ \ | |/ |/| | | | | | | (fix #814)' (#953) from fix-814 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/953
| * cli: return info of all nodes when doing garage stats -a (fix #814)Alex Auvolat10 days1-1/+6
|/
* Merge pull request 'db-snapshot: Add error handling to metadata snapshot ↵Alex10 days1-2/+6
|\ | | | | | | | | | | | | creation' (#930) from handle_snapshot_errors into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/930 Reviewed-by: Armael <armael@noreply.localhost>
| * db-snapshot: propagate any node snapshot error through RPC callhandle_snapshot_errorsBaptiste Jonglez2025-02-071-1/+5
| | | | | | | | | | | | | | | | | | | | In particular, it means that "garage meta snapshot --all" will get an exit code of 1 if any node fails to snapshot. This makes sure that any external tool trying to snapshot nodes (e.g. from cron) will be aware of the failure. Fix #920
| * db-snapshot: Fix error reporting when using "garage meta snapshot --all"Baptiste Jonglez2025-02-071-1/+1
|/ | | | | | | | | | | Snapshot errors on remote nodes were not reported at all. We now get proper error output such as: 0fa0f35be69528ab error: Internal error: DB error: LMDB: No space left on device (os error 28) 88d92e2971d14bae ok Fix #920
* Merge pull request 'remove uses of #[async_trait]' (#952) from ↵Alex2025-02-0524-84/+40
|\ | | | | | | | | | | remove-async-trait into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/952
| * remove async_trait for TableRepairAlex Auvolat2025-02-051-6/+3
| |
| * remove async_trait used in generic_server.rsAlex Auvolat2025-02-059-25/+3
| |
| * remove async_trait for traits declared in garage_netAlex Auvolat2025-02-0515-54/+35
|/
* Merge pull request 'upgrade Rust compiler and Cargo dependencies' (#951) ↵Alex2025-02-036-556/+898
|\ | | | | | | | | | | from nix-crane into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/951
| * update all Cargo dependencies except AWS crates and their dependenciesnix-craneAlex Auvolat2025-02-031-546/+886
| |
| * build with rust 1.82.0Alex Auvolat2025-02-035-10/+12
| |
* | Merge pull request 'compile with crane' (#950) from nix-crane into mainAlex2025-02-0316-7316/+280
|\| | | | | | | Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/950
| * nix, ci: build with CraneAlex Auvolat2025-02-0316-7316/+280
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes our dependency on cargo2nix, which was causing us some issues. Whereas cargo2nix creates one Nix derivation per crate, Crane uses only two derivations: 1. Build dependencies only 2. Build the final binary This means that during the second step, no caching can be done. For instance, if we do a change in garage_model, we need to recompile all of the Garage crates including those that do not depend on garage_model. On the upside, this allows all of the Garage crates to be built at once using cargo build logic, which is optimized for high parallelism and better pipelining between all of the steps of the build. All in all, this makes most builds faster than cargo2nix. A few other changes have been made to the build scripts and CI: - Unit tests are now run within a Nix derivation. In fact, we have different derivations to run the tests using LMDB and Sqlite as metadata db engines. - For debug builds, most CI steps now run in parallel (with the notable exception of the smoke test that runs after the build, which is inevitable). - We no longer pass the GIT_VERSION argument when building debug builds and running the tests. This means that dev binaries and test binaries don't know the exact version of Garage they are from. That shouldn't be an issue in most cases. - The not-dynamic.sh scripts has been fixed to fail if the file does not exist.
* Merge pull request 'woodpecker: use parallel nix-build in debug builds' ↵Alex2025-02-011-3/+3
|\ | | | | | | | | | | (#949) from nix-parallel into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/949
| * woodpecker: use parallel nix-build in debug buildsAlex Auvolat2025-02-011-3/+3
|/
* Merge pull request 'split garage_api in garage_api_{common,s3,k2v,admin}' ↵Alex2025-02-0167-819/+841
|\ | | | | | | | | | | (#947) from split-garage-api into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/947
| * fix ci for more test cratessplit-garage-apiAlex Auvolat2025-01-311-1/+4
| |
| * fix testsAlex Auvolat2025-01-315-3/+7
| |
| * cargo defs: simplify and fix descriptionsAlex Auvolat2025-01-314-13/+10
| |
| * update cargo.nixAlex Auvolat2025-01-311-202/+138
| |
| * use cargo-shear to remove many unused dependencies between cratesAlex Auvolat2025-01-3115-356/+3
| |
| * split s3/cors.rs into also common/cors.rsAlex Auvolat2025-01-3111-186/+179
| |
| * fix things upAlex Auvolat2025-01-3134-102/+130
| |
| * wip: split garage_api into garage_api_{common,s3,k2v,admin}Alex Auvolat2025-01-3152-195/+609
|/
* Merge pull request 'table::insert_many: avoid failure with zero items (fix ↵Alex2025-01-311-0/+4
|\ | | | | | | | | | | #915)' (#946) from fix-915 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/946
| * table::insert_many: avoid failure with zero items (fix #915)fix-915Alex Auvolat2025-01-301-0/+4
|/
* Merge pull request 'api: better handling of helper errors to distinguish ↵Alex2025-01-2912-29/+97
|\ | | | | | | | | | | error codes' (#942) from fix-getkeyinfo-404 into main Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/942