vm-manager/Cargo.toml
Till Wegmueller 9dc492f90f
Add vm-manager library and vmctl CLI
Unified VM management consolidating QEMU-KVM (Linux) and Propolis/bhyve
(illumos) backends behind an async Hypervisor trait, with a vmctl CLI for
direct use and a library API for orchestrators.

- Core library: types, async Hypervisor trait, miette diagnostic errors
- QEMU backend: direct process management, raw QMP client, QCOW2 overlays
- Propolis backend: zone-based VMM with REST API control
- Shared infra: cloud-init NoCloud ISO generation, image download/cache,
  SSH helpers with retry
- vmctl CLI: create, start, stop, destroy, list, status, console, ssh,
  suspend, resume, image pull/list/inspect
- nebula-vm zone brand: lifecycle scripts and platform/config XML for
  illumos zone integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 18:25:17 +01:00

37 lines
853 B
TOML

[workspace]
resolver = "3"
members = ["crates/vm-manager", "crates/vmctl"]
[workspace.package]
edition = "2024"
license = "MPL-2.0"
rust-version = "1.85"
[workspace.dependencies]
tokio = { version = "1", features = [
"rt-multi-thread",
"macros",
"signal",
"fs",
"io-util",
"io-std",
"process",
"net",
"time",
] }
miette = { version = "7", features = ["fancy"] }
thiserror = "2"
clap = { version = "4", features = ["derive", "env"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
reqwest = { version = "0.12", default-features = false, features = [
"rustls-tls-native-roots",
"stream",
] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
uuid = { version = "1", features = ["v4", "serde"] }
tempfile = "3"
futures-util = "0.3"
zstd = "0.13"
dirs = "6"