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