Commit graph

2,953 commits

Author SHA1 Message Date
Alex
ed3befd8d7 Merge pull request 'fix(s3): ignore unsigned checksum query params in presigned URLs (fix #1236)' (#1599) from smattymatty/garage:fix-1236-presigned-checksum into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1599
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-11-07 15:11:00 +00:00
Mathew Storm
3048ad682b test(s3): cover presigned PUT with unsigned checksum query param 2026-11-07 15:11:00 +00:00
Mathew Storm
86e613e46d signature: ignore unsigned checksum query params in presigned URLs (fix #1236) 2026-11-07 15:11:00 +00:00
Mia Moir
f8a381fc85 doc: Add abandonment warning for minio-client (#1598)
minio-client has been abandoned upstream (see https://github.com/minio/mc) and is no longer receiving security updates, needs a decision as to whether or not the documentation for it should remain listed or be removed entirely with just the warning kept.

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1598
2026-11-07 14:53:30 +00:00
Alex Auvolat
586726edb0 bump version to v2.5.0 v2.5.0 2026-10-23 16:47:28 +02:00
Alex Auvolat
96a71b454d conf: rename advertise_endpoint to public_endpoint (#1587)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1587
2026-10-23 14:47:08 +00:00
Alex
7f575223e1 Merge pull request 's3: use generate_object_public_url in PostObject (fix #1574)' (#1585) from fix-1574 into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1585
2026-10-23 14:14:08 +00:00
Alex Auvolat
d047f7a883 post object: test return value 2026-10-23 15:59:03 +02:00
Alex Auvolat
e13aec892d s3: use generate_object_public_url in PostObject (fix #1574) 2026-10-23 15:39:50 +02:00
Alex
1d2ceb5e87 Merge pull request 'block: batch resync queue puts from refcount changes' (#1577) from northpaw/garage:fix-resync-queue-lock into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1577
2026-10-23 13:26:03 +00:00
Alex Auvolat
10c9bccddf block manager: use deferred put in repair blocks + small refactor 2026-10-23 13:26:03 +00:00
Alex Auvolat
7d287a467e block manager: implement deferred resync queue put worker 2026-10-23 13:26:03 +00:00
Alex Auvolat
326a67ec88 block manager: split out resync queue in separate file 2026-10-23 13:26:03 +00:00
Ísold Varðberg
6be614db90 block: batch resync queue puts from refcount changes
Since the resync manager refactor (#1476, f84ed4fd), put_to_resync
holds the resync queue mutex during its own db write. block_incref and
block_decref called it from one spawned task per block, so a large
deletion blocked tokio worker threads on that mutex and starved the
resync worker, and the queue kept growing.

Refcount changes now add the block to a pending list once their
transaction commits, and a blocking task writes that list to the queue
in batches, with one db transaction and one lock of the queue per
batch.
2026-10-23 13:26:03 +00:00
Alex
f8e8cc7c57 Merge pull request 'fix panic with invalid utf8 in url after percent decode' (#1581) from fix-invalid-utf8-url into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1581
2026-10-23 09:34:13 +00:00
Alex Auvolat
0db96d16ef signature: add regression unit test for canonical_request invalid utf8 2026-10-23 09:34:13 +00:00
Alex Auvolat
c2f0126b2e signature: fix panic with invalid utf8 in url after urldecode 2026-10-23 09:34:13 +00:00
Alex Auvolat
1fb8ccc72f test: add test for issue that causes a panic with invalid URLs 2026-10-23 09:34:13 +00:00
Alex Auvolat
54c928d521 api: be resilient to failures in .accept() (related: #1508) (#1582)
applies the same pattern as in `net/netapp.rs`: when accept() returns an error, log it and continue

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1582
2026-10-22 14:53:59 +00:00
Alex Auvolat
78cde8d2f5 doc: add missing .git suffix (#1580)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1580
2026-10-22 09:24:19 +00:00
Alex
e333192532 Merge pull request 'api/s3: add -N suffix to composite checksums (fix #1228)' (#1555) from northpaw/garage:fix-composite-checksum-suffix into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1555
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-10-22 09:00:52 +00:00
Ísold Varðberg
35e6c2b6cb api/s3: return 500 on composite checksum part count mismatch
Return an internal error instead of a response without the -N suffix
when a composite checksum has no part count, or when a part count is
given for a non-composite checksum. Also add a FIXME about parsing the
part count out of the etag.
2026-10-22 09:00:52 +00:00
Ísold Varðberg
7065d5de6f api/s3: add -N suffix to composite checksums (fix #1228) 2026-10-22 09:00:52 +00:00
Alex
ef6a03a421 Merge pull request 's3: (breaking/security) restrict access to lifecycle configuration endpoints' (#1573) from fix-perms into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1573
2026-10-16 11:08:55 +00:00
Alex Auvolat
bee6a3fe6b tests: only set owner permission when necessary 2026-10-16 12:51:21 +02:00
Alex Auvolat
b323d94f7c tests: add basic tests for bucket permissions 2026-10-16 12:48:31 +02:00
Alex Auvolat
8c8faa961d tests: add random suffix to bucket names used in integration tests 2026-10-16 12:48:31 +02:00
Alex Auvolat
7732eb93bb api: fix empty lifecycle configuration causing error 2026-10-16 12:48:31 +02:00
Alex Auvolat
f3aaa3f86f doc: update s3 compatibility matrix 2026-10-16 12:48:31 +02:00
Alex Auvolat
a0529ab3c3 s3 api: update router tests with new more restrictive permissions 2026-10-16 12:48:31 +02:00
Alex Auvolat
f1549869d3 s3: restrict access to lifecycle configuration endpoints
Credits: MUTED CYBERSECURITY S.L. for reporting that lifecycle
configuration endpoints were accessible with simple `write` permission.

This commit reorganizes permission checking to have explicit lists of
endpoints allowed with `write` access, and require `owner` permissions
for all other endpoints
2026-10-16 12:19:06 +02:00
Alex
6a1f58ccb0 Merge pull request 'add GARAGE_LOG_FORMAT=json to log JSON lines to stderr' (#1568) from augustelalande/garage:log-format-json into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1568
2026-10-12 16:31:01 +00:00
augustelalande
01cf4b4035 document GARAGE_LOG_FORMAT 2026-10-12 16:31:01 +00:00
augustelalande
e1f9ad022e add GARAGE_LOG_FORMAT=json to log JSON lines to stderr 2026-10-12 16:31:01 +00:00
Alex
30088e8503 Merge pull request 'export key-id & secret-key (#1176)' (#1504) from i5-650/garage:feat/1176-export-s3-creds into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1504
2026-10-12 16:30:45 +00:00
Alex Auvolat
781bf91982 simplify 2026-10-12 18:11:49 +02:00
i5-650
8c0bb5d706 export key-id & secret-key (#1176) 2026-10-08 18:13:09 +00:00
Alex Auvolat
ced85f86a0 fix the NO_COLOR environment variable (fix #1566) (#1567)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1567
2026-10-08 08:21:10 +00:00
Alex
adaf85c9a5 Merge pull request 'add advertise_endpoint configuration parameter' (#1563) from config-advertise-endpoint into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1563
2026-10-02 12:47:26 +00:00
Alex Auvolat
2efbed1a0c doc: add advertise_endpoint mentions in several places 2026-10-02 12:47:26 +00:00
Alex Auvolat
310fd3b828 web server: make root_domain optional (as per config file) 2026-10-02 12:47:26 +00:00
Alex Auvolat
d3f7c380e5 add public endpoint in config and report connection params in GetNodeInfo 2026-10-02 12:47:26 +00:00
Arthur Carcano
889a8e33dd Add the resync queue size to garage status (#1556)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1556
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-10-02 12:28:06 +00:00
Alex
5ad1de0b0d Merge pull request 'Admin API: add parameters details, offset and limit to ListKeys and ListBuckets (fix #1490)' (#1500) from list-full-pages into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1500
2026-10-01 07:02:56 +00:00
Alex Auvolat
513c83ea20 admin api: replace -WithDetails suffix with -Info 2026-10-01 07:02:56 +00:00
Alex Auvolat
b79994cd21 admin api: remove ?details=<bool> and use instead two different endpoints 2026-10-01 07:02:56 +00:00
Alex Auvolat
cf7f0c0e14 CLI: garage json-api: allow payload to be omitted more often 2026-10-01 07:02:56 +00:00
Alex Auvolat
4d15590de8 Admin API: add parameters details, offset and limit to ListKeys and ListBuckets 2026-10-01 07:02:56 +00:00
maximilien
43decd097d Merge pull request 'telemetry: swap elastic for jaeger 2.x' (#1557) from telemetry-stack into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1557
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-09-30 08:20:31 +00:00
maximilien
d00358a326 telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00