[package] name = "garage" version = "1.0.0" authors = ["Alex Auvolat "] edition = "2018" license = "AGPL-3.0" description = "Garage, an S3-compatible distributed object store for self-hosted deployments" repository = "https://git.deuxfleurs.fr/Deuxfleurs/garage" readme = "../../README.md" autotests = false [[bin]] name = "garage" path = "main.rs" [[test]] name = "integration" path = "tests/lib.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] format_table.workspace = true garage_db.workspace = true garage_api.workspace = true garage_block.workspace = true garage_model.workspace = true garage_net.workspace = true garage_rpc.workspace = true garage_table.workspace = true garage_util.workspace = true garage_web.workspace = true backtrace.workspace = true bytes.workspace = true bytesize.workspace = true timeago.workspace = true parse_duration.workspace = true hex.workspace = true tracing.workspace = true tracing-subscriber.workspace = true rand.workspace = true async-trait.workspace = true sha1.workspace = true sodiumoxide.workspace = true structopt.workspace = true git-version.workspace = true serde.workspace = true serde_bytes.workspace = true toml.workspace = true futures.workspace = true futures-util.workspace = true tokio.workspace = true opentelemetry.workspace = true opentelemetry-prometheus = { workspace = true, optional = true } opentelemetry-otlp = { workspace = true, optional = true } prometheus = { workspace = true, optional = true } syslog-tracing = { workspace = true, optional = true } [dev-dependencies] aws-config.workspace = true aws-sdk-s3.workspace = true chrono.workspace = true http.workspace = true hmac.workspace = true http-body-util.workspace = true hyper.workspace = true hyper-util.workspace = true mktemp.workspace = true sha2.workspace = true static_init.workspace = true assert-json-diff.workspace = true serde_json.workspace = true base64.workspace = true k2v-client.workspace = true [features] default = [ "bundled-libs", "metrics", "lmdb", "sqlite", "k2v" ] k2v = [ "garage_util/k2v", "garage_api/k2v" ] # Database engines lmdb = [ "garage_model/lmdb" ] sqlite = [ "garage_model/sqlite" ] # Automatic registration and discovery via Consul API consul-discovery = [ "garage_rpc/consul-discovery" ] # Automatic registration and discovery via Kubernetes API kubernetes-discovery = [ "garage_rpc/kubernetes-discovery" ] # Prometheus exporter (/metrics endpoint). metrics = [ "garage_api/metrics", "opentelemetry-prometheus", "prometheus" ] # Exporter for the OpenTelemetry Collector. telemetry-otlp = [ "opentelemetry-otlp" ] # Logging to syslog syslog = [ "syslog-tracing" ] # 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. bundled-libs = [ "garage_db/bundled-libs" ] # Link against system-provided libsodium and libzstd. system-libs = [ "garage_block/system-libs", "garage_rpc/system-libs", "sodiumoxide/use-pkg-config" ]