Cargo.toml (80 lines of code) (raw):
[package]
name = "otel-lib"
version = "0.1.0"
authors = ["Azure Edge Devs"]
license = "MIT"
edition = "2021"
[dependencies]
axum = "0.6"
env_filter = "0.1"
futures = "0.3"
futures-channel = "0.3"
futures-executor = "0.3"
futures-util = "0.3"
humantime = "2.1"
hyper = { version = "0.14", features = ["http1", "server"] }
hyper-util = "0.1"
log = { version = "0.4", default-features = false }
notify = "6"
notify-debouncer-mini = "0.4"
nix = { version = "0.27", default-features = false, features = [
"process", "hostname",
] }
openssl = "0.10"
opentelemetry = { version = "0.24", features = ["metrics", "logs"]}
opentelemetry-otlp = { version ="0.17", features = ["grpc-tonic","metrics", "logs"]}
opentelemetry-prometheus = {version = "0.17" }
opentelemetry_sdk = {version = "0.24", features = ["metrics", "logs", "rt-tokio", "testing", "logs_level_enabled"]}
opentelemetry-stdout = {version = "0.5", features = ["metrics"]}
prometheus = "0.13"
serde = { version = "1", features = [
"derive",
"rc",
] }
serde_json = { version = "1.0", default-features = false, features = [
"alloc",
] }
thiserror = "1.0"
tokio = "1.40"
tokio-openssl = "0.6"
tonic = { version = "0.12" }
tower = {version = "0.5", features = ["util"]}
url = "2"
[dev-dependencies]
async-stream = "0.3"
async-trait = "0.1"
filetime = "0.2"
opentelemetry-proto = { version = "0.7", features = ["gen-tonic", "metrics", "logs"] }
port_check="0.2"
prost = "0.13"
rcgen = "0.12"
reqwest = { version = "0.12", default-features = false }
tonic = { version = "0.12", features = ["codegen", "prost"] }
tokio = { version= "1.3", features = ["parking_lot"] }
tokio-stream = "0.1"
uuid = { version = "1", features = ["v4"] }
[lints.rust]
rust_2018_idioms = "warn"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
default_trait_access = "allow"
enum_variant_names = "allow"
let_and_return = "allow"
let_unit_value = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
# TODO(rustup): Buggy lint: https://github.com/rust-lang/rust-clippy/issues/12279
no_effect_underscore_binding = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
struct_field_names = "allow"
too_many_arguments = "allow"
too_many_lines = "allow"
type_complexity = "allow"
[features]
tests = []
integration = []