Commit graph

2,847 commits

Author SHA1 Message Date
Alex Auvolat
268334bd25 bump version to v2.4.1 v2.4.1 2026-09-07 21:05:12 +02:00
Alex
a3cb3bc862 Merge pull request 'set ring as rustls crypto provider when building http clients' (#1473) from mjm/garage:push-nkszolnkwuvt into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1473
2026-09-07 17:54:48 +00:00
Alex Auvolat
c22b7499b8 kubernetes discovery: install ring crypto provider if missing 2026-09-07 19:34:22 +02:00
Alex Auvolat
ae29f7f73f k2v-client: use ring tls provider 2026-09-07 19:16:10 +02:00
Matt Moriarity
3dbcad9dda set rustls crypto provider when using consul discovery 2026-09-07 19:06:02 +02:00
Alex Auvolat
cca7acae33 Revert "reintroduce full rustls dependency in garage_rpc (fix #1526) (#1527)"
This reverts commit 229ec977d5.
2026-09-07 19:02:06 +02:00
Alex Auvolat
b30ad6dfcc hacky regression test for #1416 / #1526 (#1528)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1528
2026-09-07 08:18:48 +00:00
maximilien
ceadd2c0d2 Merge pull request 'helm: update doc' (#1530) from helm-docs-update-2 into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1530
2026-09-07 07:19:00 +00:00
maximilien
67ada6ee78 helm: update doc 2026-09-07 07:19:00 +00:00
Alex Auvolat
229ec977d5 reintroduce full rustls dependency in garage_rpc (fix #1526) (#1527)
also fix #1416

issue introduced in #1412

other potential solution #1473

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1527
2026-09-07 07:16:44 +00:00
maximilien
13b264afce Merge pull request 'helm: update helm-docs for chart 0.10.1' (#1529) from helm-docs-update into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1529
2026-09-07 06:29:29 +00:00
maximilien
6b50841d00
helm: update helm-docs for chart 0.10.1 2026-09-07 08:27:28 +02:00
maximilien
6dd5a6e823 Merge pull request 'helm: Add singleNode parameter' (#1458) from kirmanak/garage:main-v2 into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1458
2026-09-07 06:23:25 +00:00
maximilien
683b419047
helm: add single-node unit tests 2026-09-07 08:19:13 +02:00
Kirill Kamakin
4d83477bb6
Add garage.singleNode paramter 2026-09-07 08:17:31 +02:00
Kirill Kamakin
b69cfcb857
Revert "Enable container command override"
This reverts commit ca22543b50.
2026-09-07 08:17:22 +02:00
Kirill Kamakin
b934548c47
Enable container command override 2026-09-07 08:16:43 +02:00
maximilien
69a3608300 Merge pull request 'Allow creation of roles instead of cluster roles' (#1478) from hmerat/garage:disable-cluster-roles into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1478
2026-09-07 06:05:03 +00:00
maximilien
a3bd785fb2
Bump chart version 2026-09-07 08:02:28 +02:00
Hervé MERAT
8a85013e8c
Allow creation of roles instead of cluster roles 2026-09-06 22:08:39 +02:00
maximilien
2e11d15532 Merge pull request 'helm: add unit tests, fix edge cases' (#1519) from helm-unit-tests into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1519
2026-09-06 19:57:04 +00:00
maximilien
1907c7cf69
helm: fix test 2026-09-06 21:45:40 +02:00
maximilien
0d53abd139
helm: add unit test suite and complex valuefile example 2026-09-06 21:45:34 +02:00
maximilien
fbdb0cb174
helm: Ingress: only include yaml document delimiter when followed by content 2026-09-06 21:44:30 +02:00
maximilien
7baabe5521
helm: ServiceMonitor: validate tlsConfig and relabeling config before injecting it 2026-09-06 21:44:29 +02:00
Alex Auvolat
073dd715ce bump version to v2.4.0 and update api json schema v2.4.0 2026-09-06 19:43:04 +02:00
Alex
845db1afa1 Merge pull request 'api/s3: don't panic when a version has no blocks' (#1522) from rajsinghtech/garage:fix/multipart-empty-blocks into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1522
2026-09-06 07:49:47 +00:00
Raj Singh
c54077af73 api/s3: don't panic when reading a version with no blocks
body_from_blocks_range indexed all_blocks[0] to size a capacity hint. A
version with zero blocks made that index panic and kill the process on a
plain GET, the read-side twin of the CompleteMultipartUpload panic at
multipart.rs:479. Fall back to the existing 1024 floor when the slice is
empty; with a non-empty slice the hint is unchanged.
2026-09-04 03:19:07 +00:00
Raj Singh
f38f001bad api/s3: don't panic when final multipart version has no blocks
CompleteMultipartUpload builds the final version and then reads
`final_version.blocks.items()[0]` unconditionally. When the assembled
version ends up with an empty block list the index panics and the
process dies before it can answer the request:

    panicked at src/api/s3/multipart.rs:479:3:
    index out of bounds: the len is 0 but the index is 0

Use `.first()` and return an internal error instead, matching how the
rest of this file handles missing data. The empty-block case is an
internal consistency condition rather than a malformed request, so it
maps to an internal error rather than a 4xx.

The same panic was reported earlier in #1403, at multipart.rs:483 on
v2.2.0. That report was closed without a fix after the reporter moved
off consistency_mode = "dangerous".

Closes #1521
2026-09-04 00:01:32 +00:00
i5-650
c85597fd18 Better handling of wildcards in CORS rules (fix #1105) (#1516)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1516
2026-09-03 07:50:59 +00:00
maximilien
05e294307e Merge pull request 'doc: update on k2v inclusion in builds' (#1513) from vincent/garage:main-v2 into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1513
2026-08-23 19:57:51 +00:00
Vincent
109fbd49b1
Update information about k2v inclusion in builds 2026-08-23 20:57:21 +02:00
i5-650
d0176f8e30 deregister from consul on shutdown (fix #1062) (#1507)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1507
2026-08-22 17:19:51 +00:00
i5-650
d9b1dba137 1250 - add NO_COLOR env var to disable logs colors (#1503)
Fix #1250

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1503
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-08-19 08:03:44 +00:00
Agathe Porte
c3c8af9a66 doc: quick-start: rework flag description (#1496)
Add a link to the manual install procedure, use a
quote to make the manual install path more visible
and mention the --default-access-key option.

Closes: #1446

Rendered output:

![image](/attachments/84bbe650-daff-40d1-b4bd-629abece27b0)

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1496
2026-07-25 14:48:53 +00:00
Alex Auvolat
ad78b9ee5c CI: revert spurrious changed introduced in #1487 that broke CI for main-v2 (#1499)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1499
2026-07-25 13:25:17 +00:00
Alex
b8e844612d Merge pull request 'Admin API: correctly return aliased buckets for keys even if they have no permissions' (#1498) from fix-aliases-no-perms into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1498
2026-07-25 12:38:23 +00:00
Alex Auvolat
aa4e4656b1 GetKeyInfo: properly list locally-aliased buckets even if they have no permissions 2026-07-25 14:24:58 +02:00
Alex Auvolat
5549077d6f GetBucketInfo: properly return keys that have local aliases even if they have no permissions 2026-07-25 14:24:49 +02:00
smattymatty
663fc5ae48 fix(s3): allow UTF-8 in PostObject form field values (fix #1489) (#1492)
PostObject (presigned POST) returns `400 InvalidHeaderValue` when the upload involves a non-ASCII filename. The same key uploads fine vie PUT, as the issue #1489 noted.

The problem was that `handle_post_object` stores the form field values in an `http::HeaderMap`. values go in through `HeaderValue::from_str` but are read back with the strict `HeaderValue::to_str()` (ASCII-only) which fails on any UTF-8 value.

This is the same problem fixed in eab2b81b for `x-amz-meta-*` headers, and the fix is the same:
`std::str::from_utf8(value.as_bytes())` instead of `to_str()`. The `key` field in `post_object.rs` and the standard headers (`content-disposition` etc.) in `extract_metadata_headers`.

Added integration tests for PostObject (there were none): UTF-8 key, `${filename}` substitution, and UTF-8 `Content-Disposition` metadata. The substitution test passes even without the fix, proving that the filename path was never broken, only the form-params round-trip.

Co-authored-by: Mathew Storm <mathew@stormdevelopments.ca>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1492
Reviewed-by: trinity-1686a <trinity-1686a@noreply.localhost>
2026-07-20 18:12:39 +00:00
Agathe Porte
0f89923d2d doc: websites: explain global aliases required (#1494)
Add a note explaining that a globally aliased bucket is
required for successfully exposing it as a website.

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1494
2026-07-20 18:11:15 +00:00
Antonin Delpeuch
a1f9c52563 docs: add GOVERNANCE.md (#1493)
Documenting the structure of a team can be helpful to integrate newcomers, avoid some conflicts and to accompany the evolution of that structure as a FOSS project grows.

This is an attempt to do that for garage, after discussions with multiple maintainers. The aim of this text is to document the status quo, offering a start for further incremental updates.
I propose to put it as `GOVERNANCE.md` file because this naming has emerged as a sort of standard in FOSS projects.

I would be happy to help facilitate such updates if there is interest (while being aware that project members have other things on their plates and that governance work can be taxing).

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1493
2026-07-20 18:10:30 +00:00
Agathe Porte
ceade99cd7 doc: fix dead link to WinSCP wiki page (#1495)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1495
2026-07-20 18:08:59 +00:00
Agathe Porte
d1333c1729 doc: multi-hdd: refer to rebalance op (#1491)
The rebalance op links to the multi-hdd page, but the multi-hdd page
does not refer to the rebalance op description and only states that an
operator can launch a repair procedure without stating which procedure.

Add a link to the rebalance repair procedure in the multi-hdd page to
make it easier to find what procedure to run for rebalance.

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1491
2026-07-14 21:12:45 +00:00
Andreas Schneider
7e246b20e9 fix: avoid rewriting peer list file when unchanged (#1488)
save_peer_list() ran unconditionally every 60s from the discovery
loop, writing the same data to disk even when the peer set hadn't
changed. Compare the newly encoded peer list against the bytes
already on disk and skip the write when they match.

Fixes #1457

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1488
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-07-14 10:54:33 +00:00
deanqx
936e53fe2f docs: update old "key new" to new "key create" command (#1487)
Fix invalid references to the `garage key new` commands. Mainly on documentation side except one script: `script/dev-bucket.sh`.

This is my first pull request ever. I'm open for feedback, let me know if I should change anything about this PR.

Co-authored-by: deanqx <110404616+deanqx@users.noreply.github.com>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1487
2026-07-07 10:34:42 +00:00
Alex
bbc1dc3d6f Merge pull request 'TypedTree' (#1456) from krtab/garage:typed_tree into main-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1456
Reviewed-by: Armael <armael@noreply.localhost>
Reviewed-by: Alex <lx@deuxfleurs.fr>
2026-06-30 21:04:06 +00:00
Arthur Carcano
7cdcaa8ebe Panic on (reoccuring) decode error 2026-06-30 21:04:06 +00:00
Arthur Carcano
4133476ec9 Add TODO comment for migration to typedtree 2026-06-30 21:04:06 +00:00
Arthur Carcano
b277d49ad6 Add more type invariants to RcEntry and new RcState 2026-06-30 21:04:06 +00:00