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
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
ec1a475923
build with rust 1.82.0
2025-02-03 17:46:48 +01: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
fe937c2901
Merge branch 'main' into next-v2
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-02-01 19:07:17 +01:00
d18c5ad0ff
fix tests
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/push/debug Pipeline failed
2025-01-31 19:12:51 +01:00
3d5e9a027e
cargo defs: simplify and fix descriptions
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/push/debug Pipeline failed
2025-01-31 18:54:29 +01:00
4563313f87
use cargo-shear to remove many unused dependencies between crates
2025-01-31 18:47:30 +01:00
afa28706e5
split s3/cors.rs into also common/cors.rs
ci/woodpecker/push/debug Pipeline failed
2025-01-31 18:42:14 +01:00
84f1db91c4
fix things up
2025-01-31 18:34:57 +01:00
9fa20d45be
wip: split garage_api into garage_api_{common,s3,k2v,admin}
2025-01-31 18:18:29 +01:00
83f6928ff7
table::insert_many: avoid failure with zero items ( fix #915 )
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-01-30 18:06:47 +01:00
5a89350b38
cli_v2: fix garage status
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2025-01-30 16:45:59 +01:00
3caea5fc06
cli_v2: merge util.rs into layout.rs
2025-01-30 16:24:55 +01:00
ebc0e9319e
cli_v2: error messages
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-01-30 16:17:35 +01:00
f8c6a8373d
convert cli key operations to admin rpc
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-01-30 16:12:16 +01:00
076ce04fe5
fix garage status output
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-01-30 15:38:22 +01:00
f37d5d2b08
admin api: convert most bucket operations
ci/woodpecker/push/debug Pipeline failed
ci/woodpecker/pr/debug Pipeline failed
2025-01-30 13:36:25 +01:00
819f4f0050
cli: migrate layout remove, apply, revert
ci/woodpecker/push/debug Pipeline failed
ci/woodpecker/pr/debug Pipeline failed
2025-01-30 12:19:23 +01:00
69ddaafc60
wip: migrate garage status and garage layout assign
ci/woodpecker/push/debug Pipeline failed
ci/woodpecker/pr/debug Pipeline failed
2025-01-30 12:07:12 +01:00
145130481e
wip: proxy admin api requests through admin rpc, prepare new cli
ci/woodpecker/push/debug Pipeline failed
2025-01-30 10:44:08 +01:00
19454c1679
admin api: remove log message
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2025-01-29 19:47:37 +01:00
1c03941b19
admin api: fix panic on GetKeyInfo with no args
ci/woodpecker/push/debug Pipeline is running
ci/woodpecker/pr/debug Pipeline was successful
2025-01-29 19:26:16 +01:00
4f0b923c4f
admin api: small fixes
2025-01-29 19:26:16 +01:00
420bbc162d
admin api: clearer syntax for AddBucketAlias and RemoveBucketAlias
2025-01-29 19:26:16 +01:00
12ea4cda5f
admin api: merge calls to manage global/local aliases
2025-01-29 19:26:16 +01:00
5fefbd94e9
admin api: rename allow/deny api calls in api v2
2025-01-29 19:26:16 +01:00
ba810b2e81
admin api: rename bucket aliasing operations
2025-01-29 19:26:16 +01:00
f8ed3fdbc4
fix test_website_check_domain
2025-01-29 19:26:16 +01:00
4cb45bd398
admin api: fix CORS to work in browser
2025-01-29 19:26:16 +01:00
f538dc34d3
admin api: make all requests and responses (de)serializable
2025-01-29 19:26:16 +01:00
ed58f8b0fe
admin api: update semantics of some endpoints, and update doc
2025-01-29 19:26:16 +01:00
5037b97dd4
admin api: add compatibility from v1/ to v2/
2025-01-29 19:26:16 +01:00
af1a530834
admin api: refactor using macro
2025-01-29 19:26:16 +01:00
c99bfe69ea
admin api: new router_v2 with unified path syntax
2025-01-29 19:26:16 +01:00
831f2b0207
admin api: make all handlers impls of a single trait
2025-01-29 19:26:16 +01:00