[package]
name = "ockam_node"
version = "0.133.0"
authors = ["Ockam Developers"]
categories = [
"cryptography",
"asynchronous",
"authentication",
"embedded",
"network-programming",
]
edition = "2021"
homepage = "https://github.com/build-trust/ockam"
keywords = [
"ockam",
"crypto",
"cryptography",
"network-programming",
"encryption",
]
license = "Apache-2.0"
publish = true
repository = "https://github.com/build-trust/ockam/tree/develop/implementations/rust/ockam/ockam_node"
rust-version = "1.70.0"
description = """This crate provides an implementation of an Ockam [Ockam][main-ockam-crate-link]
Node and is intended for use by crates that provide features and add-ons
to the main [Ockam][main-ockam-crate-link] library.
The main [Ockam][main-ockam-crate-link] crate re-exports types defined in
this crate, when the `"std"` feature is enabled.
"""
[features]
default = ["std"]
std = [
"ockam_core/std",
"ockam_transport_core/std",
"once_cell/std",
"opentelemetry",
"tokio",
"tracing-opentelemetry",
"tracing-subscriber",
"tracing-error",
"alloc",
"futures/std",
"minicbor/std",
"storage",
"fs2",
]
no_std = ["ockam_core/no_std", "ockam_transport_core/no_std", "heapless"]
alloc = ["ockam_core/alloc", "ockam_executor/alloc", "futures/alloc", "minicbor/alloc"]
dump_internals = []
metrics = []
debugger = ["ockam_core/debugger"]
watchdog = ["nix"]
storage = [
"std",
"time",
"serde_json",
"sqlx",
"sqlx-core",
"sqlx-sqlite",
"sqlx-postgres",
"tokio-retry",
"regex",
"tempfile",
]
[dependencies]
cfg-if = "1.0.0"
fs2 = { version = "0.4.3", optional = true }
futures = { version = "0.3.30", default-features = false }
heapless = { version = "0.8", features = ["mpmc_large"], optional = true }
minicbor = { version = "0.25.1", default-features = false, features = ["derive"] }
nix = { version = "0.29", features = ["signal"], optional = true }
ockam_core = { path = "../ockam_core", version = "^0.121.0", default-features = false }
ockam_executor = { path = "../ockam_executor", version = "^0.90.0", default-features = false, optional = true }
ockam_macros = { path = "../ockam_macros", version = "^0.36.0" }
ockam_transport_core = { path = "../ockam_transport_core", version = "^0.98.0", default-features = false, optional = true }
once_cell = { version = "1.19.0", optional = true, default-features = false }
opentelemetry = { version = "0.26.0", features = ["logs", "metrics", "trace"], optional = true }
regex = { version = "1.10.6", default-features = false, optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"] }
serde_json = { version = "1", optional = true }
sqlx = { version = "0.8.2", optional = true, default-features = false, features = ["postgres", "sqlite", "any", "migrate", "runtime-tokio", "derive"] }
sqlx-core = { version = "0.8.2", optional = true, default-features = false }
sqlx-postgres = { version = "0.8.2", optional = true, default-features = false }
sqlx-sqlite = { version = "0.8.2", optional = true, default-features = false }
tempfile = { version = "3.10.1", optional = true }
time = { version = "0.3.36", default-features = false, optional = true }
tokio = { version = "1.41", default-features = false, optional = true, features = ["sync", "time", "rt", "rt-multi-thread", "macros"] }
tokio-retry = { version = "0.3.0", optional = true }
tracing = { version = "0.1", default-features = false }
tracing-error = { version = "0.2", optional = true }
tracing-opentelemetry = { version = "0.27.0", optional = true }
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"], optional = true }
[dev-dependencies]
hex = { version = "0.4", default-features = false }
[package.metadata.cargo-machete]
ignored = ["fs2", "serde_json", "tracing-opentelemetry", "sqlx-postgres", "sqlx-sqlite"]