xds-server 0.1.0

gRPC server implementation for xDS control plane
Documentation
[package]
name = "xds-server"
description = "gRPC server implementation for xDS control plane"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["xds", "envoy", "grpc", "server"]
categories = ["network-programming", "asynchronous"]

[dependencies]
xds-core = { workspace = true }
xds-cache = { workspace = true }
xds-types = { workspace = true }

# Async runtime
tokio = { workspace = true, features = ["sync", "signal", "time", "rt-multi-thread"] }
tokio-stream = { workspace = true }
futures = { workspace = true }

# gRPC
tonic = { workspace = true }
tonic-health = { workspace = true }
tonic-reflection = { workspace = true, optional = true }
http = { workspace = true }

# Protobuf
prost = { workspace = true }
prost-types = { workspace = true }

# Observability
tracing = { workspace = true }
metrics = { workspace = true }
metrics-exporter-prometheus = { workspace = true, optional = true }

# Async utilities
async-trait = { workspace = true }
pin-project-lite = { workspace = true }

# Concurrency
parking_lot = { workspace = true }

[dev-dependencies]
rstest = { workspace = true }
tokio-test = { workspace = true }
pretty_assertions = { workspace = true }

[features]
default = ["reflection", "metrics"]
reflection = ["dep:tonic-reflection"]
metrics = ["dep:metrics-exporter-prometheus"]
tls = ["tonic/tls"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true