Alex Auvolat
cfd10480ee
CopyObject: fix checksumming choice logic
2025-05-22 17:07:10 +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
e475c7f802
api: switch to crc_fast for checksumming and implement full-object mpu checksums
2025-05-22 17:03:54 +02:00
Alex Auvolat
589a992af8
api: parse x-amz-checksum-type and validate combination with algo
2025-05-22 17:03:54 +02:00
Alex Auvolat
768794daae
api: change ExpectedChecksums to not be a reference
2025-05-22 17:03:54 +02:00
Alex Auvolat
abe0546ab0
model: store x-amz-checksum-type (full_object | composite)
2025-05-22 17:03:54 +02:00
Yureka
a2d87a012d
refactor: use replication factor of the layout versions in calculate_sync_map_min_with_quorum
2025-04-28 11:51:01 +02:00
Yureka
899292ee28
refactor: make TableShardedReplication a thin wrapper around LayoutManager
2025-04-28 11:51:01 +02:00
Yureka
c8e9c45889
refactor: Use ReplicationFactor type in more places
...
- Remove the replication_factor.replication_factor() in favor of
usize::from(replication_factor) to make the conversion more explicit.
- Implement Display on ReplicationFactor so that it can be formatted
without converting to usize
- Use ReplicationFactor in the constructor of LayoutVersion and add a
method to get a ReplicationFactor from a LayoutVersion, despite
LayoutVersion still storing it as usize internally.
2025-04-21 19:47:14 +02:00
Alex Auvolat
e79b485aa8
fix panic in ListAdminTokens
2025-04-17 17:38:20 +02:00
Alex Auvolat
d38d62f4d7
bump version to v2.0.0
2025-04-17 12:36:41 +02:00
Alex Auvolat
52437e4298
refactor parsing of --expires-in
2025-04-17 12:14:51 +02:00
Alex Auvolat
abcef7a3fd
cli: implement garage key delete-expired
2025-04-17 11:58:19 +02:00
Alex Auvolat
5d338f0b8f
add never_expires to remove expiration dates of admin tokens and access keys
2025-04-17 11:44:09 +02:00
Alex Auvolat
590c9bb4db
possibility to update access key expiration date
2025-04-17 11:30:58 +02:00
Alex Auvolat
c56b7e20c3
add creation date and expiration date to access keys
2025-04-17 11:28:44 +02:00
Alex Auvolat
2f21181ccb
publish bucket creation date in admin api and CLI
2025-04-17 10:29:23 +02:00
Alex Auvolat
5e7307cbf3
admin api: add comments for InspectObject
2025-04-06 14:21:54 +02:00
Alex Auvolat
fd0e23e984
admin api: implement InspectObject ( fix #892 )
2025-04-06 13:23:39 +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
c6bed26347
relocalize logic into block manager
2025-03-25 16:41:19 +01:00
Alex Auvolat
d25e631a4a
relocalize logic for write_sets
2025-03-25 16:35:56 +01:00
Alex Auvolat
514eb29874
use a WriteLock for write operations on fullcopy tables
2025-03-25 13:26:23 +01:00
Alex Auvolat
8ba6454e21
reduce anti-entropy interval for fullcopy tables
2025-03-25 13:11:11 +01:00
Alex Auvolat
9dcc5232a6
admin api: use fast local reads for token verification
2025-03-25 13:07:45 +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
34baade499
fullcopy replication: quorum reads and writes
2025-03-25 11:40:09 +01:00
Alex Auvolat
2f2a96b51d
layout & replication mode refactoring
2025-03-25 11:05:00 +01:00
Alex Auvolat
c9156f6828
Merge branch 'main' into next-v2
2025-03-25 10:02:41 +01:00
Alex Auvolat
a7d845a999
change aws-sdk features to avoid using aws-lc which doesn't compile on i686/arm
2025-03-20 17:05:43 +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
f7d9c2b383
cli: add garage json-api command and fix cargo tests
2025-03-12 15:55:52 +01:00
Alex Auvolat
e6862c5d3d
cli: uniformize output and add some infos
2025-03-12 15:05:37 +01:00
Alex Auvolat
0b12debf6c
admin api: generate params from struct
2025-03-12 11:07:12 +01:00
Alex Auvolat
795b4a41b7
admin api: add special endpoints to openapi spec
2025-03-12 10:52:58 +01:00
Alex Auvolat
d2a064bb1b
cli: add and remove scopes using --scope=+Scope or --scope=-Scope
2025-03-12 10:20:08 +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
22c0420607
admin api: specify date-time format in openapi spec
2025-03-11 18:25:46 +01:00
Alex Auvolat
1bd7689301
cli: add functions to manage admin api tokens
2025-03-11 18:09:24 +01:00
Alex Auvolat
ec0da3b644
admin api: mention admin_token and metrics_token in ListAdminTokensResponse
2025-03-11 15:57:29 +01:00
Alex Auvolat
9511b20153
admin api: add openapi spec for admin token management functions
2025-03-11 15:38:38 +01:00
Alex Auvolat
d067a40b3f
admin api: add functions to manage admin api tokens
2025-03-11 15:17:31 +01:00
Alex Auvolat
ff6ec62d54
admin api: add metrics_require_token config option and update doc
2025-03-11 14:17:22 +01:00
Alex Auvolat
004eb94e14
admin api: verify tokens using the new admin api token table
2025-03-11 13:51:19 +01:00
Alex Auvolat
46f620119b
add model for admin key table
2025-03-11 13:51:19 +01:00