Commit graph

1062 commits

Author SHA1 Message Date
Alex 85f580cbde
[fix-buffering] change request sending strategy and fix priorities
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/4 Pipeline was successful
ci/woodpecker/deployment/release/3 Pipeline was successful
ci/woodpecker/deployment/release/1 Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/publish Pipeline was successful
remove LAS, priorize new requests but otherwise just do standard queuing
2024-03-27 16:22:40 +01:00
Alex 0d3e285d13
[fix-buffering] implement block_ram_buffer_max to avoid excessive RAM usage 2024-03-27 16:22:40 +01:00
Alex 73551e9a2d
[disable-k2v-test] disable the other k2v poll test 2024-03-26 16:24:26 +01:00
Alex f267609343
[disable-k2v-test] disable tests::k2v::test_poll_item as it is not 100% reliable
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-26 15:39:17 +01:00
Alex e835196940 Merge pull request 'Add marker files in data directories (fix #601)' (#785) from check-data-dir into main
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
Reviewed-on: #785
2024-03-20 16:53:47 +00:00
Alex ba33bb31f1
[check-data-dir] add marker files in data directories (fix #601)
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-03-20 15:20:25 +01:00
Alex 84018be862
[syslog] warning when syslog support is not enabled
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-03-20 14:39:04 +01:00
Alex fe8a7819fa
[syslog] Add support to logging to syslog
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
Original patch by Jakub Jirutka for Alpine Linux port.
2024-03-20 14:22:18 +01:00
Alex 783b586de9
[bucket-id-prefix] CLI: allow manipulating buckets by prefixes of their full IDs
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-19 16:57:51 +01:00
Alex b55f52a9b7
[sqlite-r2d2] run integration test with all db engines
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-18 18:31:35 +01:00
Alex e8f9718ccd
[sqlite-r2d2] implement connection pooling in sqlite backend 2024-03-18 18:05:25 +01:00
Alex a68c37555d
[db-snapshot] add garage meta snapshot cli operation 2024-03-15 13:51:31 +01:00
Alex 1e42808a59
[db-snapshot] implement meta_auto_snapshot_interval 2024-03-15 13:51:31 +01:00
Alex 8dff278b72
[db-snapshot] Implement db snapshotting logic in garage_db 2024-03-15 10:57:22 +01:00
Alex 7c86ff6c37
[disable-scrub] implement a disable_scrub configuration option 2024-03-14 17:01:16 +01:00
Alex ec34728b27
[factor-db-open] Combine logic for opening db engines
All checks were successful
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/4 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/publish Pipeline was successful
2024-03-08 12:58:17 +01:00
Alex eab2b81be2
[unicode-headers] allow utf-8 in headers + add test for object metadata
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-07 13:42:01 +01:00
Alex 3168bb34a0 Merge pull request 'add request context helper' (#751) from yuka/garage:req-ctx into main
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
Reviewed-on: #751
2024-03-04 14:51:05 +00:00
Alex 8670140358
[rel-0.9.3] Bump version to 0.9.3
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
2024-03-04 14:00:55 +01:00
Alex c8e416aaa5
[test-presigned] Use a HeaderMap type for QueryMap
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-04 13:33:14 +01:00
Yureka fb55682c66 add request context helper
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-04 13:26:39 +01:00
asonix c94bf45cba
Store original-cased query keys alongside query values 2024-03-04 13:03:27 +01:00
asonix 7c4f3473af
Lowercase query parameter keys when parsing 2024-03-04 13:03:16 +01:00
Alex b6a91e549b
[test-presigned] Add API test for presigned requests
Some checks failed
ci/woodpecker/pr/debug Pipeline failed
2024-03-04 13:02:07 +01:00
Alex 6a7623e90d
[rel-0.9.2] Bump version to v0.9.2
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-01 16:54:39 +01:00
Alex a36248a169
[fix-signed-headers] aws signatures v4: don't actually check Content-Type is signed
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
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
Alex 6d33e721c4
[fix-auth-ct-eq] use consant time comparison for awsv4 signature verification
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-29 13:07:18 +01:00
Alex eaac4924ef
[fix-auth-ct-eq] use argon2 hashing and verification for admin/metrics token checking 2024-02-29 13:07:15 +01:00
Alex 90cab5b8f2
[fix-presigned] add comments and reorganize
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-28 12:24:21 +01:00
Alex e9f759d4cb
[fix-presigned] presigned requests: allow x-amz-* query parameters to stand in for equivalent headers 2024-02-28 12:24:21 +01:00
Alex a5e4bfeae9
[fix-presigned] write comments 2024-02-28 12:24:21 +01:00
Alex 4c1d42cc5f
[fix-presigned] add back anonymous request code path + refactoring 2024-02-28 12:24:21 +01:00
Alex 2efa9c5a1a
[fix-presigned] PostObject: verify X-Amz-Algorithm 2024-02-28 12:24:20 +01:00
Alex a8cb8e8a8b
[fix-presigned] split presigned/normal signature verification 2024-02-28 12:24:13 +01:00
Alex b76c0c102e
[refactor-put] add ordering tag to blocks being sent to storage nodes
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/release/3 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
2024-02-26 18:35:11 +01:00
Alex babccd2ad3
[refactor-put] send several blocks in parallel to storage nodes
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-26 18:22:37 +01:00
Alex 3fe94cc14f
[refactor-put] rewrite read_and_put_block as a series of steps with channels
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-26 17:55:37 +01:00
Alex d640102b76
[split_getobject] GetObject: split out handle_get_full
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-23 18:14:50 +01:00
Alex 6ee691e65f
[refactor-block] simplify some more
All checks were successful
ci/woodpecker/pr/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
2024-02-23 12:50:10 +01:00
Alex e9c42bca34
[refactor-block] add DataBlockStream type
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-23 12:22:29 +01:00
Alex cd1069c1d4
[refactor-block] refactor DataBlock and DataBlockPath 2024-02-23 12:15:52 +01:00
Alex 07c7895948
[refactor-block] simplify rpc_get_block
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-23 11:54:40 +01:00
Alex 9b41f4ff20
[refactor-block] move read_stream_to_end to garage_net 2024-02-23 11:46:57 +01:00
Alex 93552b9275
[refactor-block] Remove redundant BlockStream type 2024-02-23 11:33:38 +01:00
Alex cff702a951
[lock-createbucket] Add node-global lock for bucket/key operations (fix #723)
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-22 12:28:21 +01:00
Alex 885405d944 Merge pull request 'system metrics improvements' (#726) from peer-metrics into main
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/debug 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: #726
2024-02-20 15:35:12 +00:00
Alex b868493da9
[peer-metrics] add basic cluster node status metrics (fix #545)
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-20 14:50:24 +01:00
Alex 182a23cc12
[peer-metrics] refactor SystemMetrics to hold a reference to System
All checks were successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-20 14:20:58 +01:00
Alex 3cdf69f079
[peer-metrics] Add metrics for cluster health, like GetClusterHealth admin API
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-02-20 13:50:45 +01:00
Alex 00d479358d
[peer-metrics] refactor/simplify SystemMetrics 2024-02-20 13:50:45 +01:00