[package]
edition = "2021"
rust-version = "1.85"
name = "supermachine"
version = "0.4.27"
build = false
include = [
"src/**/*.rs",
"examples/**/*.rs",
"entitlements.plist",
"oci/init-oci.c",
"Cargo.toml",
"README.md",
"LICENSE-APACHE",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Run any OCI/Docker image as a hardware-isolated microVM on macOS HVF (Linux KVM and Windows WHP in progress). Single library API, zero flags for the common case, sub-100 ms cold-restore from snapshot."
documentation = "https://docs.rs/supermachine"
readme = "README.md"
keywords = [
"microvm",
"hypervisor",
"oci",
"docker",
"snapshot",
]
categories = [
"virtualization",
"api-bindings",
"command-line-utilities",
]
license = "Apache-2.0"
[features]
default = []
tokio = ["dep:tokio"]
[lib]
name = "supermachine"
path = "src/lib.rs"
[[bin]]
name = "cargo-supermachine"
path = "src/bin/cargo_plugin.rs"
[[bin]]
name = "supermachine"
path = "src/bin/cli.rs"
[[bin]]
name = "supermachine-router"
path = "src/bin/router.rs"
[[bin]]
name = "supermachine-worker"
path = "src/bin/worker.rs"
[[example]]
name = "_axis_bench"
path = "examples/_axis_bench.rs"
[[example]]
name = "_bake_warm"
path = "examples/_bake_warm.rs"
[[example]]
name = "_balloon_rss"
path = "examples/_balloon_rss.rs"
[[example]]
name = "_bench_prep"
path = "examples/_bench_prep.rs"
[[example]]
name = "_deadlock_repro"
path = "examples/_deadlock_repro.rs"
[[example]]
name = "_embed_bench"
path = "examples/_embed_bench.rs"
[[example]]
name = "_ensure_baked_smoke"
path = "examples/_ensure_baked_smoke.rs"
[[example]]
name = "_flame_graph"
path = "examples/_flame_graph.rs"
[[example]]
name = "_integrator_bench"
path = "examples/_integrator_bench.rs"
[[example]]
name = "_integrator_breakdown"
path = "examples/_integrator_breakdown.rs"
[[example]]
name = "_one_shot_timing"
path = "examples/_one_shot_timing.rs"
[[example]]
name = "_parallel_spawn"
path = "examples/_parallel_spawn.rs"
[[example]]
name = "_pool_autoscale"
path = "examples/_pool_autoscale.rs"
[[example]]
name = "_pool_bench"
path = "examples/_pool_bench.rs"
[[example]]
name = "_pool_v0_4"
path = "examples/_pool_v0_4.rs"
[[example]]
name = "_pre_exec_compare"
path = "examples/_pre_exec_compare.rs"
[[example]]
name = "_sanity_1vcpu"
path = "examples/_sanity_1vcpu.rs"
[[example]]
name = "_smpark_reliability_gate"
path = "examples/_smpark_reliability_gate.rs"
[[example]]
name = "_smpark_smoke"
path = "examples/_smpark_smoke.rs"
[[example]]
name = "_snapshot_smoke"
path = "examples/_snapshot_smoke.rs"
[[example]]
name = "_stage_diag"
path = "examples/_stage_diag.rs"
[[example]]
name = "_stage_exec_smoke"
path = "examples/_stage_exec_smoke.rs"
[[example]]
name = "_stage_size_probe"
path = "examples/_stage_size_probe.rs"
[[example]]
name = "_timeout_debug"
path = "examples/_timeout_debug.rs"
[[example]]
name = "_tracing_demo"
path = "examples/_tracing_demo.rs"
[[example]]
name = "_typed_errors_smoke"
path = "examples/_typed_errors_smoke.rs"
[[example]]
name = "_vsock_rtt_probe"
path = "examples/_vsock_rtt_probe.rs"
[[example]]
name = "_warmup_timing"
path = "examples/_warmup_timing.rs"
[[example]]
name = "builder"
path = "examples/builder.rs"
[[example]]
name = "bundle_load"
path = "examples/bundle_load.rs"
[[example]]
name = "embed_simple"
path = "examples/embed_simple.rs"
[[example]]
name = "exec"
path = "examples/exec.rs"
[[example]]
name = "oci_simple"
path = "examples/oci_simple.rs"
[[example]]
name = "tcp_forward"
path = "examples/tcp_forward.rs"
[[example]]
name = "v02_surface"
path = "examples/v02_surface.rs"
[[example]]
name = "warm_pool"
path = "examples/warm_pool.rs"
[[example]]
name = "warm_pool_bench"
path = "examples/warm_pool_bench.rs"
[dependencies.env_logger]
version = "0.11"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.mio]
version = "1"
features = [
"net",
"os-poll",
]
[dependencies.rustls]
version = "0.23"
features = [
"std",
"tls12",
"ring",
"aws-lc-rs",
]
default-features = false
[dependencies.rustls-pemfile]
version = "2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.supermachine-kernel]
version = "=0.4.25"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"sync",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
]
default-features = false
[dev-dependencies.tracing-flame]
version = "0.2"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[target.'cfg(all(target_os = "macos", target_arch = "aarch64"))'.dependencies.applevisor-sys]
version = "1.0"
features = ["macos-15-0"]
[target.'cfg(all(target_os = "macos", target_arch = "aarch64"))'.dependencies.vm-fdt]
version = "0.3"
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"