microsandbox-runtime 0.7.0

Runtime library for the microsandbox sandbox process and microVM entry points.
[package]
name = "microsandbox-runtime"
description = "Runtime library for the microsandbox sandbox process and microVM entry points."
version.workspace = true
authors.workspace = true
repository.workspace = true
license.workspace = true
edition.workspace = true

[lib]
name = "microsandbox_runtime"
path = "lib/lib.rs"

[features]
default = ["download-binaries", "embed-binaries", "net", "runner"]
client = ["dep:hex", "dep:microsandbox-image", "dep:rand", "dep:tempfile", "dep:tokio"]
runner = [
    "client",
    "dep:bytes",
    "dep:crossbeam-queue",
    "dep:clap",
    "dep:hex",
    "dep:microsandbox-image",
    "dep:microsandbox-agent-client",
    "dep:microsandbox-filesystem",
    "dep:microsandbox-metrics",
    "dep:microsandbox-vsock",
    "dep:msb_krun",
    "dep:rand",
    "dep:rustls",
    "dep:tempfile",
    "dep:tokio",
    "microsandbox-network?/engine",
]
download-binaries = ["runner", "microsandbox-filesystem/download-binaries"]
embed-binaries = ["runner", "microsandbox-filesystem/embed-binaries"]
net = ["dep:microsandbox-network", "msb_krun?/net"]

[dependencies]
base64.workspace = true
ciborium-ll.workspace = true
bytes = { workspace = true, optional = true }
chrono.workspace = true
clap = { workspace = true, features = ["derive"], optional = true }
hex = { workspace = true, optional = true }
crossbeam-queue = { workspace = true, optional = true }
libc.workspace = true
microsandbox-agent-client = { workspace = true, optional = true }
microsandbox-db.workspace = true
microsandbox-image = { workspace = true, optional = true }
microsandbox-filesystem = { workspace = true, optional = true }
microsandbox-metrics = { workspace = true, optional = true }
microsandbox-network = { workspace = true, default-features = false, optional = true }
microsandbox-protocol.workspace = true
microsandbox-types.workspace = true
microsandbox-utils.workspace = true
microsandbox-vsock = { workspace = true, optional = true }
msb_krun = { workspace = true, features = ["blk"], optional = true }
nix = { workspace = true, features = ["process", "signal"] }
rand = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
sea-orm.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
tempfile = { workspace = true, optional = true }
thiserror.workspace = true
tokio = { workspace = true, optional = true }
tokio-util = { workspace = true, features = ["rt"] }
tracing.workspace = true
zeroize.workspace = true

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61.2", features = ["Win32_Foundation", "Win32_Security", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Kernel", "Win32_System_SystemInformation", "Win32_System_Threading"] }

[target.'cfg(unix)'.dependencies]
microsandbox-agent-client = { workspace = true, features = ["uds"], optional = true }

[target.'cfg(windows)'.dependencies.microsandbox-agent-client]
workspace = true
features = ["named-pipe"]
optional = true

[dev-dependencies]
microsandbox-protocol-client.workspace = true
microsandbox-control-client.workspace = true
microsandbox-migration.workspace = true
tempfile.workspace = true
tokio = { workspace = true, features = ["test-util"] }