Commit Graph

1169 Commits

Author SHA1 Message Date
Alex 7f2541101f
cli: improvements to the layout commands when multiple layouts are live
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-12-08 11:24:23 +01:00
Alex 91b874c4ef
rpc: fix system::health
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-12-08 10:36:37 +01:00
Alex 431b28e0cf
fix build with discovery features
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-12-07 15:15:59 +01:00
Alex 9cecea64d4
layout: allow sync update tracker to progress with only quorums
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build was killed Details
2023-12-07 14:51:20 +01:00
Alex aa59059a91
layout cli: safer skip-dead-nodes command
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-12-07 11:56:14 +01:00
Alex d90de365b3
table sync: use write quorums to report global success or failure of sync
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-12-07 11:16:10 +01:00
Alex 95eb13eb08
rpc: refactor result tracking for quorum sets
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-12-07 10:57:21 +01:00
Alex c8356a91d9
layout updates: fix the set of nodes among which minima are calculated
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-12-07 10:30:26 +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 Details
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 Details
continuous-integration/drone/push Build is passing Details
2023-11-28 14:25:04 +01:00
Alex 539af6eac4
rpc helper: write comments + small refactoring of tracing
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-28 11:12:39 +01:00
Alex c539077d30
cli: remove historic layout info from status
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-27 16:22:27 +01:00
Alex 11e6fef93c
cli: add layout history and layout assume-sync commands 2023-11-27 16:22:25 +01:00
Alex 539a920313
cli: show when nodes are draining metadata
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-27 13:18:59 +01:00
Alex 78362140f5
rpc: update system::health to take into account write sets for all partitions
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-27 12:10:21 +01:00
Alex d6d239fc79
block manager: read_block using old layout versions if necessary
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-27 11:52:57 +01:00
Quentin d1d1940252
Health info message now advertises API v1
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-22 09:28:50 +01:00
asonix 92fd899fb6 Allow 0 as a part number marker
continuous-integration/drone/pr Build is passing Details
2023-11-21 17:39:51 -06:00
Alex 3ecd14b9f6
table: implement write sets for insert_many
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-16 16:41:45 +01:00
Alex 22f38808e7
rpc_helper: don't use tokio::spawn for individual requests 2023-11-16 16:34:01 +01:00
Alex 707442f5de
layout: refactor digests and add "!=" assertions before epidemic bcast
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
2023-11-16 13:51:40 +01:00
Alex ad5c6f779f
layout: split helper in separate file; more precise difference tracking
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-16 13:26:43 +01:00
Alex d4df03424f
layout: fix test
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
2023-11-15 15:56:57 +01:00
Alex 33c8a489b0
layou: implement ack locking
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-15 15:40:44 +01:00
Alex 393c4d4515
layout: add helper for cached/external values to centralize recomputation
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-15 14:20:50 +01:00
Alex 65066c7064
layout: wip cache global mins 2023-11-15 13:28:30 +01:00
Alex acd49de9f9
rpc: fix write set quorums
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-15 13:07:42 +01:00
Alex 46007bf01d
integration test: print stdout and stderr on subcommand crash 2023-11-15 12:56:52 +01:00
Alex b3e729f4b8
layout history merge: rm invalid versions when valid versions are added
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-15 12:15:58 +01:00
Alex 7ef2c23120
layout: fix test
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-14 15:45:01 +01:00
Alex 90e1619b1e
table: take into account multiple write sets in inserts
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-14 15:40:46 +01:00
Alex 3b361d2959
layout: prepare for write sets
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-14 14:28:16 +01:00
Alex 866196750f
system: add todo wrt new layout 2023-11-14 13:36:58 +01:00
Alex 83a11374ca
layout: fixes in schema
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-14 13:29:26 +01:00
Alex 1aab1f4e68
layout: refactoring of all_nodes
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-14 13:12:32 +01:00
Alex 8e292e06b3
layout: some refactoring of nongateway nodes
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-14 12:48:38 +01:00
Alex 9a491fa137
layout: fix test
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-11 13:10:59 +01:00
Alex df24bb806d
layout/sync: fix bugs and add tracing
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-11 12:44:27 +01:00
Alex ce89d1ddab
table sync: adapt to new layout history
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-11 12:08:32 +01:00
Alex df36cf3099
layout: add helpers to LayoutHistory and prepare integration with Table
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-09 16:32:31 +01:00
Alex 9d95f6f704
layout: fix tracker bugs
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-09 15:52:45 +01:00
Alex bad7cc812e
layout admin: add missing calls to update_hash
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-09 15:42:10 +01:00
Alex 03ebf18830
layout: begin managing the update tracker values
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-09 15:31:59 +01:00
Alex 94caf9c0c1
layout: separate code path for synchronizing update trackers only
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-09 14:53:34 +01:00
Alex bfb1845fdc
layout: refactor to use a RwLock on LayoutHistory
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-09 14:12:05 +01:00
Alex 19ef1ec8e7
layout: more refactoring 2023-11-09 13:34:14 +01:00
Alex 8a2b1dd422
wip: split out layout management from System into separate LayoutManager
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
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 Details
continuous-integration/drone/push Build is failing Details
2023-11-09 11:19:43 +01:00
Alex 1da0a5676e
bump garage protocol version tag to 0x000A (0.10)
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-08 19:30:58 +01:00
Alex 8dccee3ccf
cluster layout: adapt all uses of ClusterLayout to LayoutHistory
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-08 19:28:36 +01:00
Alex fe9af1dcaa
WIP: garage_rpc: store layout version history 2023-11-08 17:49:06 +01:00
Alex 4a9c94514f
avoid using layout_watch in System directly
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-11-08 16:41:00 +01:00
Alex 12d1dbfc6b
remove Ring and use ClusterLayout everywhere
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-11-08 15:41:24 +01:00
Alex 0962313ebd
garage_rpc: reorder functions in layout.rs 2023-11-08 13:13:04 +01:00
Félix Baylac Jacqué f83fa02193 Add allow_world_readable_secrets option to config file
continuous-integration/drone/pr Build is passing Details
Sometimes, the secret files permissions checks gets in the way. It's
by no mean complete, it doesn't take the Posix ACLs into account among
other things. Correctly checking the ACLs would be too involving (see
#658 (comment))
and would likely still fail in some weird chmod settings.

We're adding a new configuration file key allowing the user to disable
this permission check altogether.

The (already existing) env variable counterpart always take precedence
to this config file option. That's useful in cases where the
configuration file is static and cannot be easily altered.

Fixes #658

Co-authored-by: Florian Klink <flokli@flokli.de>
2023-10-26 18:25:13 +02: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 Details
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 Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
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 Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-10-20 10:37:48 +02:00
Alex 58b0ee1b1a list objects: prettyness and add asserts
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is failing Details
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 0215b11402 Merge pull request 'Add support for specifying `rpc_secret_file`, `metrics_token_file` and `admin_token_file` using environment variables' (#643) from networkException/garage:token-file-env into main-0.8.x
continuous-integration/drone/push Build is passing Details
Reviewed-on: #643
2023-10-19 09:33:12 +00:00
networkException 8599051c49
garage: support specifying token / secret as environment variables
continuous-integration/drone/pr Build is passing Details
this patch adds support for specifying the `rpc_secret_file`,
`metrics_token_file` and `admin_token_file` as environment variables.
2023-10-19 03:39:02 +02:00
networkException 4a19ee94bb
garage: fix admin-token description 2023-10-19 03:31:50 +02:00
networkException c99cb58d71
util: move reading secret file into seperate helper
this patch moves the logic to read a secret file (and check for correct
permissions) from `secret_from_file` into a new `read_secret_file`
helper.
2023-10-19 03:29:48 +02:00
Alex d146cdd5b6 cargo fmt
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
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 Details
continuous-integration/drone/pr Build is failing Details
2023-10-18 16:36:48 +02:00
Alex 45b0453d0f Ensure increasing version timestamps in PutObject 2023-10-18 16:31:50 +02:00
trinity-1686a c7f5dcd953 fix compilation on macos
continuous-integration/drone/pr Build is passing Details
fsblkcnt_t is ony 32b there, so we have to do an additional cast
2023-10-15 17:57:27 +02:00
Alex 952c9570c4 bump version to v0.9.0
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-10-10 14:08:11 +02:00
Alex 3d7892477d convert_db: fix build 2023-10-10 14:06:25 +02:00
Alex d4932c31ea Merge branch 'main' into next
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-10-10 13:57:21 +02:00
Alex 2d5d7a7031 Move convert_db command into main garage binary
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-10-10 12:13:15 +02:00
Alex 0c431b0c03 admin api: increased compatibility for v0/ endpoints
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
2023-10-05 16:27:29 +02:00
Alex 920dec393a cli: more precise doc comment
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-10-04 10:44:42 +02:00
Alex 2e656b541b Merge branch 'main' into next
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone Build is passing Details
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 Details
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 7353038a64
config: allow using paths for unix domain sockets in various places
this patch updates the config format to also allow paths in bind
addresses for unix domain sockets.

this has been added to all apis except rpc.
2023-09-29 18:38:30 +02:00
networkException 10195f1567
util: add helper sum type for unix and tcp socket addresses
this patch introduces a new sum type that can represent either a
tcp socket address or a unix domain socket path.
2023-09-29 18:37:36 +02:00
networkException 6086a3fa07
cargo: add hyperlocal as a dependency 2023-09-29 18:37:12 +02:00
Alex 897cbf2c27 actually update rmp-serde to 1.1.2 for both garage and netapp dependency (fix #629)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone Build was killed Details
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
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone Build is passing Details
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)
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
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
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-21 11:21:35 +02:00
Alex 0088599f52 new layout: fix clippy lints
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-09-18 12:17:07 +02:00
Alex 749b4865d0 new layout: improve display and fix comments
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-09-18 12:07:45 +02:00
Alex 015ccb39aa new layout: make zone_redundancy optionnal (if not set, is maximum)
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2023-09-18 11:59:08 +02:00
Alex 2e229d4430 new layout: improve output display
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build was killed Details
2023-09-12 17:24:51 +02:00
Alex 91e764a2bf fix hang on shutdown
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone Build was killed Details
2023-09-11 23:09:20 +02:00
Alex 9cfe55ab60 fix 32-bit build
continuous-integration/drone/pr Build was killed Details
continuous-integration/drone/push Build was killed Details
continuous-integration/drone Build is passing Details
2023-09-11 20:01:29 +02:00
Alex 51abbb02d8 Merge branch 'main' into next
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-11 20:00:02 +02:00
Alex d5bb50d738 use statvfs instead of mount list to determine free data/meta space (fix #611)
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build was killed Details
2023-09-11 19:08:24 +02:00
Alex f8b3883611 config: make block_size and sled_cache_capacity expressable as strings
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-11 18:34:59 +02:00
Alex 51b9731a08 make lmdb's map_size configurable (fix #628)
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-11 18:03:44 +02:00
Alex ad6b1cc0be Merge branch 'main' into next
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-11 13:14:18 +02:00
Alex ba7ac52c19 block repair: simpler/more robust iterator progress calculation
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-11 12:31:34 +02:00
Alex 9526328d38 scrub: clear saved checkpoint when canceling scrub
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-11 12:10:48 +02:00
Alex 7f9ba49c71 block manager: remove data_dir field
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-11 11:57:36 +02:00
Alex de5d792181 block manager: fix indentation (why not detected by cargo fmt?)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-11 11:52:57 +02:00
Alex be91ef6294 block manager: fix bug where rebalance didn't delete old copies
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-07 16:04:03 +02:00
Alex 2657b5c1b9 block manager: fix bugs
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-07 15:30:56 +02:00
Alex 2f112ac682 correct free data space accounting for multiple data dirs on same fs
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
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
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-07 12:41:36 +02:00
Alex f38a31b330 block manager: avoid incorrect data_dir configs and avoid losing files
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-09-06 17:49:30 +02:00
Alex e30865984a block manager: scrub checkpointing
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build was killed Details
2023-09-06 16:34:07 +02:00
Alex 51eac97260 update version to 0.8.4
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is failing Details
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
continuous-integration/drone/push Build is failing Details
2023-09-05 23:23:23 +02:00
Alex 8e0c020bb9 lifecycle worker: correct small clippy lints
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-09-04 11:33:44 +02:00
Alex 1cdc321e28 lifecycle worker: don't get stuck on non-existent bucket
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-31 11:36:30 +02:00
Alex f579d6d9b4 lifecycle worker: fix potential inifinite loop
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-31 11:29:54 +02:00
Alex a00a52633f lifecycle worker: add log message when starting
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-31 11:25:14 +02:00
Alex adbf5925de lifecycle worker: use queue_insert and process objects in batches
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-31 11:19:26 +02:00
Alex 1cfcc61de8 lifecycle worker: mitigate potential bugs + refactoring
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-31 00:28:37 +02:00
Alex be03a4610f s3api: remove redundant serde rename attribute
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-31 00:00:26 +02:00
Alex b2f679675e lifecycle worker: take into account disabled rules
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 23:52:09 +02:00
Alex 01c327a07a lifecycle worker: avoid building chrono's serde feature
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 23:46:15 +02:00
Alex f0a395e2e5 s3 bucket apis: remove redundant call
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 23:39:28 +02:00
Alex a1d57283c0 bucket_table: bucketparams::new doesn't need to be pub
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-30 20:07:14 +02:00
Alex d2e94e36d6 lifecycle config: add missing line in merge() and remove tracing
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 20:02:07 +02:00
Alex 7200954318 lifecycle worker: add logging
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-30 14:54:52 +02:00
Alex 0f1849e1ac lifecycle worker: launch with the rest of Garage
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
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
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 14:29:03 +02:00
Alex a2e0e34db5 lifecycle: skeleton for lifecycle worker
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-30 12:41:11 +02:00
Alex f7b409f114 use a NaiveDate in data model, it serializes to string (iso 8601 format)
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
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 Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
2023-08-29 17:44:17 +02:00
Alex 0b83e0558e bucket_table: data model for lifecycle configuration
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-29 17:00:41 +02:00
Alex 2e90e1c124 Merge branch 'main' into next
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build was killed Details
continuous-integration/drone Build is passing Details
2023-08-29 11:32:42 +02:00
Alex 06369c8f4a add garage_db dependency in garage_rpc
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build was killed Details
2023-08-28 17:08:21 +02:00
Alex cece1be1bb bump version to 0.8.3
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-08-28 13:17:26 +02:00
Alex 769b6fe054 fix test_website_check_domain
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
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
continuous-integration/drone/push Build is passing Details
Reviewed-on: #612
2023-08-28 10:15:01 +00:00
Alex c5cafa0000 web_server.rs: handle error properly and refactor
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-28 12:05:14 +02:00
Jonathan Davies d66d81ae2d cargo: Updated gethostname v0.2.3 -> v0.4.3.
continuous-integration/drone/pr Build is failing Details
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
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-08 15:28:57 +02:00
Quentin 24e533f262
support {s3,web}.root_domains in /check endpoint
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-08 11:05:42 +02:00
Jonathan Davies 59bfc68f2e post_object.rs: Fixed typos / grammar.
continuous-integration/drone/pr Build is passing Details
2023-08-01 15:31:39 +01:00
Florian Klink c855284760 src/util: fix typo
continuous-integration/drone/pr Build is passing Details
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.
continuous-integration/drone/pr Build is failing Details
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
continuous-integration/drone/push Build is passing Details
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
continuous-integration/drone/push Build is passing Details
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
continuous-integration/drone/pr Build is passing Details
`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
continuous-integration/drone/pr Build is passing Details
2023-06-24 10:17:20 +02:00
Alex 8ef42c9609 admin docs: reformatting, key admin: add check
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
2023-06-14 14:15:51 +02:00
Alex 28cc9f178a admin api: make name optionnal for CreateKey
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
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 Details
continuous-integration/drone/push Build is passing Details
2023-06-14 13:45:27 +02:00
Alex 5670367126 multipartupload in test: add forgotten timestamp
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-13 23:10:46 +02:00
Alex cda957b4b1 update netapp's rmp-serde dependency to v1.1
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-06-13 17:34:49 +02:00
Alex 90b2d43eb4 Merge branch 'main' into next
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-06-13 17:14:11 +02:00
Alex eb9cecf05c Split garage/admin.rs into smaller files
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-13 16:46:28 +02:00
Alex 802ed75721 move admin.rs to admin/mod.rs, before splitting 2023-06-13 16:42:14 +02:00
Alex bf19a44fd9 admin API: add missing camelCase conversions (fix #381)
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-06-13 16:15:50 +02:00
Alex 7126f3e1d1 garage key import: add checks and `--yes` CLI flag (fix #278)
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-06-13 15:56:48 +02:00
Alex 942c1f1bfe multipart uploads: save timestamp
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2023-06-13 10:48:22 +02:00
Alex 1ea4937c8b fix timestamps wrapping around in `garage block list-errors` (fix #584)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-06-12 20:07:33 +02:00
Alex 3d477906d4 properly delete multipart uploads after completion
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-06-09 17:13:27 +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 53bf2f070c undo sort_key() returning Cow 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 4ea53dc759 Add multipart upload repair 2023-06-09 16:23:37 +02:00
Alex 058518c22b refactor repair workers with a trait 2023-06-09 16:23:37 +02:00
Alex 8644376ac2 fix test; simplify code 2023-06-09 16:23:37 +02:00