Commit graph

777 commits

Author SHA1 Message Date
Jonathan Davies
4421378023 garage/admin.rs: Display Rust version in stats output. 2023-03-10 14:46:54 +00:00
Jonathan Davies
25f2a46fc3 rpc/system_metrics.rs: Added rustversion label to garage_build_info metric. 2023-03-10 14:46:44 +00:00
Jonathan Davies
d218f475cb block/manager.rs: Set defaults for scrub_persister.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-03-09 17:08:47 +00:00
Jonathan Davies
7b65dd24e2 block/repair.rs: Added a timestamp argument to
All checks were successful
continuous-integration/drone/pr Build is passing
randomize_next_scrub_run_time().
2023-03-09 16:38:41 +00:00
Jonathan Davies
b70cc0a940 block/repair.rs: Added migration for ScrubWorkerPersisted's time_next_run_scrub.
Fixes: #520.
2023-03-09 16:38:36 +00:00
2dc80abbb1 Merge pull request 'block/repair.rs: Added a random element of 10 days to SCRUB_INTERVAL' (#516) from jpds/garage:scrub-randomize-window into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #516
2023-03-06 14:11:25 +00:00
Jonathan Davies
148b66b843 block/manager.rs: Display scrub-next-run.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-03-06 13:43:09 +00:00
Jonathan Davies
53d09eb00f block/repair.rs: Added function and time_next_run_scrub with a random element of
10 days to SCRUB_INTERVAL to help balance scrub load across cluster.
2023-03-06 13:43:04 +00:00
00dcfc97a5 Merge pull request 'web_server.rs: Log X-Forwarded-For IP' (#504) from jpds/garage:web_server-log-x-forwarded-for into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #504
2023-03-06 12:33:06 +00:00
Jonathan Davies
4e0fc3d6c9 web/web_server.rs: Handle X-Forwarded-For here too.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-03-06 11:43: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
b8123fb6cd Clearer error message when LMDB has oom error (fix #517)
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-06 11:38:49 +01:00
Jonathan Davies
ff70e09aa0 util/forwarded_headers.rs: Generalized handle_forwarded_for_headers()
here.
2023-03-03 19:17:40 +00:00
teutat3s
f0717dd169
Bump pnet_datalink 0.28 -> 0.33
Some checks failed
continuous-integration/drone/pr Build is failing
Motivation: building garage on illumos is only possible since
pnet_datalink version 0.30

Changelog: https://github.com/libpnet/libpnet/compare/v0.28.0...v0.33.0
2023-02-28 16:06:43 +01:00
8b4d0adc75 Merge pull request 'generic_server.rs: Added support for logging X-Forwarded-For header.' (#500) from jpds/garage:generic_server-log-x-forwarded-for into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #500
2023-02-06 14:20:12 +00:00
d14678e0ac Merge pull request 'Secrets can be passed directly in config, as file, or as env' (#499) from config-files-env into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #499
2023-02-06 14:18:58 +00:00
80e2326998 fixes for pr 499
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-02-06 12:23:55 +01:00
Jonathan Davies
94d70bec69 generic_server.rs: Added support for logging X-Forwarded-For header.
All checks were successful
continuous-integration/drone/pr Build is passing
Fixes: #460
2023-02-04 15:19:21 +00:00
656b8d42de secrets can be passed directly in config, as file, or as env
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-02-03 15:27:39 +01:00
Jonathan Davies
1b6ec74748 error.rs: Corrected error messages to say unexpected scope. 2023-02-02 16:20:31 +00:00
f9573b6912 Merge pull request 'Fix duplicated content-type in error document' (#493) from baptiste/garage:fix_error_document_content_type into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #493
2023-01-30 10:56:35 +00:00
Baptiste Jonglez
e85a200189 Fix duplicated content-type in error document
All checks were successful
continuous-integration/drone/pr Build is passing
Fixes #492
2023-01-29 22:51:23 +01:00
Jonathan Davies
9c354f0a8f Improved bucket authorization response strings.
All checks were successful
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
d6af95d205 fix cli display bug
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-26 17:50:50 +01:00
c56794655e Fix fmt
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-26 17:27:03 +01:00
8e93d69974 More clippy fixes
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-01-26 17:26:32 +01:00
3113f6b5f2 more fixes 2023-01-26 17:14:17 +01:00
1dff62564f fix clippy
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-26 17:05:31 +01:00
590a0a8450 Merge branch 'main' into k2v-watch-range-2
Some checks failed
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2023-01-26 16:46:40 +01:00
94d559ae00 Merge branch 'main' into report-disk-usage
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-26 16:20:41 +01:00
c7d0ad0aa0 Add local disk usage to exported prometheus metrics
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-26 15:30:36 +01:00
efb6b6e868 Disk space report
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Report available disk space on nodes and calculate cluster-wide available space in `garage stats` (fix #479)
2023-01-26 15:04:32 +01:00
Jonathan Davies
3dc655095f db/Cargo.toml: Updated rusqlite from 0.27 to 0.28.
Some checks failed
continuous-integration/drone/pr Build is failing
2023-01-26 11:13:11 +00:00
Jonathan Davies
20c1cdf662 Cargo.toml: Loosen tracing dependency to just 0.1. 2023-01-26 11:13:11 +00:00
Jonathan Davies
f952e37ba7 {model,util}/Cargo.toml: Updated blake2 from 0.9 to 0.10. 2023-01-26 11:13:11 +00:00
Jonathan Davies
fbafa76284 {db,util}/Cargo.toml: Updated mktemp from 0.4 to 0.5. 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
f6eaf3661c garage/Cargo.toml: Updated timeage from 0.3 to 0.4. 2023-01-26 11:13:11 +00:00
Jonathan Davies
d3b2a68988 {garage,util}/Cargo.toml: Updated toml from 0.5 to 0.6. 2023-01-26 11:13:11 +00:00
Jonathan Davies
b4a1a6a32f util/time.rs: Updated deprecated associated function to timestamp_opt(). 2023-01-26 11:13:11 +00:00
Jonathan Davies
bcac889f9a Cargo.toml: Updated clap from 3.1.18 to 4.1. 2023-01-26 11:13:11 +00:00
Jonathan Davies
9e08a05e69 k2v-client/Cargo.toml: Loosen dependencies. 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
5c3075fe01 Cargo.toml: Updated zstd from 0.9 to 0.12. 2023-01-23 18:08:14 +00:00
Jonathan Davies
4962b88f8b tests/s3/website.rs: Added website hosting authorization check tests.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-01-13 09:39:02 +00:00
Jonathan Davies
100b01e859 Implemented website hosting authorization endpoint.
Fixes: #468
2023-01-13 09:38:58 +00:00
dac254a6e7
Merge branch 'main' into k2v-watch-range-2
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-11 17:09:37 +01:00
94d723f27c Merge pull request 'Implement rpc_secret_file' (#466) from felix.scheinost/garage:feature/implement-rpc-secret-file into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #466
2023-01-11 16:04:35 +00:00
638c5a3ce0
PollRange: add extra RPC delay after quorum is achieved,
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
to give a chance to the 3rd node to respond
2023-01-11 16:12:07 +01:00
5b5ca63cf6
Poll cleanup
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-11 15:17:27 +01:00
cbfae673e8
PollRange & PollItem: min timeout = 1 sec
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-11 15:03:08 +01:00
bba13f40fc
Correctly return bad requests when seeh marker is invalid
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
2023-01-11 12:27:19 +01:00
ba384e61c0
PollRange: return immediately if no seen marker is provided
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-11 12:03:17 +01:00
09a3dad0f2
Lock once for insert_many
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-11 11:35:36 +01:00
32aab06929
k2v-client libary poll_range and CLI poll-range
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-11 11:14:29 +01:00
de1111076b
PollRange integration test
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-11 10:04:41 +01:00
b83517d521
Implement PollRange API endpoint
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-10 15:22:25 +01:00
43fd6c1526
PollRange RPC
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-10 12:54:24 +01:00
789540ca37
Type definition for range seen marker
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-10 11:59:57 +01:00
Jonathan Davies
4cfb469d2b block/metrics.rs: Added compression_level metric.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-01-10 10:40:03 +00:00
Jonathan Davies
df1d9a9873 system.rs: Integrated SystemMetrics into System implementation. 2023-01-10 10:39:50 +00:00
Jonathan Davies
aac348fe93 Added system_metrics.rs file. 2023-01-10 10:38:50 +00:00
9f5419f465
Make K2V item timestamps globally increasing on each node
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-10 11:03:52 +01:00
a48e2e0cb2
K2V: Subscription to ranges of items
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-10 10:30:59 +01:00
d6ea0cbefa Add tests for rpc_secret_file
All checks were successful
continuous-integration/drone/pr Build is passing
2023-01-07 14:19:36 +01:00
7b62fe3f0b Error on both rpc_secret and rpc_secret_file 2023-01-07 13:49:03 +01:00
f2106c2733 Implement rpc_secret_file
All checks were successful
continuous-integration/drone/pr Build is passing
2023-01-04 18:35:10 +01:00
02e8eb167e Merge pull request 'PutObject: better cleanup when request is interrupted in the middle' (#462) from interrupted-cleanup into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #462
2023-01-04 14:43:45 +00:00
29dbcb8278
bg var operation on all nodes at once
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-04 13:25:57 +01:00
f3f27293df
Uniform framework for bg variable management
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-04 13:07:13 +01:00
13c5549886
Remove token_bucket.rs 2023-01-04 11:47:56 +01:00
936b6cb563
When saving block, delete .tmp file if we could not complete
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-01-03 17:34:26 +01:00
0650a43cf1
PutObject: better cleanup on Drop (incl. when request is interrupted in the middle)
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-03 17:05:17 +01:00
1fc220886a
Fix Consul & Kubernetes discovery with new way of doing background things
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-03 16:55:59 +01:00
1d5bdc17a4
use impossible enum type
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-03 16:04:06 +01:00
c106304b9c
more idiomatic and shorter
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-03 16:00:19 +01:00
33f25d26c7
fix doc and add tests for migrate.rs
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-03 15:53:13 +01:00
d6d571d512
cargo fmt
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
2023-01-03 15:30:21 +01:00
a54b67740d
move debug_serialize to garage_util::encode
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-01-03 15:29:29 +01:00
8d5505514f
Make it explicit when using nonversioned encoding
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-03 15:27:36 +01:00
426d8784da
cleanup
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-03 15:08:37 +01:00
cdb2a591e9
Refactor how things are migrated
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-01-03 14:44:47 +01:00
939a6d67e8
Merge branch 'main' into internals-rework
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-02 15:07:44 +01:00
6775569525
Bump everything to v0.8.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-02 14:15:33 +01:00
6b857a9b8c
cargo fmt
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-01-02 13:50:42 +01:00
7f7d53cfa9 Merge pull request 'improvements to CLI and new debug features' (#448) from cli-improvements into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #448
2023-01-02 12:42:24 +00:00
1af4a5ed56 Merge pull request 'Fix router keyword handling (fix #442)' (#446) from router-keywords-fix into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #446
2022-12-15 08:40:26 +00:00
1fcd0b371b
online repair workers: retry on error
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2022-12-14 16:31:31 +01:00
13c8662126
factorize
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-14 16:16:55 +01:00
e6f14ab5cf
better error message handling
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-14 16:11:19 +01:00
510b620108
Get rid of background::spawn
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-14 16:08:05 +01:00
dfc131850a
Simplified and more aggressive worker exit logic
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2022-12-14 15:25:29 +01:00
d4af27f920
Add missing notify
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-14 13:54:21 +01:00
a19bfef508
Improve error message on rpc connection failure
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2022-12-14 12:57:33 +01:00
d56c472712
Refactor background runner and get rid of job worker
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2022-12-14 12:51:42 +01:00
2183518edc
Spawn all background workers in a separate step 2022-12-14 12:28:07 +01:00