A userspace VMM (Virtual Machine Monitor) for illumos bhyve, providing emulation logic and REST API for VM management.
Propolis is a userspace Virtual Machine Monitor (VMM) designed for the illumos operating system's bhyve hypervisor. It provides the emulation logic needed to run virtual machines and exposes a REST API for managing VM instances, typically used in conjunction with orchestration systems like Omicron. The project enables flexible VM deployment and operation on both AMD and Intel hosts, with optimized support for AMD-based live migration.
System administrators and developers working with illumos-based virtualization, particularly those integrating VMM functionality into larger orchestration platforms or needing a modular userspace VMM component.
Developers choose Propolis for its clean separation of emulation logic from kernel interfaces, its REST API for programmable VM management, and its tight integration with the illumos bhyve ecosystem. It offers a modular, Rust-based implementation that supports both AMD and Intel hosts with a focus on reliability and developer tooling.
VMM userspace for illumos bhyve
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables programmable VM operation via REST calls, as seen in 'propolis-server' for integration with systems like Omicron, facilitating cloud-native orchestration.
Core emulation logic is encapsulated in a reusable Rust crate ('propolis'), allowing clean separation from kernel interfaces and flexible component reuse.
Works best on AMD hosts with full live migration support, as noted in the README, ensuring reliable performance for AMD-based deployments.
Uses 'cargo xtask' for streamlined workflows including linting, formatting, and pre-push checks, reducing development overhead with automated tasks.
Tightly coupled to illumos bhyve kernel interfaces, requiring recent illumos bits and limiting portability to other operating systems.
Live migration is primarily supported on AMD hosts, with Intel hosts having potential limitations, as admitted in the README, reducing flexibility for Intel-heavy environments.
Designed for integration with specific orchestration like Omicron, making standalone use or adoption in heterogeneous systems more challenging without custom work.