[package]
edition = "2024"
name = "microsandbox"
version = "0.5.3"
authors = ["Super Rad Company <development@superrad.company>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "`microsandbox` is the core library for the microsandbox project."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/superradcompany/microsandbox"
[features]
default = [
"keyring",
"net",
"prebuilt",
]
keyring = [
"dep:dbus",
"dep:keyring",
]
net = [
"dep:microsandbox-network",
"microsandbox-runtime/net",
]
prebuilt = [
"microsandbox-filesystem/prebuilt",
"microsandbox-runtime/prebuilt",
"microsandbox-utils/http-client",
]
ssh = [
"dep:anyhow",
"dep:russh",
"dep:russh-sftp",
]
[lib]
name = "microsandbox"
path = "lib/lib.rs"
[[bin]]
name = "microsandbox"
path = "bin/main.rs"
[[test]]
name = "correlation_ids"
path = "tests/correlation_ids.rs"
[[test]]
name = "dns_matrix"
path = "tests/dns_matrix/main.rs"
[[test]]
name = "domain_policy"
path = "tests/domain_policy.rs"
[[test]]
name = "host_access"
path = "tests/host_access.rs"
[[test]]
name = "init_handoff"
path = "tests/init_handoff.rs"
[[test]]
name = "log_stream"
path = "tests/log_stream.rs"
[[test]]
name = "log_stream_e2e"
path = "tests/log_stream_e2e.rs"
[[test]]
name = "network_ports"
path = "tests/network_ports.rs"
[[test]]
name = "replace"
path = "tests/replace.rs"
[[test]]
name = "snapshot_artifact"
path = "tests/snapshot_artifact.rs"
[[test]]
name = "ssh"
path = "tests/ssh.rs"
[[test]]
name = "stdin"
path = "tests/stdin.rs"
[[test]]
name = "stop_flush"
path = "tests/stop_flush.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[[test]]
name = "tls_intercept"
path = "tests/tls_intercept.rs"
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.astral-tokio-tar]
version = "0.6"
[dependencies.async-compression]
version = "0.4"
features = [
"tokio",
"zstd",
"gzip",
]
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.9"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.ciborium]
version = "0.2"
[dependencies.crossterm]
version = "0.29.0"
features = ["events"]
[dependencies.dirs]
version = "6.0"
[dependencies.docker_credential]
version = "1.3.2"
[dependencies.flate2]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.libc]
version = "0.2"
[dependencies.microsandbox-db]
version = "0.5.3"
[dependencies.microsandbox-filesystem]
version = "0.5.3"
default-features = false
[dependencies.microsandbox-image]
version = "0.5.3"
[dependencies.microsandbox-metrics]
version = "0.5.3"
[dependencies.microsandbox-migration]
version = "0.5.3"
[dependencies.microsandbox-network]
version = "0.5.3"
optional = true
[dependencies.microsandbox-protocol]
version = "0.5.3"
[dependencies.microsandbox-runtime]
version = "0.5.3"
default-features = false
[dependencies.microsandbox-utils]
version = "0.5.3"
[dependencies.nix]
version = "0.30"
features = [
"process",
"signal",
]
[dependencies.notify]
version = "8"
[dependencies.rand]
version = "0.10.1"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"stream",
]
[dependencies.russh]
version = "0.61.1"
optional = true
[dependencies.russh-sftp]
version = "2.2.2"
optional = true
[dependencies.scopeguard]
version = "1.2"
[dependencies.sea-orm]
version = "1.1"
features = [
"macros",
"runtime-tokio-rustls",
"sqlx-sqlite",
"with-chrono",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.11.0"
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3.15"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.42"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.typed-builder]
version = "0.23"
[dependencies.which]
version = "8"
[dev-dependencies.ipnetwork]
version = "0.21.0"
features = ["serde"]
[dev-dependencies.rcgen]
version = "0.13"
features = ["x509-parser"]
[dev-dependencies.rustls]
version = "0.23"
features = [
"logging",
"ring",
"std",
"tls12",
]
default-features = false
[dev-dependencies.tempfile]
version = "3.15"
[dev-dependencies.tokio]
version = "1.42"
features = [
"full",
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-rustls]
version = "0.26"
[build-dependencies.flate2]
version = "1.0"
[build-dependencies.microsandbox-utils]
version = "0.5.3"
[build-dependencies.tar]
version = "0.4"
[target.'cfg(target_os = "linux")'.dependencies.dbus]
version = "0.9.10"
features = ["vendored"]
optional = true
[target.'cfg(target_os = "linux")'.dependencies.keyring]
version = "3.6.3"
features = [
"crypto-rust",
"linux-native-sync-persistent",
]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.keyring]
version = "3.6.3"
features = ["apple-native"]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.keyring]
version = "3.6.3"
features = ["windows-native"]
optional = true