24470377c9
garage_model: fix warning about dead code
2025-02-14 18:12:14 +01:00
5b26545abf
fix deprecated uses of chrono in lifecycle worker
2025-02-14 18:08:23 +01:00
9c7e3c7bde
remove cargo build options in makefile to avoid mistakes
2025-02-14 18:06:07 +01:00
165f9316e2
s3api: return Location in CompleteMultipartUpload ( fix #852 )
...
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
NB. The location returned is not guaranteed to work in all cases.
This already fixes the parse issue in #852 .
2025-02-14 18:05:07 +01:00
a94adf804f
Merge pull request 'block manager: avoid deadlock in fix_block_location ( fix #845 )' ( #957 ) from fix-845 into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #957
2025-02-14 16:53:01 +00:00
e4c9a8cd53
block manager: avoid deadlock in fix_block_location ( fix #845 )
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-14 17:41:50 +01:00
9312c6bbcb
Merge pull request 'Store data blocks only on nodes in the latest cluster layout version ( fix #815 )' ( #956 ) from fix-815 into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #956
2025-02-14 15:53:16 +00:00
fdf4dad728
block resync: avoid saving blocks to draining nodes
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-14 16:45:55 +01:00
6820b69f30
block manager: improve read strategy to find blocks faster
2025-02-14 16:45:55 +01:00
d0104b9f9b
block manager: write blocks only to currently active layout version ( fix #815 )
...
avoid wastefully writing blocks to nodes that will discard them as soon
as the layout migration is finished
2025-02-14 16:45:55 +01:00
3fe8db9e52
Merge pull request 'web_server.rs: Added bucket domain to observability' ( #608 ) from jpds/garage:domain-web-requests into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #608
2025-02-14 14:26:08 +00:00
627a37fe9f
Merge pull request 's3 api: parse x-id query parameter and warn of any inconsistency ( fix #822 )' ( #954 ) from fix-822 into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #954
2025-02-14 14:07:01 +00:00
2f55889835
add configuration option to enable/disable monitoring bucket in web metrics
ci/woodpecker/pr/debug Pipeline was successful
2025-02-14 14:59:00 +01:00
Jonathan Davies
8b9cc5ca3f
web_server.rs: Added bucket domain to observability.
2025-02-14 14:36:20 +01:00
a1533d2919
Merge pull request 'cli: return info of all nodes when doing garage stats -a ( fix #814 )' ( #953 ) from fix-814 into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #953
2025-02-14 13:31:42 +00:00
c1b39d9ba1
s3 api: parse x-id query parameter and warn of any inconsistency ( fix #822 )
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-02-14 14:30:58 +01:00
d84308c413
cli: return info of all nodes when doing garage stats -a ( fix #814 )
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-14 14:11:41 +01:00
c3e8e5e38c
Merge pull request 'support redirection on s3 endpoint' ( #910 ) from trinity-1686a/garage:1686a/s3-redirects into next-v2
...
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
Reviewed-on: #910
2025-02-14 12:58:48 +00:00
62a3003cca
rename Condition into RedirectCondition in internal model
ci/woodpecker/pr/debug Pipeline was successful
2025-02-14 13:45:32 +01:00
3151695011
Merge branch 'next-v2' into 1686a/s3-redirects
ci/woodpecker/pr/debug Pipeline was successful
2025-02-14 13:11:33 +01:00
63f20bdeab
Merge pull request 'db-snapshot: Add error handling to metadata snapshot creation' ( #930 ) from handle_snapshot_errors into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #930
Reviewed-by: Armael <armael@noreply.localhost>
2025-02-14 11:52:58 +00:00
f034e834fa
Merge branch 'main' into 1686a/s3-redirects
ci/woodpecker/pr/debug Pipeline was successful
2025-02-08 16:01:11 +01:00
bf0f792418
add redirect_all to WebsiteConfig model
2025-02-08 15:36:48 +01:00
Baptiste Jonglez
a2e134f036
db-snapshot: propagate any node snapshot error through RPC call
...
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
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
2025-02-07 00:29:43 +01:00
Baptiste Jonglez
06aa4b604f
db-snapshot: Fix error reporting when using "garage meta snapshot --all"
...
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
2025-02-07 00:18:01 +01:00
61f3de6496
Merge branch 'main' into next-v2
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 21:00:19 +01:00
71655c1e89
Merge pull request 'Admin API refactoring: convert existing commands to API requests (step 3)' ( #945 ) from refactor-admin into next-v2
...
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
Reviewed-on: #945
2025-02-05 19:54:42 +00:00
d3226bfa91
Merge pull request 'remove uses of #[async_trait]' ( #952 ) from remove-async-trait into main
...
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
Reviewed-on: #952
2025-02-05 19:52:00 +00:00
af67626ab2
remove async_trait for TableRepair
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-02-05 20:45:07 +01:00
5475da8ea8
remove async_trait used in generic_server.rs
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 20:31:34 +01:00
620dc58560
remove async_trait for traits declared in garage_net
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 20:22:16 +01:00
7c8fc04b96
massively speed up compilation of garage_api_admin by not using async_trait
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-02-05 19:37:38 +01:00
f914db057a
cli_v2: implement LaunchRepairOperation and remove old stuff
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 15:36:47 +01:00
406b6da163
cli_v2: implement Get{Node,Cluster}Statistics
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 15:06:10 +01:00
9f468b4439
cli_v2: implement CreateMetadataSnapshot
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-05 14:22:10 +01:00
97be7b38fa
admin api: reorder things
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-02-03 18:54:51 +01:00
6a1079c412
admin api: impl RequestHandler for MetricsRequest
2025-02-03 18:54:51 +01:00
b1629dd355
cli_v2: implement RetryBlockResync and PurgeBlocks
2025-02-03 18:54:51 +01:00
d405a9f839
cli_v2: implement ListBlockErrors and GetBlockInfo
2025-02-03 18:54:51 +01:00
7b9c047b11
cli_v2: add local_api_request with crazy type bound
2025-02-03 18:54:51 +01:00
10bbb26b30
cli_v2: implement ListWorkers and GetWorkerInfo
2025-02-03 18:54:51 +01:00
89ff9f5576
admin api: base infrastructure for local endpoints
...
admin api: rename EndpointHandler into RequestHandler to avoid confusion with RPC
wip: infrastructure for local api calls
admin api: fix things
admin api: first local endpoint to work with new scheme
admin api: implement SetWorkerVariable
2025-02-03 18:54:51 +01:00
bdaf55ab3f
cli_v2: migrate cleanupincompleteuploads to Admin API
...
admin api: add CleanupIncompleteUploads spec
2025-02-03 18:54:51 +01:00
e96014ca60
Merge branch 'main' into next-v2
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-02-03 18:53:17 +01:00
47e87c8739
Merge pull request 'upgrade Rust compiler and Cargo dependencies' ( #951 ) from nix-crane into main
...
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
Reviewed-on: #951
2025-02-03 17:49:00 +00:00
34599bff51
update all Cargo dependencies except AWS crates and their dependencies
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/3 Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/release/1 Pipeline was successful
ci/woodpecker/deployment/release/4 Pipeline was successful
ci/woodpecker/deployment/publish Pipeline was successful
2025-02-03 17:46:54 +01:00
ec1a475923
build with rust 1.82.0
2025-02-03 17:46:48 +01:00
b9df2d1ad1
Merge pull request 'compile with crane' ( #950 ) from nix-crane into main
...
ci/woodpecker/push/debug Pipeline was successful
Reviewed-on: #950
2025-02-03 15:54:54 +00:00
390a5d97fe
nix, ci: build with Crane
...
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
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.
2025-02-03 16:39:50 +01:00
568c4954e9
Merge branch 'main' into next-v2
2025-02-01 19:58:36 +01:00