ProductPromotion
Logo

Rust

made by https://0x3d.site

GitHub - oxidecomputer/propolis: VMM userspace for illumos bhyve
VMM userspace for illumos bhyve. Contribute to oxidecomputer/propolis development by creating an account on GitHub.
Visit Site

GitHub - oxidecomputer/propolis: VMM userspace for illumos bhyve

GitHub - oxidecomputer/propolis: VMM userspace for illumos bhyve

Propolis

Propolis VMM userspace for use with illumos bhyve.

Prerequisites

Given the current tight coupling of the bhyve-api component to the ioctl interface presented by the bhyve kernel component, running on recent illumos bits is required.

Propolis works best (and its CI tests run) on AMD hosts, but it can also be used to run VMs on Intel hosts. Live migration is primarily supported on AMD hosts but may work on Intel hosts as well.

Components

Programs:

  • propolis-server: Run a Propolis VM instance, operated via REST API calls (typically by omicron)
  • propolis-cli: CLI wrapper interface for propolis-server API calls
  • propolis-standalone: Simple standalone program to run a Propolis VM instance, operated via a local config file

Libraries:

  • propolis-client: Rust crate for propolis-server API
  • propolis: Represents the bulk of the emulation logic required to implement a userspace VMM. Both propolis-server and propolis-standalone are built around this.

Internal Crates

These are not meant as committed public interfaces, but rather internal implementation details, consumed by Propolis components.

  • bhyve-api: API (ioctls & structs) for the illumos bhyve kernel VMM
  • dladm: Some thin wrappers around dladm queries
  • propolis-server-config: Type definitions for propolis-server config file
  • propolis-types: Publically exposed (via propolis-server) types, intergral to the propolis library
  • viona-api: API (ioctls & structs) for the illumos viona driver

xtasks

Propolis uses the cargo xtask pattern in order to conveniently expose certain tasks to developers.

  • clippy: Run suite of clippy checks. This performs more than a simple cargo clippy, since there are several combinations of feature flags which must be checked.
  • fmt: Check style according to rustfmt
  • license: Check (crudely) that files bear appropriate license headers
  • phd: Run the PHD test suite
  • style: Perform miscellaneous style checks
  • prepush: Preform pre-push checks (clippy, fmt, license, style) in a manner which resembles (but does not exactly match) how they are run in CI. Running tests (unit, integration, or phd) are not included and are left to the user.

It is recommended that developers run the prepush test before pushing a branch which will be subsequently checked by CI. Doing so currently requires an x86_64 UNIX/Linux machine.

License

Unless otherwise noted, all components are licensed under the Mozilla Public License Version 2.0.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory