blob: 814811641662606cdc7b01dcf6cab0abd01cf77b [file]
[package]
name = "streaming_telemetry_server"
version = "0.1.0"
edition = "2021"
repository = "https://gbmc.googlesource.com/streaming-telemetry-server"
rust-version = "1.70"
[[bin]]
name = "streaming_telemetry_server"
path = "src/main.rs"
[[bin]]
name = "streaming_telemetry_client"
path = "src/telemetry_client.rs"
required-features = ["build-client"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["loas3"]
loas3 = ["tokio-rustls", "rustls", "aws-lc-rs", "rustls-pemfile", "rustls-pki-types", "x509-parser", "libcertificate_authority_policy_sys"]
# enable this feature for comparing sensor telemetry result with Redfish query result,
# compile client with "cargo build --bin telemetry_client --release --features=client_debug"
# then open ssh tunnel "ssh -L 8088:localhost:80 root@yscsz15-nfd11" before run client
# client_debug = ["reqwest"]
build-client = []
[dependencies]
prost = "0.12.3"
prost-types = "0.12.3"
tokio = { version = "1.36.0", features = ["full"] }
tonic = { version = "0.11.0", features = ["tls", "transport"] }
tonic-reflection = "0.11.0"
axum = "0.7.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
hyper = { version = "1.2.0", features = ["full"] }
url = "2.5.0"
serde_qs = "0.12.0"
regex = "1.10.3"
axum-macros = "0.4.1"
dashmap = "5.5.3"
futures = "0.3.30"
tower = "0.4.13"
hyper-util = "0.1.3"
bytes = "1.5.0"
anyhow = "1.0.81"
base64 = "0.22.0"
zbus = { version = "3.15", default-features = false, features = ["tokio"] }
zbus_names = { version = "2.6.0" }
tracing = "0.1.40"
tracing-subscriber = "0.3.18"
csv = "1.3"
serde_yaml = { version = "0.9.21", default-features = false }
tower-http = { version = "0.4.1", default-features = false, features = ["trace"] }
chrono = "0.4.37"
url-parse = "1.0.7"
axum-streams = { version = "0.12", features = ["json", "csv", "protobuf"] }
tokio-stream = "0.1.15"
futures-util = "0.3.30"
jsonpath_lib = "0.3.0"
clap = { version = "4.0" }
async-stream = "0.3.5"
# Conditional dependencies
libcertificate_authority_policy_sys = { version = "0.1.0", path = "../libcertificate_authority_policy_sys", optional = true }
tokio-rustls = { version = "0.26.0", optional = true }
rustls = { version = "0.23.5", optional = true }
aws-lc-rs = { version = "1.7.0", features = ["bindgen"], optional = true }
rustls-pemfile = { version = "2.1.2", optional = true }
rustls-pki-types = { version = "1.5.0", optional = true }
x509-parser = { version = "0.16.0", optional = true }
async-trait = "0.1.80"
tokio-uring = "0.5.0"
lazy_static = "1.4.0"
log = "0.4.21"
protobuf = "3.5.1"
redfish-codegen = "0.3.1"
# For test client only
# reqwest = { version = "0.12.7", optional = true }
[dependencies.uuid]
version = "1.8.0"
features = [
"v4", # Lets you generate random UUIDs
"fast-rng", # Use a faster (but still sufficiently random) RNG
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]
[build-dependencies]
tonic-build = "0.11.0"
[profile.release]
strip = true # Automatically strip symbols from the binary.
opt-level = "z" # Optimize for size.
lto = true
panic = 'abort'