Cargo Features
[dependencies]
garage = { version = "1.0.1", default-features = false, features = ["k2v", "lmdb", "sqlite", "consul-discovery", "kubernetes-discovery", "metrics", "telemetry-otlp", "syslog", "bundled-libs", "system-libs"] }
- default = bundled-libs, k2v, lmdb, metrics, sqlite
-
These default features are set whenever
garage
is added without
somewhere in the dependency tree.default-features = false - k2v default
-
Enables k2v of garage_api and garage_util
- lmdb default
-
Database engines
Enables lmdb of garage_model
Affects
convert_db::OpenLmdbOpt
… - sqlite default
-
Enables sqlite of garage_model
- consul-discovery
-
Automatic registration and discovery via Consul API
Enables consul-discovery of garage_rpc
- kubernetes-discovery
-
Automatic registration and discovery via Kubernetes API
Enables kubernetes-discovery of garage_rpc
- metrics default = opentelemetry-prometheus, prometheus
-
Prometheus exporter (/metrics endpoint).
Enables metrics of garage_api
- telemetry-otlp = opentelemetry-otlp
-
Exporter for the OpenTelemetry Collector.
- syslog = syslog-tracing
-
Logging to syslog
- bundled-libs default
-
NOTE: bundled-libs and system-libs should be treat as mutually exclusive;
exactly one of them should be enabled.
Use bundled libsqlite instead of linking against system-provided.Enables bundled-libs of garage_db
- system-libs
-
Link against system-provided libsodium and libzstd.
Enables use-pkg-config of kuska-sodiumoxide, system-libs of garage_block and garage_rpc
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.