Merge pull request 'Garage v1.3.0' (#1166) from rel-v1.3.0 into main-v1

Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1166
This commit is contained in:
Alex 2025-09-14 21:26:21 +00:00
commit 236af3a958
21 changed files with 50 additions and 51 deletions

26
Cargo.lock generated
View file

@ -1280,7 +1280,7 @@ dependencies = [
[[package]]
name = "garage"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"assert-json-diff",
"async-trait",
@ -1336,7 +1336,7 @@ dependencies = [
[[package]]
name = "garage_api_admin"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"argon2",
"async-trait",
@ -1362,7 +1362,7 @@ dependencies = [
[[package]]
name = "garage_api_common"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"base64 0.21.7",
"bytes",
@ -1396,7 +1396,7 @@ dependencies = [
[[package]]
name = "garage_api_k2v"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"base64 0.21.7",
"err-derive",
@ -1419,7 +1419,7 @@ dependencies = [
[[package]]
name = "garage_api_s3"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"aes-gcm",
"async-compression",
@ -1464,7 +1464,7 @@ dependencies = [
[[package]]
name = "garage_block"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"arc-swap",
"async-compression",
@ -1489,7 +1489,7 @@ dependencies = [
[[package]]
name = "garage_db"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"err-derive",
"fjall",
@ -1504,7 +1504,7 @@ dependencies = [
[[package]]
name = "garage_model"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"async-trait",
"base64 0.21.7",
@ -1531,7 +1531,7 @@ dependencies = [
[[package]]
name = "garage_net"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"arc-swap",
"bytes",
@ -1556,7 +1556,7 @@ dependencies = [
[[package]]
name = "garage_rpc"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"arc-swap",
"async-trait",
@ -1588,7 +1588,7 @@ dependencies = [
[[package]]
name = "garage_table"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"arc-swap",
"async-trait",
@ -1609,7 +1609,7 @@ dependencies = [
[[package]]
name = "garage_util"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"arc-swap",
"async-trait",
@ -1641,7 +1641,7 @@ dependencies = [
[[package]]
name = "garage_web"
version = "1.2.0"
version = "1.3.0"
dependencies = [
"err-derive",
"garage_api_common",

View file

@ -24,18 +24,18 @@ default-members = ["src/garage"]
# Internal Garage crates
format_table = { version = "0.1.1", path = "src/format-table" }
garage_api_common = { version = "1.2.0", path = "src/api/common" }
garage_api_admin = { version = "1.2.0", path = "src/api/admin" }
garage_api_s3 = { version = "1.2.0", path = "src/api/s3" }
garage_api_k2v = { version = "1.2.0", path = "src/api/k2v" }
garage_block = { version = "1.2.0", path = "src/block" }
garage_db = { version = "1.2.0", path = "src/db", default-features = false }
garage_model = { version = "1.2.0", path = "src/model", default-features = false }
garage_net = { version = "1.2.0", path = "src/net" }
garage_rpc = { version = "1.2.0", path = "src/rpc" }
garage_table = { version = "1.2.0", path = "src/table" }
garage_util = { version = "1.2.0", path = "src/util" }
garage_web = { version = "1.2.0", path = "src/web" }
garage_api_common = { version = "1.3.0", path = "src/api/common" }
garage_api_admin = { version = "1.3.0", path = "src/api/admin" }
garage_api_s3 = { version = "1.3.0", path = "src/api/s3" }
garage_api_k2v = { version = "1.3.0", path = "src/api/k2v" }
garage_block = { version = "1.3.0", path = "src/block" }
garage_db = { version = "1.3.0", path = "src/db", default-features = false }
garage_model = { version = "1.3.0", path = "src/model", default-features = false }
garage_net = { version = "1.3.0", path = "src/net" }
garage_rpc = { version = "1.3.0", path = "src/rpc" }
garage_table = { version = "1.3.0", path = "src/table" }
garage_util = { version = "1.3.0", path = "src/util" }
garage_web = { version = "1.3.0", path = "src/web" }
k2v-client = { version = "0.0.4", path = "src/k2v-client" }
# External crates from crates.io

View file

@ -96,14 +96,14 @@ to store 2 TB of data in total.
## Get a Docker image
Our docker image is currently named `dxflrs/garage` and is stored on the [Docker Hub](https://hub.docker.com/r/dxflrs/garage/tags?page=1&ordering=last_updated).
We encourage you to use a fixed tag (eg. `v1.2.0`) and not the `latest` tag.
For this example, we will use the latest published version at the time of the writing which is `v1.2.0` but it's up to you
We encourage you to use a fixed tag (eg. `v1.3.0`) and not the `latest` tag.
For this example, we will use the latest published version at the time of the writing which is `v1.3.0` but it's up to you
to check [the most recent versions on the Docker Hub](https://hub.docker.com/r/dxflrs/garage/tags?page=1&ordering=last_updated).
For example:
```
sudo docker pull dxflrs/garage:v1.2.0
sudo docker pull dxflrs/garage:v1.3.0
```
## Deploying and configuring Garage
@ -171,7 +171,7 @@ docker run \
-v /etc/garage.toml:/etc/garage.toml \
-v /var/lib/garage/meta:/var/lib/garage/meta \
-v /var/lib/garage/data:/var/lib/garage/data \
dxflrs/garage:v1.2.0
dxflrs/garage:v1.3.0
```
With this command line, Garage should be started automatically at each boot.
@ -185,7 +185,7 @@ If you want to use `docker-compose`, you may use the following `docker-compose.y
version: "3"
services:
garage:
image: dxflrs/garage:v1.2.0
image: dxflrs/garage:v1.3.0
network_mode: "host"
restart: unless-stopped
volumes:

View file

@ -132,7 +132,7 @@ docker run \
-v /path/to/garage.toml:/etc/garage.toml \
-v /path/to/garage/meta:/var/lib/garage/meta \
-v /path/to/garage/data:/var/lib/garage/data \
dxflrs/garage:v1.2.0
dxflrs/garage:v1.3.0
```
Under Linux, you can substitute `--network host` for `-p 3900:3900 -p 3901:3901 -p 3902:3902 -p 3903:3903`

View file

@ -70,7 +70,7 @@ Example response body:
```json
{
"node": "b10c110e4e854e5aa3f4637681befac755154b20059ec163254ddbfae86b09df",
"garageVersion": "v1.2.0",
"garageVersion": "v1.3.0",
"garageFeatures": [
"k2v",
"lmdb",

View file

@ -2,8 +2,8 @@ apiVersion: v2
name: garage
description: S3-compatible object store for small self-hosted geo-distributed deployments
type: application
version: 0.7.1
appVersion: "v1.2.0"
version: 0.7.2
appVersion: "v1.3.0"
home: https://garagehq.deuxfleurs.fr/
icon: https://garagehq.deuxfleurs.fr/images/garage-logo.svg

View file

@ -1,6 +1,6 @@
# garage
![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.2.0](https://img.shields.io/badge/AppVersion-v1.2.0-informational?style=flat-square)
![Version: 0.7.2](https://img.shields.io/badge/Version-0.7.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.3.0](https://img.shields.io/badge/AppVersion-v1.3.0-informational?style=flat-square)
S3-compatible object store for small self-hosted geo-distributed deployments

View file

@ -1,6 +1,6 @@
[package]
name = "garage_api_admin"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_api_common"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -33,7 +33,6 @@ use garage_util::metrics::{gen_trace_id, RecordDuration};
use garage_util::socket_address::UnixOrTCPSocketAddress;
use crate::helpers::{BoxBody, ErrorBody};
use crate::signature::payload::Authorization;
pub trait ApiEndpoint: Send + Sync + 'static {
fn name(&self) -> &'static str;
@ -62,7 +61,7 @@ pub trait ApiHandler: Send + Sync + 'static {
/// Returns the key id used to authenticate this request. The ID returned must be safe to
/// log.
fn key_id_from_request(&self, req: &Request<IncomingBody>) -> Option<String> {
fn key_id_from_request(&self, _req: &Request<IncomingBody>) -> Option<String> {
None
}
}

View file

@ -1,6 +1,6 @@
[package]
name = "garage_api_k2v"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_api_s3"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_block"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_db"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_model"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"
@ -44,4 +44,4 @@ default = [ "lmdb", "sqlite" ]
k2v = [ "garage_util/k2v" ]
lmdb = [ "garage_db/lmdb" ]
sqlite = [ "garage_db/sqlite" ]
fjall = [ "garage_db/fjall" ]
fjall = [ "garage_db/fjall" ]

View file

@ -1,6 +1,6 @@
[package]
name = "garage_net"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_rpc"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_table"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_util"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
license = "AGPL-3.0"

View file

@ -1,6 +1,6 @@
[package]
name = "garage_web"
version = "1.2.0"
version = "1.3.0"
authors = ["Alex Auvolat <alex@adnab.me>", "Quentin Dufour <quentin@dufour.io>"]
edition = "2018"
license = "AGPL-3.0"