[package]
# --- Bumpversion match - do not reorder
name = "veilid-server"
version = "0.2.1"
# ---
description = "Veilid Server"
authors = ["Veilid Team <contact@veilid.com>"]
license = "MPL-2.0"
edition = "2021"

[[bin]]
name = "veilid-server"
path = "src/main.rs"

[features]
default = ["rt-tokio", "veilid-core/default"]
crypto-test = ["rt-tokio", "veilid-core/crypto-test"]
crypto-test-none = ["rt-tokio", "veilid-core/crypto-test-none"]

rt-async-std = [
    "veilid-core/rt-async-std",
    "async-std",
    "opentelemetry/rt-async-std",
    "opentelemetry-otlp/grpc-sys",
]
rt-tokio = [
    "veilid-core/rt-tokio",
    "tokio",
    "tokio-stream",
    "tokio-util",
    "opentelemetry/rt-tokio",
    "console-subscriber",
]
tracking = ["veilid-core/tracking"]
network-result-extra = ["veilid-core/network-result-extra"]

[dependencies]
veilid-core = { path = "../veilid-core", default-features = false }
tracing = { version = "^0", features = ["log", "attributes"] }
tracing-subscriber = { version = "^0", features = ["env-filter"] }
tracing-appender = "^0"
tracing-opentelemetry = "0.18"
# Buggy: tracing-error = "^0"
opentelemetry = { version = "0.18" }
opentelemetry-otlp = { version = "0.11" }
opentelemetry-semantic-conventions = "0.10"
async-std = { version = "^1", features = ["unstable"], optional = true }
tokio = { version = "^1", features = ["full", "tracing"], optional = true }
console-subscriber = { version = "^0", optional = true }
tokio-stream = { version = "^0", features = ["net"], optional = true }
tokio-util = { version = "^0", features = ["compat"], optional = true }
async-tungstenite = { version = "^0", features = ["async-tls"] }
color-eyre = { version = "^0", default-features = false }
backtrace = "^0"
clap = { version = "4", features = ["derive", "string", "wrap_help"] }
directories = "^4"
parking_lot = "^0"
config = { version = "^0", features = ["yaml"] }
cfg-if = "^1"
serde = "^1"
serde_derive = "^1"
serde_yaml = "^0"
json = "^0"
futures-util = { version = "^0", default_features = false, features = [
    "alloc",
] }
url = "^2"
ctrlc = "^3"
lazy_static = "^1"
bugsalot = { package = "veilid-bugsalot", version = "0.1.0" }
flume = { version = "^0", features = ["async"] }
rpassword = "^6"
hostname = "^0"
stop-token = { version = "^0", default-features = false }
sysinfo = { version = "^0.28.4", default-features = false }
wg = "0.3.2"

[target.'cfg(windows)'.dependencies]
windows-service = "^0"
ansi_term = "^0"

[target.'cfg(unix)'.dependencies]
daemonize = "^0"
signal-hook = "^0"
signal-hook-async-std = "^0"
nix = "^0"

[target.'cfg(target_os = "linux")'.dependencies]
tracing-journald = "^0"

[dev-dependencies]
serial_test = "^0"
