Document available build features
This commit is contained in:
parent
b886c75450
commit
bbb970965c
1 changed files with 33 additions and 16 deletions
|
@ -20,6 +20,24 @@ sudo apt-get update
|
||||||
sudo apt-get install build-essential
|
sudo apt-get install build-essential
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Using source from the Gitea repository (recommended)
|
||||||
|
|
||||||
|
The primary location for Garage's source code is the
|
||||||
|
[Gitea repository](https://git.deuxfleurs.fr/Deuxfleurs/garage).
|
||||||
|
|
||||||
|
Clone the repository and build Garage with the following commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://git.deuxfleurs.fr/Deuxfleurs/garage.git
|
||||||
|
cd garage
|
||||||
|
cargo build
|
||||||
|
```
|
||||||
|
|
||||||
|
Be careful, as this will make a debug build of Garage, which will be extremely slow!
|
||||||
|
To make a release build, invoke `cargo build --release` (this takes much longer).
|
||||||
|
|
||||||
|
The binaries built this way are found in `target/{debug,release}/garage`.
|
||||||
|
|
||||||
## Using source from `crates.io`
|
## Using source from `crates.io`
|
||||||
|
|
||||||
Garage's source code is published on `crates.io`, Rust's official package repository.
|
Garage's source code is published on `crates.io`, Rust's official package repository.
|
||||||
|
@ -39,21 +57,20 @@ sudo cp $HOME/.cargo/bin/garage /usr/local/bin/garage
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Using source from the Gitea repository
|
## Selecting features to activate in your build
|
||||||
|
|
||||||
The primary location for Garage's source code is the
|
Garage supports a number of compilation options in the form of Cargo features,
|
||||||
[Gitea repository](https://git.deuxfleurs.fr/Deuxfleurs/garage).
|
which can be used to provide builds adapted to your system and your use case.
|
||||||
|
The following features are available:
|
||||||
Clone the repository and build Garage with the following commands:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://git.deuxfleurs.fr/Deuxfleurs/garage.git
|
|
||||||
cd garage
|
|
||||||
cargo build
|
|
||||||
```
|
|
||||||
|
|
||||||
Be careful, as this will make a debug build of Garage, which will be extremely slow!
|
|
||||||
To make a release build, invoke `cargo build --release` (this takes much longer).
|
|
||||||
|
|
||||||
The binaries built this way are found in `target/{debug,release}/garage`.
|
|
||||||
|
|
||||||
|
| Feature | 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 |
|
||||||
|
| `sled` | BY DEFAULT | Enable using Sled to store Garage's metadata |
|
||||||
|
| `lmdb` | optional | Enable using LMDB to store Garage's metadata |
|
||||||
|
| `sqlite` | optional | Enable using Sqlite3 to store Garage's metadata |
|
||||||
|
|
Loading…
Reference in a new issue