| [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' |