| [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 = ["mtls"] |
| mtls = ["tokio-rustls", "rustls", "rustls-pemfile", "rustls-pki-types", "x509-parser"] |
| # 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 = ["async-stream"] |
| load-sources-from-server-config = [] |
| |
| [dependencies] |
| tonic = { version = "0.11.0", features = ["tls", "transport"] } |
| prost = "0.12.3" |
| prost-types = "0.12.3" |
| tokio = { version = "1.36.0", features = ["full"] } |
| tokio-stream = "0.1.15" |
| axum = "0.7.4" |
| jsonpath_lib = "0.3.0" |
| serde = { version = "1.0", features = ["derive"] } |
| serde_json = "1.0" |
| serde_qs = "0.12.0" |
| url = "2.5.0" |
| regex = "1.10.3" |
| dashmap = "5.5.3" |
| futures = "0.3.30" |
| futures-util = "0.3.30" |
| anyhow = "1.0.81" |
| zbus = { version = "3.15", default-features = false, features = ["tokio"] } |
| zbus_names = { version = "2.6.0" } |
| chrono = "0.4.37" |
| clap = { version = "4.0" } |
| 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" |
| env_logger = "0.10.2" |
| |
| # Conditional dependencies |
| tokio-rustls = { version = "=0.25.0", optional = true } |
| # set rustls default-features to false, to let it depends on ring instead of aws-lc-rs as crypto library |
| rustls = { version = "=0.22.4", default-features = false, 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 } |
| # For test client only |
| # reqwest = { version = "0.12.7", optional = true } |
| async-stream = { version = "0.3.5", optional = true } |
| |
| [dev-dependencies] |
| rand = "0.8.5" |
| [lib] |
| doctest = false |
| |
| [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' |