[package]
edition = "2021"
rust-version = "1.78"
name = "edgehog-device-runtime"
version = "0.10.5"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Edgehog Device Runtime is a portable middleware, that enables remote device management on Linux-based systems."
homepage = "https://github.com/edgehog-device-manager/edgehog-device-runtime"
readme = "README.md"
license = "Apache-2.0"
[features]
bindgen = [
"dep:aws-lc-rs",
"aws-lc-rs/bindgen",
"edgehog-store/bindgen",
]
containers = [
"dep:edgehog-containers",
"dep:edgehog-store",
"edgehog-service/containers",
]
cross = [
"vendored",
"bindgen",
]
default = [
"udev",
"wifiscanner",
"zbus",
"platform-verifier",
]
forwarder = ["dep:edgehog-forwarder"]
message-hub = ["astarte-device-sdk/message-hub"]
platform-verifier = ["edgehog-tls/platform-verifier"]
service = [
"dep:edgehog-service",
"dep:edgehog-store",
]
systemd = ["dep:systemd"]
udev = ["dep:udev"]
vendored = ["edgehog-store/vendored"]
webpki-roots = [
"edgehog-tls/webpki-roots",
"astarte-device-sdk/webpki",
]
wifiscanner = ["dep:wifiscanner"]
zbus = ["dep:zbus"]
[lib]
name = "edgehog_device_runtime"
path = "src/lib.rs"
[[bin]]
name = "edgehog-device-runtime"
path = "src/main.rs"
[dependencies.astarte-device-sdk]
version = "0.10.3"
features = ["derive"]
[dependencies.async-trait]
version = "0.1.89"
[dependencies.aws-lc-rs]
version = "1.14.1"
optional = true
[dependencies.bytes]
version = "1.10.1"
[dependencies.cfg-if]
version = "1.0.3"
[dependencies.clap]
version = "4.5.49"
features = [
"derive",
"env",
]
[dependencies.displaydoc]
version = "0.2.5"
[dependencies.edgehog-containers]
version = "=0.10.5"
optional = true
package = "edgehog-device-runtime-containers"
[dependencies.edgehog-forwarder]
version = "=0.10.5"
optional = true
package = "edgehog-device-runtime-forwarder"
[dependencies.edgehog-service]
version = "=0.10.5"
optional = true
package = "edgehog-device-runtime-service"
[dependencies.edgehog-store]
version = "=0.10.5"
optional = true
package = "edgehog-device-runtime-store"
[dependencies.edgehog-tls]
version = "=0.10.5"
package = "edgehog-device-runtime-tls"
[dependencies.eyre]
version = "0.6.12"
[dependencies.futures]
version = "0.3.31"
[dependencies.procfs]
version = "0.17.0"
[dependencies.reqwest]
version = "0.12.24"
features = [
"charset",
"http2",
"system-proxy",
"rustls-tls-native-roots-no-provider",
"stream",
]
default-features = false
[dependencies.rusqlite]
version = "0.32.1"
optional = true
[dependencies.rustls]
version = "0.23.32"
[dependencies.serde]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.stable-eyre]
version = "0.2.2"
[dependencies.sysinfo]
version = "0.36.1"
[dependencies.systemd]
version = "0.10.1"
optional = true
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.47.1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.17"
[dependencies.tokio-util]
version = "0.7.16"
[dependencies.toml]
version = "0.9.8"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-subscriber]
version = "0.3.20"
features = ["env-filter"]
[dependencies.udev]
version = "0.9.3"
optional = true
[dependencies.url]
version = "2.5.7"
[dependencies.uuid]
version = "1.18.1"
features = [
"v5",
"v4",
"serde",
]
[dependencies.wifiscanner]
version = "0.5.1"
optional = true
[dependencies.zbus]
version = "5.11.0"
features = ["tokio"]
optional = true
default-features = false
[dev-dependencies.astarte-device-sdk-mock]
version = "0.10.3"
[dev-dependencies.httpmock]
version = "0.7"
[dev-dependencies.mockall]
version = "0.13.1"
[dev-dependencies.pretty_assertions]
version = "1.4.1"
[dev-dependencies.tempdir]
version = "0.3.7"
[dev-dependencies.tokio]
version = "1.47.1"
features = ["test-util"]
[dev-dependencies.tokio-stream]
version = "0.1.17"
features = ["net"]
[build-dependencies.rustc_version]
version = "0.4.1"
[profile.release-optimised]
lto = "thin"
debug = 2
split-debuginfo = "packed"
inherits = "release"
strip = true