[package]
edition = "2021"
name = "edgesentry-rs"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tamper-evident immutable audit trace: signing, verification, ingestion and CLI"
documentation = "https://edgesentry.github.io/edgesentry-rs/"
readme = false
keywords = [
"audit",
"cryptography",
"ed25519",
"blake3",
"iot-security",
]
categories = [
"cryptography",
"embedded",
"network-programming",
"authentication",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/edgesentry/edgesentry-rs"
[features]
async-ingest = ["dep:tokio"]
buffer-sqlite = ["dep:rusqlite"]
default = []
postgres = ["dep:postgres"]
s3 = [
"dep:aws-config",
"dep:aws-sdk-s3",
"dep:aws-credential-types",
"dep:tokio",
]
transport-http = [
"async-ingest",
"dep:axum",
]
transport-mqtt = [
"async-ingest",
"dep:rumqttc",
]
transport-mqtt-tls = [
"transport-mqtt",
"rumqttc/use-rustls",
"dep:tokio-rustls",
"dep:rustls-pemfile",
]
transport-tls = [
"transport-http",
"dep:tokio-rustls",
"dep:rustls-pemfile",
"dep:hyper-util",
]
[lib]
name = "edgesentry_rs"
path = "src/lib.rs"
[[bin]]
name = "eds"
path = "src/main.rs"
[[example]]
name = "cloud_backend"
path = "examples/cloud_backend.rs"
[[example]]
name = "edge_device"
path = "examples/edge_device.rs"
[[example]]
name = "edge_gateway"
path = "examples/edge_gateway.rs"
[[example]]
name = "lift_inspection_flow"
path = "examples/lift_inspection_flow.rs"
[[test]]
name = "cli_integration"
path = "tests/cli_integration.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "unit"
path = "tests/unit.rs"
[dependencies.aws-config]
version = "1"
optional = true
[dependencies.aws-credential-types]
version = "1"
optional = true
[dependencies.aws-sdk-s3]
version = "1"
optional = true
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.blake3]
version = "1.5"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.ed25519-dalek]
version = "2.1"
features = ["rand_core"]
[dependencies.hex]
version = "0.4"
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server",
"http1",
"http2",
]
optional = true
[dependencies.postcard]
version = "1.1"
features = ["alloc"]
default-features = false
[dependencies.postgres]
version = "0.19"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.rumqttc]
version = "0.25"
optional = true
[dependencies.rusqlite]
version = "0.31"
optional = true
[dependencies.rustls-pemfile]
version = "2"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"sync",
"macros",
"net",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
features = ["ring"]
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.rcgen]
version = "0.13"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"blocking",
"rustls-tls",
]
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"net",
]