All Projects → containers → Krunvm

containers / Krunvm

Licence: apache-2.0
Manage lightweight VMs created from OCI images

Programming Languages

rust
11053 projects

krunvm

krunvm is a CLI-based utility for managing lightweight VMs created from OCI images, using libkrun and buildah.

Features

  • Minimal footprint
  • Fast boot time
  • Zero disk image maintenance
  • Zero network configuration
  • Support for mapping host volumes into the guest
  • Support for exposing guest ports to the host

Demo

asciicast

Supported platforms

  • Linux/KVM on x86_64.
  • Linux/KVM on AArch64.
  • macOS/Hypervisor.framework on ARM64.

Installation

macOS

brew tap slp/krun
brew install krunvm

Fedora

dnf copr enable -y slp/libkrunfw
dnf copr enable -y slp/libkrun
dnf copr enable -y slp/krunvm
dnf install -y krunvm

Building from sources

Dependencies

Building

cargo build --release

Limitations

Networking

Networking support is limited to TCP IPv4

The current implementation of TSI (Transparent Socket Impersonation) in libkrun is limited to TCP and IPv4. This is expected to improve soon.

Domain name resolution is broken on musl-based distributions

As a consequence of the previous point, libkrun-based VMs need to use TCP for connecting to the DNS servers. musl libc does not support domain name resolution using TCP, so on distributions based on this library (such as Alpine), name resolution is broken.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].