veilid/veilid-server/Cargo.toml
2024-10-23 21:58:29 +00:00

106 lines
3.3 KiB
TOML

[package]
# --- Bumpversion match - do not reorder
name = "veilid-server"
version = "0.4.0"
# ---
description = "Veilid Headless Node"
repository = "https://gitlab.com/veilid/veilid"
authors = ["Veilid Team <contact@veilid.com>"]
license = "MPL-2.0"
edition = "2021"
resolver = "2"
rust-version = "1.81.0"
[[bin]]
name = "veilid-server"
path = "src/main.rs"
[features]
default = ["rt-tokio", "veilid-core/default", "otlp-tonic"]
default-async-std = ["rt-async-std", "veilid-core/default-async-std"]
crypto-test = ["rt-tokio", "veilid-core/crypto-test"]
crypto-test-none = ["rt-tokio", "veilid-core/crypto-test-none"]
otlp-tonic = ["opentelemetry-otlp/grpc-tonic", "opentelemetry-otlp/trace"]
# otlp-grpc = ["opentelemetry-otlp/grpc-sys", "opentelemetry-otlp/trace"]
rt-async-std = [
"veilid-core/rt-async-std",
"async-std",
"opentelemetry_sdk/rt-async-std",
]
rt-tokio = [
"veilid-core/rt-tokio",
"tokio",
"tokio-stream",
"tokio-util",
"opentelemetry_sdk/rt-tokio",
"console-subscriber",
]
tracking = ["veilid-core/tracking"]
debug-json-api = []
debug-locks = ["veilid-core/debug-locks"]
[dependencies]
veilid-core = { path = "../veilid-core", default-features = false }
tracing = { version = "^0.1.40", features = ["log", "attributes"] }
tracing-subscriber = { version = "^0.3.18", features = ["env-filter", "time"] }
tracing-appender = "^0.2.3"
tracing-opentelemetry = "^0.24.0"
# Buggy: tracing-error = "^0"
opentelemetry = { version = "^0.23" }
opentelemetry-otlp = { version = "^0.16.0", default-features = false, optional = true }
opentelemetry_sdk = "0.23.0"
opentelemetry-semantic-conventions = "^0.16.0"
async-std = { version = "^1.12.0", features = ["unstable"], optional = true }
tokio = { version = "^1.38.1", features = ["full", "tracing"], optional = true }
tokio-stream = { version = "^0.1.15", features = ["net"], optional = true }
tokio-util = { version = "^0.7.11", features = ["compat"], optional = true }
console-subscriber = { version = "^0.3.0", optional = true }
async-tungstenite = { version = "^0.27.0", features = ["async-tls"] }
color-eyre = { version = "^0.6.3", default-features = false }
backtrace = "^0.3.71"
clap = { version = "^4.5.9", features = ["derive", "string", "wrap_help"] }
directories = "^5.0.1"
parking_lot = "^0.12.3"
config = { version = "^0.14.0", default-features = false, features = ["yaml"] }
cfg-if = "^1.0.0"
serde = "^1.0.204"
serde_derive = "^1.0.204"
serde_yaml = "^0.9.34"
json = "^0"
futures-util = { version = "^0", default-features = false, features = [
"alloc",
] }
url = "^2"
ctrlc = "^3"
lazy_static = "^1"
bugsalot = { package = "veilid-bugsalot", version = "0.2.0" }
flume = { version = "^0", features = ["async"] }
rpassword = "^7"
hostname = "^0"
stop-token = { version = "^0", default-features = false }
sysinfo = { version = "^0.30.13", default-features = false }
wg = { version = "^0.9.1", features = ["future"] }
tracing-flame = "0.2.0"
time = { version = "0.3.36", features = ["local-offset"] }
chrono = "0.4.38"
[target.'cfg(windows)'.dependencies]
windows-service = "^0"
ansi_term = "^0"
[target.'cfg(unix)'.dependencies]
daemonize = "^0.5.0"
signal-hook = "^0.3.17"
signal-hook-async-std = "^0.2.2"
nix = "^0.29.0"
tracing-perfetto = "0.1.1"
[target.'cfg(target_os = "linux")'.dependencies]
tracing-journald = "^0.3.0"
[dev-dependencies]
serial_test = "^3.1.1"