From bff5068efc7cd1d57465e77c62a0ad7368bb7618 Mon Sep 17 00:00:00 2001
From: Jason Owen
Date: Tue, 13 Jan 2026 20:35:56 -0800
Subject: [PATCH 1/3] Refer to `git.deuxfleurs.fr` as Forgejo not Gitea
The version control site was migrated from Gitea to Forgejo some time
ago, and Forgejo has declared a hard fork from Gitea[1]. Update the
documentation and links to refer to the site as a Forgejo instance
instead of a Gitea instance.
[1] https://forgejo.org/2024-02-forking-forward/
---
doc/book/cookbook/from-source.md | 4 ++--
nix/build_index.nix | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/book/cookbook/from-source.md b/doc/book/cookbook/from-source.md
index 7105c999..c7b209b3 100644
--- a/doc/book/cookbook/from-source.md
+++ b/doc/book/cookbook/from-source.md
@@ -20,10 +20,10 @@ sudo apt-get update
sudo apt-get install build-essential
```
-## Building from source from the Gitea repository
+## Building from source from the Forgejo repository
The primary location for Garage's source code is the
-[Gitea repository](https://git.deuxfleurs.fr/Deuxfleurs/garage),
+[Forgejo repository](https://git.deuxfleurs.fr/Deuxfleurs/garage),
which contains all of the released versions as well as the code
for the developpement of the next version.
diff --git a/nix/build_index.nix b/nix/build_index.nix
index 7869566f..92931eea 100644
--- a/nix/build_index.nix
+++ b/nix/build_index.nix
@@ -167,7 +167,7 @@ let
Sources:
From 547fe30a05c2be941f83d81059c8509b72046e43 Mon Sep 17 00:00:00 2001
From: Jason Owen
Date: Tue, 13 Jan 2026 22:21:38 -0800
Subject: [PATCH 2/3] Sort feature flags
Put the features flags into alphabetical order in both the cookbook and
the version information, so that it is easier to document additional
feature flags.
---
doc/book/cookbook/from-source.md | 8 ++++----
src/garage/main.rs | 28 ++++++++++++++--------------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/doc/book/cookbook/from-source.md b/doc/book/cookbook/from-source.md
index c7b209b3..0bef97c4 100644
--- a/doc/book/cookbook/from-source.md
+++ b/doc/book/cookbook/from-source.md
@@ -85,11 +85,11 @@ The following feature flags are available in v0.8.0:
| Feature flag | Enabled | Description |
| ------------ | ------- | ----------- |
| `bundled-libs` | *by default* | Use bundled version of sqlite3, zstd, lmdb and libsodium |
-| `system-libs` | optional | Use system version of sqlite3, zstd, lmdb and libsodium
if available (exclusive with `bundled-libs`, build using
`cargo build --no-default-features --features system-libs`) |
| `k2v` | optional | Enable the experimental K2V API (if used, all nodes on your
Garage cluster must have it enabled as well) |
| `kubernetes-discovery` | optional | Enable automatic registration and discovery
of cluster nodes through the Kubernetes API |
-| `metrics` | *by default* | Enable collection of metrics in Prometheus format on the admin API |
-| `telemetry-otlp` | optional | Enable collection of execution traces using OpenTelemetry |
-| `syslog` | optional | Enable logging to Syslog |
| `lmdb` | *by default* | Enable using LMDB to store Garage's metadata |
+| `metrics` | *by default* | Enable collection of metrics in Prometheus format on the admin API |
| `sqlite` | *by default* | Enable using Sqlite3 to store Garage's metadata |
+| `syslog` | optional | Enable logging to Syslog |
+| `system-libs` | optional | Use system version of sqlite3, zstd, lmdb and libsodium
if available (exclusive with `bundled-libs`, build using
`cargo build --no-default-features --features system-libs`) |
+| `telemetry-otlp` | optional | Enable collection of execution traces using OpenTelemetry |
diff --git a/src/garage/main.rs b/src/garage/main.rs
index 72af19a9..6b1d5a22 100644
--- a/src/garage/main.rs
+++ b/src/garage/main.rs
@@ -68,24 +68,24 @@ struct Opt {
async fn main() {
// Initialize version and features info
let features = &[
- #[cfg(feature = "k2v")]
- "k2v",
- #[cfg(feature = "lmdb")]
- "lmdb",
- #[cfg(feature = "sqlite")]
- "sqlite",
- #[cfg(feature = "consul-discovery")]
- "consul-discovery",
- #[cfg(feature = "kubernetes-discovery")]
- "kubernetes-discovery",
- #[cfg(feature = "metrics")]
- "metrics",
- #[cfg(feature = "telemetry-otlp")]
- "telemetry-otlp",
#[cfg(feature = "bundled-libs")]
"bundled-libs",
+ #[cfg(feature = "consul-discovery")]
+ "consul-discovery",
+ #[cfg(feature = "k2v")]
+ "k2v",
+ #[cfg(feature = "kubernetes-discovery")]
+ "kubernetes-discovery",
+ #[cfg(feature = "lmdb")]
+ "lmdb",
+ #[cfg(feature = "metrics")]
+ "metrics",
+ #[cfg(feature = "sqlite")]
+ "sqlite",
#[cfg(feature = "system-libs")]
"system-libs",
+ #[cfg(feature = "telemetry-otlp")]
+ "telemetry-otlp",
][..];
if let Some(git_version) = option_env!("GIT_VERSION") {
garage_util::version::init_version(git_version);
From 77b6233496490c02ce50f8f218b91f634127bf98 Mon Sep 17 00:00:00 2001
From: Jason Owen
Date: Tue, 13 Jan 2026 22:42:43 -0800
Subject: [PATCH 3/3] Document remaining features in cookbook & version
Add the remaining feature flags to the cookbook and the version
information.
---
doc/book/cookbook/from-source.md | 5 ++++-
src/garage/main.rs | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/doc/book/cookbook/from-source.md b/doc/book/cookbook/from-source.md
index 0bef97c4..d8cc01f7 100644
--- a/doc/book/cookbook/from-source.md
+++ b/doc/book/cookbook/from-source.md
@@ -85,11 +85,14 @@ The following feature flags are available in v0.8.0:
| Feature flag | Enabled | Description |
| ------------ | ------- | ----------- |
| `bundled-libs` | *by default* | Use bundled version of sqlite3, zstd, lmdb and libsodium |
+| `consul-discovery` | optional | Enable automatic registration and discovery
of cluster nodes through the Consul API |
+| `fjall` | experimental | Enable using Fjall to store Garage's metadata |
+| `journald` | optional | Enable logging to systemd-journald with
`GARAGE_LOG_TO_JOURNALD=true` environment variable set |
| `k2v` | optional | Enable the experimental K2V API (if used, all nodes on your
Garage cluster must have it enabled as well) |
| `kubernetes-discovery` | optional | Enable automatic registration and discovery
of cluster nodes through the Kubernetes API |
| `lmdb` | *by default* | Enable using LMDB to store Garage's metadata |
| `metrics` | *by default* | Enable collection of metrics in Prometheus format on the admin API |
| `sqlite` | *by default* | Enable using Sqlite3 to store Garage's metadata |
-| `syslog` | optional | Enable logging to Syslog |
+| `syslog` | optional | Enable logging to Syslog with
`GARAGE_LOG_TO_SYSLOG=true` environment variable set |
| `system-libs` | optional | Use system version of sqlite3, zstd, lmdb and libsodium
if available (exclusive with `bundled-libs`, build using
`cargo build --no-default-features --features system-libs`) |
| `telemetry-otlp` | optional | Enable collection of execution traces using OpenTelemetry |
diff --git a/src/garage/main.rs b/src/garage/main.rs
index 6b1d5a22..b3574c49 100644
--- a/src/garage/main.rs
+++ b/src/garage/main.rs
@@ -72,6 +72,10 @@ async fn main() {
"bundled-libs",
#[cfg(feature = "consul-discovery")]
"consul-discovery",
+ #[cfg(feature = "fjall")]
+ "fjall",
+ #[cfg(feature = "journald")]
+ "journald",
#[cfg(feature = "k2v")]
"k2v",
#[cfg(feature = "kubernetes-discovery")]
@@ -82,6 +86,8 @@ async fn main() {
"metrics",
#[cfg(feature = "sqlite")]
"sqlite",
+ #[cfg(feature = "syslog")]
+ "syslog",
#[cfg(feature = "system-libs")]
"system-libs",
#[cfg(feature = "telemetry-otlp")]