Gwen Lg
b0ee7dd3c9
chore: localy disable some lints
...
- clippy::nonminimal_bool disabled for check_size_filter function
clippy message: this boolean expression can be simplified
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#nonminimal_bool
- clippy::large_enum_variant for `DecryptStreamState` and `State`
- clippy::too_many_arguments for `put_block_and_meta` and
`test_read_encrypted`
- clippy::deref_addrof for specific unsafe code
- clippy::doc_overindented_list_items and clippy::doc_lazy_continuation
2026-01-29 20:49:28 +01:00
Gwen Lg
f2f6669bf0
style: clean use for question_mark
...
- remove useless `Ok` enclosing with `?`
lint message: enclosing `Ok` and `?` operator are unneeded
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_question_mark
- use question mark instead of manual implementation
lint message: this `match` expression can be replaced with `?`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#question_mark
2026-01-29 20:49:28 +01:00
Gwen Lg
21db7a4d4b
chore: remove various useless code
...
- call expect directly on Result
lint message: called `ok().expect()` on a `Result` value
help: you can call `expect()` directly on the `Result`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ok_expect
- use assign operation instead of manual implementation
lint message: manual implementation of an assign operation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#assign_op_pattern
- remove useless call to format
lint message: useless use of `format!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_format
- remove useless `?Sized`
lint message: `?Sized` bound is ignored because of a `Sized` requirement
note: ...because `Deserialize` has the bound `Sized`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_maybe_sized
- use is_some instead of pattern maching with Some(_)
lint message: redundant pattern matching, consider using `is_some()`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_pattern_matching
- remove unneeded unit return type
lint message: unneeded unit return type
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unused_unit
- remove redundant closure
lint message: redundant closure
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_closure
- use derive Default instead of manual implementation
lint message: this `impl` can be derived
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#derivable_impls
- remove unneeded `return` statement
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_return
- remove empty string from println call
lint message: empty string literal in `println!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#println_empty_string
- remove clone() on type than implement Copy
lint message: using `clone` on type `Option<ChecksumValue>` which implements the `Copy` trait
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#clone_on_copy
- remove useless let binding
lint message: this let-binding has unit value
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#let_unit_value
- remove useless len comparison to zero, already test of empty
lint message: length comparison to zero
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#len_zero
- remove useless `as_deref` call
lint message: derefed type is same as origin
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_option_as_deref
- remove useless conversion of the same type
lint message: useless conversion to the same type: `replication_mode::ReplicationFactor`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_conversion
- remove useless bool_comparison
lint message: equality checks against false can be replaced by a negation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#bool_comparison
- remove useless to_string
lint message: unnecessary use of `to_string`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unnecessary_to_owned
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +01:00
Gwen Lg
141b3f24f1
chore: clean relative to references and borrows
...
- lint message: the borrowed expression implements the required traits
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrows_for_generic_args
- lint message: this expression creates a reference which is immediately dereferenced by the compiler
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrow
- lint message: you don't need to add `&` to all patterns
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#match_ref_pat
- remove useless taken reference
lint message: needlessly taken reference of left operand
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#op_ref
- use &Path instead of &PathBuf as fn parameters
lint message: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ptr_arg
2026-01-29 20:49:28 +01:00
Gwen Lg
295c850380
chore: add taplo.toml and resave Cargo.toml
...
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +01:00
Alex Auvolat
582b168b6a
bump version to v2.2.0
2026-01-24 12:32:22 +01:00
trinity-1686a
ef913843f7
fmt
2025-11-01 19:35:11 +01:00
trinity-1686a
1fe932d07f
migrate to this error
...
it doesn't generate a bazillion warning at compile time
2025-11-01 17:25:23 +01:00
Alex Auvolat
b43f309ec7
bump version to v2.1.0
2025-09-15 15:50:02 +02:00
Alex Auvolat
909359ca4c
Merge branch 'main-v1' into sync-v2-to-v1
2025-09-14 17:02:34 +02:00
Alex Auvolat
4c139bcbca
add error case for layout not ready, and fail earlier in many places
2025-09-13 20:52:51 +02:00
Alex Auvolat
2ddb29ca35
take consistency_mode (degraded/dangerous) into account in fullcopy tables
2025-08-27 23:34:06 +02:00
Alex Auvolat
54b9bf02a3
garage_db: refactor open function
2025-08-27 23:03:09 +02:00
Alex Auvolat
90bba5889a
garage_db: rename len to approximate_len as it is used for stats only
2025-08-27 21:23:45 +02:00
Julien Kritter
96d7713915
Add support for an LSM-tree-based backend with Fjall
2025-08-27 18:54:34 +02:00
Alex Auvolat
fbf03e9378
bump version to v1.2.0
2025-06-13 14:21:28 +02:00
Alex Auvolat
7ab1d176d4
Merge branch 'main' into next-v2
2025-05-23 16:33:07 +02:00
Alex Auvolat
8654eb19bf
implement repair procedure to fix inconsistent bucket aliases
2025-05-22 19:34:38 +02:00
Alex Auvolat
2ade8c86f6
more resilience to inconsistent alias states
2025-05-22 19:12:05 +02:00
Alex Auvolat
fbb40c4ea0
object_table: merge checksum_algorithm and checksum_type for Uploading state
2025-05-22 17:07:10 +02:00
Alex Auvolat
abe0546ab0
model: store x-amz-checksum-type (full_object | composite)
2025-05-22 17:03:54 +02:00
trinity-1686a
bba9202f31
add test for punycode
2025-05-19 20:36:03 +02:00
trinity-1686a
539af12d21
allow punnycode in bucket name
2025-05-19 18:07:04 +02:00
Yureka
899292ee28
refactor: make TableShardedReplication a thin wrapper around LayoutManager
2025-04-28 11:51:01 +02:00
Alex Auvolat
d38d62f4d7
bump version to v2.0.0
2025-04-17 12:36:41 +02:00
Alex Auvolat
c56b7e20c3
add creation date and expiration date to access keys
2025-04-17 11:28:44 +02:00
Alex Auvolat
6bbdca2e48
admin api: always return latest bucket info
2025-04-06 11:14:42 +02:00
Alex Auvolat
5fa6df6ee3
improve comments in bucket helper
2025-03-25 16:58:12 +01:00
Alex Auvolat
1e13a66b42
rework bucket helper functions to use local access where relevant
2025-03-25 13:00:48 +01:00
Alex Auvolat
2c9e849bbf
remove dependency from garage_block to garage_table
2025-03-25 11:43:41 +01:00
Alex Auvolat
a826c361a9
add crc64nvme checksumming algorithm ( fix #963 )
2025-03-19 15:51:06 +01:00
Alex Auvolat
cfd259190f
sse-c: use different object encryption key for each object
2025-03-18 16:23:37 +01:00
Alex Auvolat
88b4623bf1
add creation date to admin api tokens
2025-03-12 09:57:32 +01:00
Alex Auvolat
325f79012c
admin_token_table: implement is_tombstone()
2025-03-12 09:29:54 +01:00
Alex Auvolat
eb40475f1e
move bucket search logic from helper to admin api
2025-03-12 09:21:53 +01:00
Alex Auvolat
d067a40b3f
admin api: add functions to manage admin api tokens
2025-03-11 15:17:31 +01:00
Alex Auvolat
46f620119b
add model for admin key table
2025-03-11 13:51:19 +01:00
Alex Auvolat
29ce490dd6
Merge branch 'main' into next-v2
2025-03-05 14:50:22 +01:00
Alex Auvolat
4689b10448
bump version to v1.1.0
2025-03-05 10:19:51 +01:00
Alex Auvolat
24470377c9
garage_model: fix warning about dead code
2025-02-14 18:12:14 +01:00
Alex Auvolat
5b26545abf
fix deprecated uses of chrono in lifecycle worker
2025-02-14 18:08:23 +01:00
Alex Auvolat
62a3003cca
rename Condition into RedirectCondition in internal model
2025-02-14 13:45:32 +01:00
Alex Auvolat
3151695011
Merge branch 'next-v2' into 1686a/s3-redirects
2025-02-14 13:11:33 +01:00
trinity-1686a
f034e834fa
Merge branch 'main' into 1686a/s3-redirects
2025-02-08 16:01:11 +01:00
trinity-1686a
bf0f792418
add redirect_all to WebsiteConfig model
2025-02-08 15:36:48 +01:00
Alex Auvolat
61f3de6496
Merge branch 'main' into next-v2
2025-02-05 21:00:19 +01:00
Alex Auvolat
620dc58560
remove async_trait for traits declared in garage_net
2025-02-05 20:22:16 +01:00
Alex Auvolat
ec1a475923
build with rust 1.82.0
2025-02-03 17:46:48 +01:00
Alex Auvolat
390a5d97fe
nix, ci: build with Crane
...
This removes our dependency on cargo2nix, which was causing us some
issues. Whereas cargo2nix creates one Nix derivation per crate, Crane
uses only two derivations:
1. Build dependencies only
2. Build the final binary
This means that during the second step, no caching can be done. For
instance, if we do a change in garage_model, we need to recompile all of
the Garage crates including those that do not depend on garage_model.
On the upside, this allows all of the Garage crates to be built at once
using cargo build logic, which is optimized for high parallelism and
better pipelining between all of the steps of the build. All in all,
this makes most builds faster than cargo2nix.
A few other changes have been made to the build scripts and CI:
- Unit tests are now run within a Nix derivation. In fact, we have
different derivations to run the tests using LMDB and Sqlite as
metadata db engines.
- For debug builds, most CI steps now run in parallel (with the notable
exception of the smoke test that runs after the build, which is
inevitable).
- We no longer pass the GIT_VERSION argument when building debug builds
and running the tests. This means that dev binaries and test
binaries don't know the exact version of Garage they are from. That
shouldn't be an issue in most cases.
- The not-dynamic.sh scripts has been fixed to fail if the file does not
exist.
2025-02-03 16:39:50 +01:00
Alex Auvolat
fe937c2901
Merge branch 'main' into next-v2
2025-02-01 19:07:17 +01:00