Alex
a22bd31920
[dep-upgrade-202402] migration to http/hyper 1.0 for k2v api
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2024-02-05 19:27:12 +01:00
Alex
0bb5b77530
[dep-upgrade-202402] wip: port to http/hyper crates v1
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2024-02-05 18:49:54 +01:00
Alex
6e69a1fffc
[dep-upgrade-202402] prepare migration to http/hyper 1.0
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-02-05 14:44:12 +01:00
Alex
fe1af5d98b
[dep-upgrade-202402] refactor dependencies: move all as workspace deps
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-02-05 13:02:02 +01:00
Alex
ee57dd922b
Bump version to 0.9.1
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-01-16 16:28:17 +01:00
Alex
4c5be79b80
Garage v0.8.5
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
This minor release includes the following improvements and fixes:
New features:
- Configuration: make LMDB's `map_size` configurable and make `block_size` and `sled_cache_capacity` expressable as strings (such as `10M`) (#628 , #630 )
- Add support for binding to Unix sockets for the S3, K2V, Admin and Web API servers (#640 )
- Move the `convert_db` command into the main Garage binary (#645 )
- Add support for specifying RPC secret and admin tokens as environment variables (#643 )
- Add `allow_world_readable_secrets` option to config file (#663 , #685 )
Bug fixes:
- Use `statvfs` instead of mount list to determine free space in metadata/data directories (#611 , #631 )
- Add missing casts to fix 32-bit build (#632 )
- Fix error when none of the HTTP servers (S3/K2V/Admin/Web) is started and fix shutdown hang (#613 , #633 )
- Add missing CORS headers to PostObject response (#609 , #656 )
- Monitoring: finer histogram boundaries in Prometheus exported metrics (#531 , #686 )
Other:
- Documentation improvements (#641 )
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEwhSWp0+ubv79TiqUDkltFQljdr4FAmWmWvsACgkQDkltFQlj
dr59rRAAiMGQpDUK0QqiCgrp1rcUhvtj3DsQEpT7F14Jo3I7bFDmONZolPbO8YAs
VE4S4CBQogNH0lMQ6EvJYiBCxDWkxdVibKqDWOYJmUw3bZ6Ypn1eZIF0+Uf1TDI+
C6CxYbyDQtqvm330K2Du2uOoGiIgm83b6jktK/0FtbAE2GWhtYmQwoelprAGH20i
baaSfkZbBl8toUscakyhPVVSQ86BcVQ2jqL6Ofu4eQknjMRqCeAIQhMB2ikpiwBz
hbTZ3x0EfJJqiHocfkTE3B3cPnDKuHDzxPRhLMB/olEpzoxaLJ2+tc0ziQdl06/F
1c8nHM57L1IaDGKAkpcANnj3yVf3jfPqq9SEUNi+xSIWbvln91RvXU4RIB8hiZqa
rqAHjDuys++3DoAUr/L4X233MWufVAEYT4B+jaPAv6ys35xhQwPAMJrA0OZEr+hE
HQMPIG9uMDVjZ2QCgFYgC02kEqvxbsRSVnb0wjI7eoNOk0LKo154eJh1cOGd4Ibs
yBTiIi1+Y7RCXNxcIHKlj5vMUHPBr2D8DVFj21kfZKUtMQ/8yScoiRC14ZR4J2xF
IYe3aDm80l3tYgnPRVj4fOGiIPsqnZd4iazYKwj2cifB8tzYfyh5/9fv2aio8K5y
0GAw4AoTtgg1hLMadbc3om7wy64IRaZzXjv59eYPEotZYdreVpM=
=RVm8
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEwhSWp0+ubv79TiqUDkltFQljdr4FAmWmZKIACgkQDkltFQlj
dr6wZRAA1XuOBax/7YsIix3ag0kjnwnGAx8wYaA+Jiojw2yv/+ePL6yGHcKA93lI
SL8l5G06fTDgpbpfdVbgyRzGT2tmjrXvkygRWf2WMDZ9I+8WxUA2q8aWaEMiNmvd
0cfzYi14TgX+O0wEbKeeqrXG0473/yThk5U1FNbdJd7rkJ4JzaOTthdk0LJLiEUG
zQ/YIYx3FVFoVI0rdORb3HKzqYHjMAvpzNhEIeqkrpDEzplQ3jKvY+rYWQL3S9zE
bHbkZPoT62OpJGMr04/1FUkB+ctsvUrM0CskruaSKWyD2M1xTo/Ug4jh5muVIcdJ
hJis1/k5rV8JDTIkb6eAxKqfVzI+56yDxofT8rVF4JhvlzvXDLOa0uyDVyA8/6un
ylWRzs2Mlj6/TbscmPjrdH8v2Lb0zjWxvXe2iYnHHfldWUlYuBtI6FZiG3uNjBCs
7ns3xr4VOw13RM5auVkEQksIO6lru0kvH18GB3h6Msx67w2JUzl+PaNv8PdRtnmV
0SfLUl1Nh8yT2h9qG6/3cDE9E1G/mjg8SgljoEe6ahs/BUZmLuTHTyBjf+P22ZbO
DCITM3CwrV+y/aKnRdLvd6LOWFinUqMS8YvVSVqJh9vo9R+dt33LdBMdWjP4IYHF
MbACe4FzeG3AXUcHB/mDCm7a2H2BFwzAovFy0SE639PfWBxNue0=
=gzWq
-----END PGP SIGNATURE-----
Merge tag 'v0.8.5' into sync-08-09
Garage v0.8.5
This minor release includes the following improvements and fixes:
New features:
- Configuration: make LMDB's `map_size` configurable and make `block_size` and `sled_cache_capacity` expressable as strings (such as `10M`) (#628 , #630 )
- Add support for binding to Unix sockets for the S3, K2V, Admin and Web API servers (#640 )
- Move the `convert_db` command into the main Garage binary (#645 )
- Add support for specifying RPC secret and admin tokens as environment variables (#643 )
- Add `allow_world_readable_secrets` option to config file (#663 , #685 )
Bug fixes:
- Use `statvfs` instead of mount list to determine free space in metadata/data directories (#611 , #631 )
- Add missing casts to fix 32-bit build (#632 )
- Fix error when none of the HTTP servers (S3/K2V/Admin/Web) is started and fix shutdown hang (#613 , #633 )
- Add missing CORS headers to PostObject response (#609 , #656 )
- Monitoring: finer histogram boundaries in Prometheus exported metrics (#531 , #686 )
Other:
- Documentation improvements (#641 )
2024-01-16 12:12:27 +01:00
Alex
50643e61bf
Bump version to 0.8.5
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-01-16 10:47:33 +01:00
Alex
db48dd3d6c
bump crate versions to 0.10.0
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-01-11 12:05:51 +01:00
Alex
8a6ec1d611
Merge pull request 'NLnet task 3' ( #667 ) from nlnet-task3 into next-0.10
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Reviewed-on: #667
2024-01-11 10:58:08 +00:00
Alex
85b5a6bcd1
fix some clippy lints
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-12-11 15:31:47 +01:00
Alex
a8b0e01f88
Merge pull request 'OpenAPI specification of admin APIv1' ( #672 ) from api-v1 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #672
2023-11-29 15:42:46 +00:00
Alex
c04dd8788a
admin: more info in admin GetClusterStatus
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-11-28 14:25:04 +01:00
Quentin
d1d1940252
Health info message now advertises API v1
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-22 09:28:50 +01:00
asonix
92fd899fb6
Allow 0 as a part number marker
continuous-integration/drone/pr Build is passing
2023-11-21 17:39:51 -06:00
Alex
393c4d4515
layout: add helper for cached/external values to centralize recomputation
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-15 14:20:50 +01:00
Alex
acd49de9f9
rpc: fix write set quorums
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-11-15 13:07:42 +01:00
Alex
8e292e06b3
layout: some refactoring of nongateway nodes
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-14 12:48:38 +01:00
Alex
bad7cc812e
layout admin: add missing calls to update_hash
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 15:42:10 +01:00
Alex
bfb1845fdc
layout: refactor to use a RwLock on LayoutHistory
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 14:12:05 +01:00
Alex
8a2b1dd422
wip: split out layout management from System into separate LayoutManager
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 12:55:36 +01:00
Alex
523d2ecb95
layout: use separate CRDT for staged layout changes
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 11:19:43 +01:00
Alex
8dccee3ccf
cluster layout: adapt all uses of ClusterLayout to LayoutHistory
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-08 19:28:36 +01:00
Alex
4a9c94514f
avoid using layout_watch in System directly
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-08 16:41:00 +01:00
Alex
12d1dbfc6b
remove Ring and use ClusterLayout everywhere
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-08 15:41:24 +01:00
Alex
a0fa50dfcd
Merge pull request 's3 api: refactoring and bug fix in ListObjects' ( #655 ) from fix-list-objects into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #655
2023-10-26 09:22:47 +00:00
Alex
c82d91c6bc
DeleteObject: always insert a deletion marker with a bigger timestamp than everything before
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
continuous-integration/drone Build is passing
2023-10-20 13:56:35 +02:00
Alex
8686cfd0b1
s3 api: also ensure increasing timestamps for create_multipart_upload
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-10-20 13:37:37 +02:00
Alex
c6cde1f143
remove now-unused key parameter in check_quotas
2023-10-20 13:20:47 +02:00
Alex
ac04934dae
s3 api: add missing CORS headers to PostObject responses ( fix #609 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-10-20 10:37:48 +02:00
Alex
58b0ee1b1a
list objects: prettyness and add asserts
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
continuous-integration/drone Build is failing
2023-10-19 15:26:17 +02:00
Alex
158dc17a06
listobjects: fix panic if continuation token is an empty string
2023-10-19 15:08:47 +02:00
Alex
d146cdd5b6
cargo fmt
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
continuous-integration/drone Build is passing
2023-10-18 16:38:26 +02:00
Alex
3d6ed63824
check_quotas: avoid re-fetching object from object table
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-10-18 16:36:48 +02:00
Alex
45b0453d0f
Ensure increasing version timestamps in PutObject
2023-10-18 16:31:50 +02:00
Alex
952c9570c4
bump version to v0.9.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-10-10 14:08:11 +02:00
Alex
0c431b0c03
admin api: increased compatibility for v0/ endpoints
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone Build is passing
2023-10-05 16:56:13 +02:00
Alex
1c13135f25
admin api: remove broken GET /v0/key router rule
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-05 16:27:29 +02:00
Alex
2e656b541b
Merge branch 'main' into next
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
continuous-integration/drone Build is passing
2023-10-03 18:40:37 +02:00
networkException
7907a09acc
api: allow custom unix bind mode and use 0o220 for admin server
2023-10-03 17:31:40 +02:00
networkException
8ec6a53b35
everywhere: support unix sockets when binding in various places
...
continuous-integration/drone/pr Build is passing
this patch implements binding to paths as a unix socket for generic
server and web server.
2023-09-29 18:57:44 +02:00
networkException
6086a3fa07
cargo: add hyperlocal as a dependency
2023-09-29 18:37:12 +02:00
Alex
ad6b1cc0be
Merge branch 'main' into next
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 13:14:18 +02:00
Alex
51eac97260
update version to 0.8.4
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is failing
2023-09-05 23:28:12 +02:00
Alex
be03a4610f
s3api: remove redundant serde rename attribute
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 00:00:26 +02:00
Alex
f0a395e2e5
s3 bucket apis: remove redundant call
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:39:28 +02:00
Alex
d2e94e36d6
lifecycle config: add missing line in merge() and remove tracing
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 20:05:53 +02:00
Alex
75ccc5a95c
lifecycle config: store date as given, try to debug
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 20:02:07 +02:00
Alex
2996dc875f
lifecycle worker: implement main functionality
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 14:29:03 +02:00
Alex
f7b409f114
use a NaiveDate in data model, it serializes to string (iso 8601 format)
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 11:24:01 +02:00
Alex
abf011c290
lifecycle: implement validation into garage's internal data structure
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-29 18:22:03 +02:00
Alex
8041d9a827
s3: add xml structures to serialize/deserialize lifecycle configs
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-29 17:44:17 +02:00
Alex
2e90e1c124
Merge branch 'main' into next
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build was killed
continuous-integration/drone Build is passing
2023-08-29 11:32:42 +02:00
Alex
cece1be1bb
bump version to 0.8.3
continuous-integration/drone/pr Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-08-28 13:17:26 +02:00
Alex
9b4ce4a8ad
admin api: refactor caddy check api code
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-08-28 12:17:10 +02:00
Jonathan Davies
f607ac6792
garage/api: cargo: Updated idna dependency to 0.4.
2023-08-28 09:30:27 +00:00
Quentin
24e533f262
support {s3,web}.root_domains in /check endpoint
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-08 11:05:42 +02:00
Jonathan Davies
59bfc68f2e
post_object.rs: Fixed typos / grammar.
continuous-integration/drone/pr Build is passing
2023-08-01 15:31:39 +01:00
Jonathan Davies
b94ba47f29
api/Cargo.toml: Updated roxmltree to 0.18.
2023-06-24 14:15:26 +01:00
Alex
8ef42c9609
admin docs: reformatting, key admin: add check
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-14 17:19:25 +02:00
Alex
a83a092c03
admin: uniformize layout api and improve code
2023-06-14 17:12:37 +02:00
Alex
7895f99d3a
admin and cli: hide secret keys unless asked
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-14 16:56:15 +02:00
Alex
4a82f6380e
admin api: move all endpoints to v1/ by default (v0/ still supported)
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-14 14:15:51 +02:00
Alex
28cc9f178a
admin api: make name optionnal for CreateKey
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-14 13:56:37 +02:00
Alex
35c108b85d
admin api: switch GetClusterHealth to camelcase ( fix #381 again)
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-14 13:53:19 +02:00
Alex
52376d47ca
admin api: change cluster status/layout to use lists and not maps ( fix #377 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-14 13:45:27 +02:00
Alex
5670367126
multipartupload in test: add forgotten timestamp
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-13 23:10:46 +02:00
Alex
90b2d43eb4
Merge branch 'main' into next
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-13 17:14:11 +02:00
Alex
bf19a44fd9
admin API: add missing camelCase conversions ( fix #381 )
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-13 16:15:50 +02:00
Alex
942c1f1bfe
multipart uploads: save timestamp
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-13 10:48:22 +02:00
Alex
a6cc563bdd
UploadPart: automatic cleanup of version (and reference blocked) when interrupted
2023-06-09 16:23:37 +02:00
Alex
c14d3735e5
Add test for multipart uploads and fix part renumbering
2023-06-09 16:23:37 +02:00
Alex
412ab77b08
comments and clippy lint fixes
2023-06-09 16:23:37 +02:00
Alex
511e07ecd4
fix mpu counter (add missing workers) and report info at appropriate places
2023-06-09 16:23:37 +02:00
Alex
8644376ac2
fix test; simplify code
2023-06-09 16:23:37 +02:00
Alex
7ad7dae5d4
fix s3 list test
2023-06-09 16:23:37 +02:00
Alex
82e75c0e29
Adapt S3 API code to use new multipart upload models
...
- Create and PutPart
- completemultipartupload
- upload part copy
- list_parts
2023-06-09 16:23:37 +02:00
Jonathan Davies
8a945ee996
payload.rs: Surround / in inverted commas.
continuous-integration/drone/pr Build is passing
2023-06-06 16:26:06 +01:00
Jonathan Davies
180992d0f1
payload.rs: Fixed typo in error message.
2023-06-06 16:25:29 +01:00
Alex
746b0090e4
k2v signature verification: double urlencoding (see comment in source code)
2023-05-18 11:18:06 +02:00
Jonathan Davies
c783194e8b
*: apply clippy recommendations.
continuous-integration/drone/pr Build is passing
2023-05-09 20:49:34 +01:00
Alex
351d734e6c
Merge branch 'main' into next
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-09 12:40:08 +02:00
Jakub Jirutka
d2deee0b8b
Declare garage crates using workspace.dependencies
...
This will allow to really disable "sled" feature without declaring
`default-features = false` in every Cargo.toml where garage_db and
garage_model is used.
See https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table
2023-05-09 08:46:15 +00:00
Alex
fa78d806e3
Merge branch 'main' into next
2023-04-25 12:34:26 +02:00
Jonathan Davies
c168383113
api/Cargo.toml: Bumped quick-xml to version 0.26.
continuous-integration/drone/pr Build is failing
2023-04-23 20:14:28 +01:00
Alex
0a1ddcf630
Prepare for v0.8.2
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-03-13 18:46:31 +01:00
Jonathan Davies
9ea154ae9c
admin/cluster.rs: Added rust_version.
continuous-integration/drone/pr Build is failing
2023-03-10 14:46:54 +00:00
Jonathan Davies
e4e5196066
api/generic_server.rs: Use new handle_forwarded_for_headers() function.
2023-03-06 11:43:35 +00:00
Jonathan Davies
94d70bec69
generic_server.rs: Added support for logging X-Forwarded-For header.
...
continuous-integration/drone/pr Build is passing
Fixes : #460
2023-02-04 15:19:21 +00:00
Jonathan Davies
1b6ec74748
error.rs: Corrected error messages to say unexpected scope.
2023-02-02 16:20:31 +00:00
Jonathan Davies
9c354f0a8f
Improved bucket authorization response strings.
continuous-integration/drone/pr Build is passing
2023-01-29 20:34:41 +00:00
Jonathan Davies
004bb5b4f1
api_server.rs: Adapted to use query string per Caddy upstream change.
2023-01-29 20:34:37 +00:00
Alex
8e93d69974
More clippy fixes
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-01-26 17:26:32 +01:00
Alex
590a0a8450
Merge branch 'main' into k2v-watch-range-2
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2023-01-26 16:46:40 +01:00
Jonathan Davies
20c1cdf662
Cargo.toml: Loosen tracing dependency to just 0.1.
2023-01-26 11:13:11 +00:00
Jonathan Davies
63e22e71f2
api/Cargo.toml: Updated idna from 0.2 to 0.3.
2023-01-26 11:13:11 +00:00
Jonathan Davies
36944f1839
Cargo.toml: Updated base64 from 0.13 to 0.21.
2023-01-26 11:13:07 +00:00
Jonathan Davies
93c3f8fc8c
api/Cargo.toml: Updated url from 2.1 to 2.3.
2023-01-23 19:16:58 +00:00
Jonathan Davies
1c435fce09
api/Cargo.toml: Updated httpdate from 0.3 to 1.0.
2023-01-23 19:16:54 +00:00
Jonathan Davies
dead123892
api/Cargo.toml: Updated pin-project to 1.0.12.
2023-01-23 18:39:35 +00:00
Jonathan Davies
100b01e859
Implemented website hosting authorization endpoint.
...
Fixes : #468
2023-01-13 09:38:58 +00:00