3b361d2959
layout: prepare for write sets
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-14 14:28:16 +01:00
866196750f
system: add todo wrt new layout
2023-11-14 13:36:58 +01:00
83a11374ca
layout: fixes in schema
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-14 13:29:26 +01:00
1aab1f4e68
layout: refactoring of all_nodes
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-14 13:12:32 +01:00
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
9a491fa137
layout: fix test
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-11-11 13:10:59 +01:00
df24bb806d
layout/sync: fix bugs and add tracing
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-11 12:44:27 +01:00
ce89d1ddab
table sync: adapt to new layout history
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-11 12:08:32 +01:00
df36cf3099
layout: add helpers to LayoutHistory and prepare integration with Table
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 16:32:31 +01:00
9d95f6f704
layout: fix tracker bugs
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-09 15:52:45 +01:00
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
03ebf18830
layout: begin managing the update tracker values
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-09 15:31:59 +01:00
94caf9c0c1
layout: separate code path for synchronizing update trackers only
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-11-09 14:53:34 +01:00
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
19ef1ec8e7
layout: more refactoring
2023-11-09 13:34:14 +01:00
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
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
1da0a5676e
bump garage protocol version tag to 0x000A (0.10)
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-11-08 19:30:58 +01:00
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
fe9af1dcaa
WIP: garage_rpc: store layout version history
2023-11-08 17:49:06 +01:00
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
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
0962313ebd
garage_rpc: reorder functions in layout.rs
2023-11-08 13:13:04 +01:00
f83fa02193
Add allow_world_readable_secrets option to config file
...
continuous-integration/drone/pr Build is passing
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
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
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
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
c6cde1f143
remove now-unused key parameter in check_quotas
2023-10-20 13:20:47 +02:00
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
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
158dc17a06
listobjects: fix panic if continuation token is an empty string
2023-10-19 15:08:47 +02:00
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
Reviewed-on: #643
2023-10-19 09:33:12 +00:00
8599051c49
garage: support specifying token / secret as environment variables
...
continuous-integration/drone/pr Build is passing
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
4a19ee94bb
garage: fix admin-token description
2023-10-19 03:31:50 +02:00
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
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
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
45b0453d0f
Ensure increasing version timestamps in PutObject
2023-10-18 16:31:50 +02:00
c7f5dcd953
fix compilation on macos
...
continuous-integration/drone/pr Build is passing
fsblkcnt_t is ony 32b there, so we have to do an additional cast
2023-10-15 17:57:27 +02:00
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
3d7892477d
convert_db: fix build
2023-10-10 14:06:25 +02:00
d4932c31ea
Merge branch 'main' into next
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-10-10 13:57:21 +02:00
2d5d7a7031
Move convert_db command into main garage binary
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-10 12:13:15 +02:00
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
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
920dec393a
cli: more precise doc comment
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-04 10:44:42 +02:00
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
7907a09acc
api: allow custom unix bind mode and use 0o220 for admin server
2023-10-03 17:31:40 +02:00
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
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
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
6086a3fa07
cargo: add hyperlocal as a dependency
2023-09-29 18:37:12 +02:00
897cbf2c27
actually update rmp-serde to 1.1.2 for both garage and netapp dependency ( fix #629 )
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
ad82035b98
Merge branch 'main' into next
2023-09-27 13:11:52 +02:00
aa7eadc799
Merge pull request 'New layout: fixes and UX improvements' ( #634 ) from new-layout-ux into next
...
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
0635250b2b
garage_table/queue_insert: delay worker notification to after transaction commit ( fix #583 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-21 15:37:28 +02:00
f97168f805
garage_db: refactor transactions and add on_commit mechanism
2023-09-21 15:35:31 +02:00
3ecc17f8c5
new layout: use deterministic randomness for reproducible results
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-21 11:21:35 +02:00
0088599f52
new layout: fix clippy lints
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-09-18 12:17:07 +02:00
749b4865d0
new layout: improve display and fix comments
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-09-18 12:07:45 +02:00
015ccb39aa
new layout: make zone_redundancy optionnal (if not set, is maximum)
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-09-18 11:59:08 +02:00
2e229d4430
new layout: improve output display
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build was killed
2023-09-12 17:24:51 +02:00
91e764a2bf
fix hang on shutdown
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-12 14:35:48 +02:00
aa79810596
Fix error when none of S3/K2V/WEB/ADMIN server is started ( fix #613 )
2023-09-12 14:35:19 +02:00
fd7d8fec59
Merge branch 'main' into next
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
9cfe55ab60
fix 32-bit build
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
51abbb02d8
Merge branch 'main' into next
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 20:00:02 +02:00
d5bb50d738
use statvfs instead of mount list to determine free data/meta space ( fix #611 )
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
f8b3883611
config: make block_size and sled_cache_capacity expressable as strings
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 18:34:59 +02:00
51b9731a08
make lmdb's map_size configurable ( fix #628 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 18:03:44 +02:00
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
ba7ac52c19
block repair: simpler/more robust iterator progress calculation
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 12:31:34 +02:00
9526328d38
scrub: clear saved checkpoint when canceling scrub
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-11 12:10:48 +02:00
7f9ba49c71
block manager: remove data_dir field
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 11:57:36 +02:00
de5d792181
block manager: fix indentation (why not detected by cargo fmt?)
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-11 11:52:57 +02:00
be91ef6294
block manager: fix bug where rebalance didn't delete old copies
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 16:04:03 +02:00
2657b5c1b9
block manager: fix bugs
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 15:30:56 +02:00
2f112ac682
correct free data space accounting for multiple data dirs on same fs
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 14:42:20 +02:00
6b008b5bd3
block manager: add rebalance operation to rebalance multi-hdd setups
2023-09-07 13:44:11 +02:00
99ed18350f
block manager: refactor and fix monitoring/statistics
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-07 12:41:36 +02:00
f38a31b330
block manager: avoid incorrect data_dir configs and avoid losing files
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-06 17:49:30 +02:00
e30865984a
block manager: scrub checkpointing
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-06 16:35:28 +02:00
55c514999e
block manager: fixes in layout
2023-09-06 16:35:28 +02:00
a44f486931
block manager: refactoring & increase max worker count to 8
2023-09-06 16:35:28 +02:00
3a74844df0
block manager: fix dir_not_empty
2023-09-06 16:35:28 +02:00
93114a9747
block manager: refactoring
2023-09-06 16:35:28 +02:00
fd00a47ddc
table queue: increase batch size
2023-09-06 16:35:28 +02:00
1b8c265c14
block manager: get rid of check_block_status
2023-09-06 16:35:28 +02:00
a09f86729c
block manager: move blocks in write_block if necessary
2023-09-06 16:35:28 +02:00
887b3233f4
block manager: use data paths from layout
2023-09-06 16:35:28 +02:00
6c420c0880
block manager: multi-directory layout computation
2023-09-06 16:35:28 +02:00
71c0188055
block manager: skeleton for multi-hdd support
2023-09-06 16:35:28 +02:00
4b4f2000f4
lifecycle: fix SkipBucket bug
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build was killed
2023-09-06 16:34:07 +02:00
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
e78566591b
Revert netapp update, hold to version 0.5.2 that uses rmp-serde 0.15
continuous-integration/drone/push Build is failing
2023-09-05 23:23:23 +02:00
8e0c020bb9
lifecycle worker: correct small clippy lints
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-09-04 11:33:44 +02:00
1cdc321e28
lifecycle worker: don't get stuck on non-existent bucket
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-31 11:36:30 +02:00
f579d6d9b4
lifecycle worker: fix potential inifinite loop
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-31 11:29:54 +02:00
a00a52633f
lifecycle worker: add log message when starting
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 11:25:14 +02:00
adbf5925de
lifecycle worker: use queue_insert and process objects in batches
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 11:19:26 +02:00
1cfcc61de8
lifecycle worker: mitigate potential bugs + refactoring
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-31 00:28:37 +02:00
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
b2f679675e
lifecycle worker: take into account disabled rules
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:52:09 +02:00
01c327a07a
lifecycle worker: avoid building chrono's serde feature
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-30 23:46:15 +02:00
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
a1d57283c0
bucket_table: bucketparams::new doesn't need to be pub
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 20:07:14 +02:00
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
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
7200954318
lifecycle worker: add logging
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 14:54:52 +02:00
0f1849e1ac
lifecycle worker: launch with the rest of Garage
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 14:51:08 +02:00
da8b224e24
lifecycle worker: skip entire bucket when no lifecycle config is set
2023-08-30 14:38:19 +02:00
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
a2e0e34db5
lifecycle: skeleton for lifecycle worker
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-30 12:41:11 +02:00
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
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
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
0b83e0558e
bucket_table: data model for lifecycle configuration
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-29 17:00:41 +02:00
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
06369c8f4a
add garage_db dependency in garage_rpc
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
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
769b6fe054
fix test_website_check_domain
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-08-28 12:40:28 +02:00
e66c78d6ea
integration test: move json_body to root of crate
2023-08-28 12:32:57 +02:00
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
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
Reviewed-on: #612
2023-08-28 10:15:01 +00:00
c5cafa0000
web_server.rs: handle error properly and refactor
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.
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
63da1d2443
support index on path missing a trailing slash
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-08 15:28:57 +02:00
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
c855284760
src/util: fix typo
continuous-integration/drone/pr Build is passing
2023-07-14 14:25:40 +03:00
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
2023-06-28 11:17:16 +01:00
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
Reviewed-on: #591
2023-06-27 17:20:58 +00:00
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
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
e5835704b7
don't build sqlite by default
...
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
33b3cf8e22
introduce dedicated return type for PollRange
continuous-integration/drone/pr Build is passing
2023-06-24 10:17:20 +02:00
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
a83a092c03
admin: uniformize layout api and improve code
2023-06-14 17:12:37 +02:00
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
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
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
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
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
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
cda957b4b1
update netapp's rmp-serde dependency to v1.1
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-13 17:34:49 +02:00
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
eb9cecf05c
Split garage/admin.rs into smaller files
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-13 16:46:28 +02:00
802ed75721
move admin.rs to admin/mod.rs, before splitting
2023-06-13 16:42:14 +02:00
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
7126f3e1d1
garage key import: add checks and --yes
CLI flag ( fix #278 )
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-13 15:56:48 +02:00
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
1ea4937c8b
fix timestamps wrapping around in garage block list-errors
( fix #584 )
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-06-12 20:07:33 +02:00
3d477906d4
properly delete multipart uploads after completion
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-06-09 17:13:27 +02:00
a6cc563bdd
UploadPart: automatic cleanup of version (and reference blocked) when interrupted
2023-06-09 16:23:37 +02:00
c14d3735e5
Add test for multipart uploads and fix part renumbering
2023-06-09 16:23:37 +02:00
53bf2f070c
undo sort_key() returning Cow
2023-06-09 16:23:37 +02:00
412ab77b08
comments and clippy lint fixes
2023-06-09 16:23:37 +02:00
511e07ecd4
fix mpu counter (add missing workers) and report info at appropriate places
2023-06-09 16:23:37 +02:00
4ea53dc759
Add multipart upload repair
2023-06-09 16:23:37 +02:00
058518c22b
refactor repair workers with a trait
2023-06-09 16:23:37 +02:00
8644376ac2
fix test; simplify code
2023-06-09 16:23:37 +02:00
7ad7dae5d4
fix s3 list test
2023-06-09 16:23:37 +02:00
75a0e01372
fix online repair
2023-06-09 16:23:37 +02:00
bb176ebcb8
cargo fmt
2023-06-09 16:23:37 +02:00
87be8eeb93
updaet block admin for new multipartupload models
2023-06-09 16:23:37 +02:00
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
38d6ac4295
New multipart upload table layout
2023-06-09 16:23:37 +02:00
6005491cd8
Use Cow<[u8]> for sort keys
2023-06-09 16:23:37 +02:00
e7e164a280
Make fsync an option for meta and data
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2023-06-09 16:23:21 +02:00
1e466b11eb
Revert integration tests to using Sled as LMDB causes failures
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2023-06-09 13:23:08 +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
8a74e1c2bd
Split garage/admin.rs into smaller files
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-06 15:39:15 +02:00
Roberto Hidalgo
ef8a7add08
set default for [consul-services] api
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
b770504126
simplify code according to feedback
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
6b69404f1a
rename mode to consul_http_api
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
011f473048
revert rpc/Cargo.toml
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
fd7dbea5b8
follow feedback, fold into existing feature
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
bd6485565e
allow additional ServiceMeta, docs
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
4d6e6fc155
cargo fmt
2023-05-22 08:57:15 -06:00
Roberto Hidalgo
02ba9016ab
register consul services against local agent instead of catalog api
2023-05-22 08:57:15 -06:00
c3d3b837eb
bump k2v-client to v0.0.4
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-22 10:47:15 +02:00
130e01505b
Fix k2v_client with unicode in partition keys
2023-05-22 10:45:09 +02:00
e2ce5970c6
Add basic k2v_client integration tests
2023-05-22 10:45:06 +02:00
644e872264
Port k2v-client to aws-sigv4 since rusoto_signature is deprecated
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-19 12:08:29 +02:00
4420db7310
add tracing to k2v-client
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-18 11:18:21 +02:00
746b0090e4
k2v signature verification: double urlencoding (see comment in source code)
2023-05-18 11:18:06 +02:00
19639705e6
Mark sled as deprecated, make lmdb default, and improve sqlite and lmdb defaults
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-05-17 14:30:53 +02:00
217d429937
fix clippy lint in format-table crate
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone/pr Build is passing
2023-05-17 13:06:37 +02:00
a1cec2cd60
Split format_table into separate crate and reduce k2v-client dependencies
continuous-integration/drone/push Build was killed
continuous-integration/drone/tag Build was killed
continuous-integration/drone/pr Build was killed
2023-05-17 13:01:37 +02:00
16f2a32bb7
cargo fmt
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-05-16 19:46:57 +02:00
472444ed8e
k2v-client 0.0.2
2023-05-16 19:46:57 +02:00
bb03805b58
k2v-cli: fix sort_key being partition_key and specify which key
2023-05-16 19:46:57 +02:00
e4f955d672
fix base64 uses
2023-05-16 19:46:56 +02:00
ea9b15f669
Merge pull request 'cargo: tokio-1.28 and hyper-0.14.26 update' ( #569 ) from jpds/garage:tokio-1.28 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #569
2023-05-11 10:16:33 +00:00
Jonathan Davies
c783194e8b
*: apply clippy recommendations.
continuous-integration/drone/pr Build is passing
2023-05-09 20:49:34 +01:00
Jonathan Davies
0f0795103d
block/Cargo.toml: Bump tokio-util to 0.7.
2023-05-09 14:33:21 +01:00
Jonathan Davies
c9d26e8c50
k2v-client/Cargo.toml: Make tokio dep match other packages.
2023-05-09 14:33:00 +01:00
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
b925f53dc3
Merge pull request 'move git-version dependency to main crate to reduce rebuilds' ( #568 ) from move-git-version into main
...
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
Reviewed-on: #568
2023-05-09 09:53:33 +00:00
2f495575d8
Merge pull request 'block/manager.rs: Prioritize raw blocks when no compression configured' ( #566 ) from jpds/garage:skip-compressed-blocks-scrub-no-compression into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #566
2023-05-09 09:39:48 +00:00
9e0a9c1c15
move git-version dependency to main crate to reduce rebuilds
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-05-09 11:35:32 +02:00
Jonathan Davies
9c788059e2
block/manager.rs: In is_block_compressed - check which compression_level
...
continuous-integration/drone/pr Build is passing
is configured on a node and check for raw block first if compression is
disabled (to help reduce syscalls during a scrub).
2023-05-09 10:28:19 +01:00
5684e1990c
Merge pull request 'Really allow to disable sled
feature' ( #563 ) from jirutka/garage:workspace-deps into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #563
2023-05-09 09:08:35 +00:00
14c50f2f84
Merge pull request 'Fix undefined macro warn! on 32-bit' ( #562 ) from jirutka/garage:fix-undefined-warn into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #562
2023-05-09 08:52:11 +00:00
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
6d3ace1ea9
Fix undefined macro warn! on 32-bit
...
continuous-integration/drone/pr Build is passing
Compiling garage_db v0.8.2 (garage-0.8.2/src/db)
error: cannot find macro `warn` in this scope
--> src/db/lmdb_adapter.rs:352:2
|
352 | warn!("LMDB is not recommended on 32-bit systems, database size will be limited");
| ^^^^
|
= help: consider importing this macro:
tracing::warn
= note: `warn` is in scope, but it is an attribute: `#[warn]`
error: could not compile `garage_db` due to previous error
2023-05-07 17:01:44 +02:00
833cf082da
Remove unnecessary/unused "timeago" features
...
continuous-integration/drone/pr Build is passing
To decrease dependency bloat and binary size.
2023-05-07 01:03:54 +02:00
fa78d806e3
Merge branch 'main' into next
2023-04-25 12:34:26 +02:00
a16eb7e4b8
Merge pull request 'api/Cargo.toml: Bumped quick-xml to version 0.26.' ( #552 ) from jpds/garage:quick-xml-0.26 into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #552
2023-04-24 09:00:00 +00:00
Jonathan Davies
fb3bd11dce
block/repair.rs: Added log entries for scrub start/finish.
continuous-integration/drone/pr Build is passing
2023-04-23 22:22:26 +01: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
000006d689
obsolete clippy lints
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-03-13 18:50:07 +01:00
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
d6ffa57f40
Merge pull request 'Increase Garage tests robustness' ( #526 ) from tests/increase-robustness into main
...
continuous-integration/drone/push Build is failing
Reviewed-on: #526
Reviewed-by: Alex <alex@adnab.me>
Reviewed-by: trinity-1686a <trinity.pointard@gmail.com>
2023-03-13 17:26:21 +00:00
f37ec584b6
Merge branch 'main' into rustversion-label
continuous-integration/drone/pr Build is passing
2023-03-13 16:14:13 +01:00
70b5424b99
use one key per context to isolate tests
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2023-03-13 15:06:05 +01:00
2687fb7fa8
do not assume Garage boots in 2sec during tests
2023-03-13 15:06:05 +01:00
teutat3s
8ad6efb338
Merge branch 'main' into pnet_datalink-0.33.0
continuous-integration/drone/pr Build is passing
2023-03-13 13:59:42 +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
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.
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
...
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
...
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.
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
...
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.
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 )
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
...
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
...
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
...
continuous-integration/drone/push Build is failing
Reviewed-on: #499
2023-02-06 14:18:58 +00:00
80e2326998
fixes for pr 499
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.
...
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
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
...
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
...
continuous-integration/drone/pr Build is passing
Fixes #492
2023-01-29 22:51:23 +01:00