Commit graph

986 commits

Author SHA1 Message Date
Alex 897cbf2c27 actually update rmp-serde to 1.1.2 for both garage and netapp dependency (fix #629)
Some checks reported errors
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 was killed
2023-09-27 13:13:00 +02:00
Alex ad82035b98 Merge branch 'main' into next 2023-09-27 13:11:52 +02:00
Alex aa7eadc799 Merge pull request 'New layout: fixes and UX improvements' (#634) from new-layout-ux into next
All checks were successful
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
Reviewed-on: #634
2023-09-27 09:04:32 +00:00
Alex 0635250b2b garage_table/queue_insert: delay worker notification to after transaction commit (fix #583)
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-21 15:37:28 +02:00
Alex f97168f805 garage_db: refactor transactions and add on_commit mechanism 2023-09-21 15:35:31 +02:00
Alex 3ecc17f8c5 new layout: use deterministic randomness for reproducible results
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-21 11:21:35 +02:00
Alex 0088599f52 new layout: fix clippy lints
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-09-18 12:17:07 +02:00
Alex 749b4865d0 new layout: improve display and fix comments
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-09-18 12:07:45 +02:00
Alex 015ccb39aa new layout: make zone_redundancy optionnal (if not set, is maximum)
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-09-18 11:59:08 +02:00
Alex 2e229d4430 new layout: improve output display
Some checks reported errors
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build was killed
2023-09-12 17:24:51 +02:00
Alex 91e764a2bf fix hang on shutdown
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-12 14:35:48 +02:00
Alex aa79810596 Fix error when none of S3/K2V/WEB/ADMIN server is started (fix #613) 2023-09-12 14:35:19 +02:00
Alex fd7d8fec59 Merge branch 'main' into next
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone Build was killed
2023-09-11 23:09:20 +02:00
Alex 9cfe55ab60 fix 32-bit build
Some checks reported errors
continuous-integration/drone/pr Build was killed
continuous-integration/drone/push Build was killed
continuous-integration/drone Build is passing
2023-09-11 20:01:29 +02:00
Alex 51abbb02d8 Merge branch 'main' into next
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 20:00:02 +02:00
Alex d5bb50d738 use statvfs instead of mount list to determine free data/meta space (fix #611)
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build was killed
2023-09-11 19:08:24 +02:00
Alex f8b3883611 config: make block_size and sled_cache_capacity expressable as strings
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 18:34:59 +02:00
Alex 51b9731a08 make lmdb's map_size configurable (fix #628)
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 18:03:44 +02:00
Alex ad6b1cc0be Merge branch 'main' into next
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 13:14:18 +02:00
Alex ba7ac52c19 block repair: simpler/more robust iterator progress calculation
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 12:31:34 +02:00
Alex 9526328d38 scrub: clear saved checkpoint when canceling scrub
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 12:10:48 +02:00
Alex 7f9ba49c71 block manager: remove data_dir field
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 11:57:36 +02:00
Alex de5d792181 block manager: fix indentation (why not detected by cargo fmt?)
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 11:52:57 +02:00
Alex be91ef6294 block manager: fix bug where rebalance didn't delete old copies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 16:04:03 +02:00
Alex 2657b5c1b9 block manager: fix bugs
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 15:30:56 +02:00
Alex 2f112ac682 correct free data space accounting for multiple data dirs on same fs
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 14:42:20 +02:00
Alex 6b008b5bd3 block manager: add rebalance operation to rebalance multi-hdd setups 2023-09-07 13:44:11 +02:00
Alex 99ed18350f block manager: refactor and fix monitoring/statistics
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 12:41:36 +02:00
Alex f38a31b330 block manager: avoid incorrect data_dir configs and avoid losing files
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-06 17:49:30 +02:00
Alex e30865984a block manager: scrub checkpointing
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-06 16:35:28 +02:00
Alex 55c514999e block manager: fixes in layout 2023-09-06 16:35:28 +02:00
Alex a44f486931 block manager: refactoring & increase max worker count to 8 2023-09-06 16:35:28 +02:00
Alex 3a74844df0 block manager: fix dir_not_empty 2023-09-06 16:35:28 +02:00
Alex 93114a9747 block manager: refactoring 2023-09-06 16:35:28 +02:00
Alex fd00a47ddc table queue: increase batch size 2023-09-06 16:35:28 +02:00
Alex 1b8c265c14 block manager: get rid of check_block_status 2023-09-06 16:35:28 +02:00
Alex a09f86729c block manager: move blocks in write_block if necessary 2023-09-06 16:35:28 +02:00
Alex 887b3233f4 block manager: use data paths from layout 2023-09-06 16:35:28 +02:00
Alex 6c420c0880 block manager: multi-directory layout computation 2023-09-06 16:35:28 +02:00
Alex 71c0188055 block manager: skeleton for multi-hdd support 2023-09-06 16:35:28 +02:00
Alex 4b4f2000f4 lifecycle: fix SkipBucket bug
Some checks reported errors
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build was killed
2023-09-06 16:34:07 +02:00
Alex 51eac97260 update version to 0.8.4
Some checks failed
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 e78566591b Revert netapp update, hold to version 0.5.2 that uses rmp-serde 0.15
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-05 23:23:23 +02:00
Alex 8e0c020bb9 lifecycle worker: correct small clippy lints
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-04 11:33:44 +02:00
Alex 1cdc321e28 lifecycle worker: don't get stuck on non-existent bucket
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-31 11:36:30 +02:00
Alex f579d6d9b4 lifecycle worker: fix potential inifinite loop
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-31 11:29:54 +02:00
Alex a00a52633f lifecycle worker: add log message when starting
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 11:25:14 +02:00
Alex adbf5925de lifecycle worker: use queue_insert and process objects in batches
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 11:19:26 +02:00
Alex 1cfcc61de8 lifecycle worker: mitigate potential bugs + refactoring
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 00:28:37 +02:00
Alex be03a4610f s3api: remove redundant serde rename attribute
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 00:00:26 +02:00
Alex b2f679675e lifecycle worker: take into account disabled rules
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:52:09 +02:00
Alex 01c327a07a lifecycle worker: avoid building chrono's serde feature
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:46:15 +02:00
Alex f0a395e2e5 s3 bucket apis: remove redundant call
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:39:28 +02:00
Alex a1d57283c0 bucket_table: bucketparams::new doesn't need to be pub
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 20:07:14 +02:00
Alex d2e94e36d6 lifecycle config: add missing line in merge() and remove tracing
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 20:02:07 +02:00
Alex 7200954318 lifecycle worker: add logging
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 14:54:52 +02:00
Alex 0f1849e1ac lifecycle worker: launch with the rest of Garage
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 14:51:08 +02:00
Alex da8b224e24 lifecycle worker: skip entire bucket when no lifecycle config is set 2023-08-30 14:38:19 +02:00
Alex 2996dc875f lifecycle worker: implement main functionality
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 14:29:03 +02:00
Alex a2e0e34db5 lifecycle: skeleton for lifecycle worker
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 12:41:11 +02:00
Alex f7b409f114 use a NaiveDate in data model, it serializes to string (iso 8601 format)
All checks were successful
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
All checks were successful
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
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-29 17:44:17 +02:00
Alex 0b83e0558e bucket_table: data model for lifecycle configuration
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-29 17:00:41 +02:00
Alex 2e90e1c124 Merge branch 'main' into next
Some checks reported errors
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 06369c8f4a add garage_db dependency in garage_rpc
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build was killed
2023-08-28 17:08:21 +02:00
Alex cece1be1bb bump version to 0.8.3
All checks were successful
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 769b6fe054 fix test_website_check_domain
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-28 12:40:28 +02:00
Alex e66c78d6ea integration test: move json_body to root of crate 2023-08-28 12:32:57 +02:00
Alex 9b4ce4a8ad admin api: refactor caddy check api code
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-08-28 12:17:10 +02:00
Alex 2bbe2da5ad Merge pull request 'support index on path missing a trailing slash' (#612) from compat/index-without-trailing-slash into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #612
2023-08-28 10:15:01 +00:00
Alex c5cafa0000 web_server.rs: handle error properly and refactor
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-28 12:05:14 +02:00
Jonathan Davies d66d81ae2d cargo: Updated gethostname v0.2.3 -> v0.4.3.
Some checks failed
continuous-integration/drone/pr Build is failing
2023-08-28 09:30:27 +00:00
Jonathan Davies 7d8296ec59 cargo: Updated pretty_env_logger v0.4.0 -> v0.5.0. 2023-08-28 09:30:27 +00:00
Jonathan Davies f607ac6792 garage/api: cargo: Updated idna dependency to 0.4. 2023-08-28 09:30:27 +00:00
Jonathan Davies 96d1d81ab7 garage/db: cargo: Updated rusqlite to 0.29. 2023-08-28 09:30:27 +00:00
Jonathan Davies 5185701aa8 cargo: Updated:
* addr2line v0.19.0 -> v0.20.0
 * async-compression v0.4.0 -> v0.4.1
 * clap v4.3.8 -> v4.3.19
 * hyper v0.14.26 -> v0.14.27
 * ipnet v2.7.2 -> v2.8.0
 * rmp v0.8.11 -> v0.8.12
 * serde v1.0.164 -> v1.0.188
 * tokio v1.29.0 -> v1.31.0
 * zstd v0.12.3+zstd.1.5.2 -> v0.12.4
 * Others in `cargo update`
2023-08-28 09:30:27 +00:00
Quentin 63da1d2443
support index on path missing a trailing slash
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-08 15:28:57 +02:00
Quentin 24e533f262
support {s3,web}.root_domains in /check endpoint
All checks were successful
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.
All checks were successful
continuous-integration/drone/pr Build is passing
2023-08-01 15:31:39 +01:00
Florian Klink c855284760 src/util: fix typo
All checks were successful
continuous-integration/drone/pr Build is passing
2023-07-14 14:25:40 +03:00
Florian Klink b1ca1784a1 src/garage/cli: fix typo 2023-07-14 14:25:33 +03:00
Jonathan Davies aee0d97f22 cargo: Updated async-compression to 0.4.
Some checks failed
continuous-integration/drone/pr Build is failing
2023-06-28 11:17:16 +01:00
Alex e716320b0a Merge pull request 'cargo: roxmltree-0.18 and aws-sdk-s3-0.28 bump' (#591) from jpds/garage:roxmltree-0.18 into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #591
2023-06-27 17:20:58 +00:00
Alex e466edbaec Merge pull request 'introduce dedicated return type for PollRange' (#590) from trinity-1686a/garage:k2v-client-poll-range-result into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #590
2023-06-27 08:28:26 +00:00
Jonathan Davies a6da7e588f tests/bucket.rs: Adjusted as previously used function is now private. 2023-06-26 18:03:43 +01:00
trinity-1686a e5835704b7 don't build sqlite by default
All checks were successful
continuous-integration/drone/pr Build is passing
`bundled-libs` is enabled by default, and causes sqlite to be built too,
even if the sqlite backend isn't enabled.
2023-06-26 11:15:11 +02:00
Jonathan Davies 7f8bf2d801 src/garage/tests: Updated types for aws-sdk-s3 bump. 2023-06-25 21:31:35 +01:00
Jonathan Davies 4297233d3e garage/Cargo.toml: Updated aws-sdk-s3 to 0.28, added aws-config. 2023-06-25 21:17:15 +01:00
Jonathan Davies b94ba47f29 api/Cargo.toml: Updated roxmltree to 0.18. 2023-06-24 14:15:26 +01:00
trinity-1686a 33b3cf8e22 introduce dedicated return type for PollRange
All checks were successful
continuous-integration/drone/pr Build is passing
2023-06-24 10:17:20 +02:00
Alex 8ef42c9609 admin docs: reformatting, key admin: add check
All checks were successful
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
All checks were successful
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)
All checks were successful
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
All checks were successful
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)
All checks were successful
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)
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-13 23:10:46 +02:00