[package] name = "volt-vmm" version = "0.1.0" edition = "2021" authors = ["Volt Contributors"] description = "A lightweight, secure Virtual Machine Monitor (VMM) built on KVM" license = "Apache-2.0" repository = "https://github.com/armoredgate/volt-vmm" keywords = ["vmm", "kvm", "virtualization", "microvm"] categories = ["virtualization", "os"] [dependencies] # Stellarium CAS storage stellarium = { path = "../stellarium" } # KVM interface (rust-vmm) kvm-ioctls = "0.19" kvm-bindings = { version = "0.10", features = ["fam-wrappers"] } # Memory management (rust-vmm) vm-memory = { version = "0.16", features = ["backend-mmap"] } # VirtIO (rust-vmm) virtio-queue = "0.14" virtio-bindings = "0.2" # Kernel/initrd loading (rust-vmm) linux-loader = { version = "0.13", features = ["bzimage", "elf"] } # Async runtime tokio = { version = "1", features = ["full"] } # Configuration serde = { version = "1", features = ["derive"] } serde_json = "1" # CLI clap = { version = "4", features = ["derive", "env"] } # Logging/tracing tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } # Error handling thiserror = "2" anyhow = "1" # HTTP API axum = "0.8" tower = "0.5" tower-http = { version = "0.6", features = ["trace", "cors"] } # Security (seccomp-bpf filtering) seccompiler = "0.5" # Security / sandboxing landlock = "0.4" # Additional utilities crossbeam-channel = "0.5" libc = "0.2" nix = { version = "0.29", features = ["fs", "ioctl", "mman", "signal"] } parking_lot = "0.12" signal-hook = "0.3" signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"] } futures = "0.3" hyper = { version = "1.4", features = ["full"] } hyper-util = { version = "0.1", features = ["server", "tokio"] } http-body-util = "0.1" tokio-util = { version = "0.7", features = ["io"] } bytes = "1" getrandom = "0.2" crc = "3" # CAS (Content-Addressable Storage) support sha2 = "0.10" hex = "0.4" [dev-dependencies] tokio-test = "0.4" tempfile = "3" [[bin]] name = "volt-vmm" path = "src/main.rs"