ockam_node 0.134.0

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.
Documentation
[package]
name = "ockam_node"
version = "0.134.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"]

# Feature (enabled by default): "std" enables functionality expected to
# be available on a standard platform.
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",
]

# Feature: "no_std" enables functionality required for platforms
# without the standard library.
no_std = ["ockam_core/no_std", "ockam_transport_core/no_std", "heapless"]

# Feature: "alloc" enables support for heap allocation (implied by `feature = "std"`)
alloc = ["ockam_core/alloc", "ockam_executor/alloc", "futures/alloc", "minicbor/alloc"]

# Feature: "dump_internals" when set, will dump the internal state of
# workers at startup via the trace! macro.
dump_internals = []
# TODO should these features be combined?
metrics = []

# Feature: "debugger" enables functionality to trace addresses and
# message flows within Ockam apps.
debugger = ["ockam_core/debugger"]

# Feature: "watchdog" reports blocking task that compromise the runtime
# neeeds to be compiled with RUSTFLAGS="--cfg tokio_unstable"
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.122.0", default-features = false }
ockam_executor = { path = "../ockam_executor", version = "^0.91.0", default-features = false, optional = true }
ockam_macros = { path = "../ockam_macros", version = "^0.36.0" }
ockam_transport_core = { path = "../ockam_transport_core", version = "^0.99.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"]