[package] name = "northstar-runtime" build = "build.rs" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true description.workspace = true rust-version.workspace = true [dependencies] anyhow = { version = "1.0.75", features = ["backtrace"] } async-stream = { version = "0.3.4", optional = true } async-trait = { version = "0.1.73", optional = true } base64 = { version = "0.21.5", optional = true } bincode = { version = "1.3.3", optional = true } bitflags = "2.4.0" byteorder = { version = "1.5.0", optional = true } bytes = { version = "1.4.0", optional = true } bytesize = { version = "1.2.0", optional = true } caps = { version = "0.5.5", optional = true } cgroups-rs = { version = "0.3.2", features = ["serde"], optional = true } ed25519-dalek = { version = "2.0.0", optional = true } futures = { version = "0.3.29", default-features = true, optional = true } heck = { version = "0.4.1", optional = true } hex = { version = "0.4.3", optional = true } hmac = { version = "0.12.1", features = ["reset"], optional = true } humanize-rs = { version = "0.1.5", optional = true } humantime-serde = { version = "1.1.1", optional = true } inotify = { version = "0.10.0", features = ["stream"], optional = true } itertools = { version = "0.11.0", optional = true } lazy_static = { version = "1.4.0", optional = true } libc = { version = "0.2.148", optional = true } log = { version = "0.4.19", features = [ "serde", "max_level_trace", "release_max_level_debug"] } memchr = "2.6.2" memfd = { version = "0.6.2", optional = true } memoffset = { version = "0.9.0", optional = true } nanoid = { version = "0.4.0", optional = true } nix = { version = "0.27.1", default-features = false, features = ["fs", "sched", "ioctl", "mount", "term", "uio", "socket", "net", "signal", "user"], optional = true } pkg-version = { version = "1.0.0", optional = true } rand_core = { version = "0.6.4", features = ["getrandom"], optional = true } rlimit = { version = "0.10.1", optional = true } semver = { version = "1.0.20", features = ["serde"] } serde = { version = "1.0.164", features = ["derive", "rc"] } serde_json = { version = "1.0.95", optional = true } serde_plain = { version = "1.0.2", optional = true } serde_with = { version = "3.0.0", optional = true } serde_yaml = { version = "0.9.25", optional = true } sha2 = { version = "0.10.7", optional = true } strum = { version = "0.25.0", optional = true } strum_macros = { version = "0.25.3", optional = true } tempfile = { version = "3.8.1", optional = true } thiserror = "1.0.40" tokio = { version = "1.32.0", features = ["fs", "io-std", "io-util", "macros", "process", "rt-multi-thread", "sync", "time", "net"], optional = true } tokio-eventfd = { version = "0.2.1", optional = true } tokio-util = { version = "0.7.8", features = ["codec", "io"], optional = true } toml = { version = "0.7.6", optional = true } umask = { version = "2.1.0", optional = true } url = { version = "2.4.1", features = ["serde"], optional = true } uuid = { version = "1.4.1", features = ["v4"], optional = true } validator = { version = "0.16.1", features = ["derive"] } zeroize = { version = "1.6.0", optional = true } zip = { version = "0.6.6", default-features = false, optional = true } [features] api = ["bytes", "futures", "npk", "pkg-version", "serde_json", "tokio", "tokio-util"] npk = ["base64", "byteorder", "ed25519-dalek", "hex", "humanize-rs", "itertools", "pkg-version", "rand_core", "seccomp", "serde_json", "serde_plain", "serde_with", "serde_yaml", "sha2", "strum", "strum_macros", "tempfile", "toml", "uuid", "zeroize", "zip"] rexec = ["nix", "memfd"] runtime = ["api", "async-stream", "async-trait", "bincode", "bindgen", "bytesize", "caps", "cgroups-rs", "ed25519-dalek", "futures", "heck", "hex", "hmac", "humantime-serde", "inotify", "itertools", "lazy_static", "libc", "memfd", "memoffset", "nanoid", "nix", "npk", "rlimit", "serde_plain", "tempfile", "tokio", "tokio-eventfd", "tokio-util", "url", "umask"] seccomp = ["bindgen", "caps", "lazy_static", "memoffset", "nix", "npk"] [dev-dependencies] anyhow = "1.0.75" memfd = "0.6.2" proptest = "1.2.0" rstest = { version = "0.18.1", default-features = false } serde_json = "1.0.95" tokio = { version = "1.32.0", features = ["test-util"] } tokio-test = "0.4.3" toml = "0.7.6" [build-dependencies] anyhow = "1.0.75" bindgen = { version = "0.65.1", default-features = false, features = ["runtime"], optional = true } [package.metadata.docs.rs] features = ["api", "npk", "runtime", "seccomp"]