/crun-vm

An OCI Runtime that enables Podman, Docker, and Kubernetes to run VM images.

Primary LanguageRustGNU General Public License v2.0GPL-2.0

The crun-vm OCI Runtime

crun-vm is an OCI Runtime that enables Podman, Docker, and Kubernetes to run QEMU-compatible Virtual Machine (VM) images.

  • Run VMs as easily as you run containers.
  • Manage containers and VMs together using the same standard tooling.
  • No need for in-depth knowledge on virtualization technologies like libvirt or KubeVirt.

Major features

  • Use it with Podman, Docker, or Kubernetes.
  • Launch VMs from VM image files present on the host or packaged into container images.
  • Control VM CPU and memory allocation.
  • Provide cloud-init and Ignition configurations to VMs.
  • Mount directories into VMs.
  • Pass block devices through to VMs.
  • Expose qcow2 files and other disk images to VMs as block devices.
  • Forward ports from the host to VMs.
  • podman exec/docker exec/kubectl exec into VMs.

Documentation

  1. Installing crun-vm
  2. Using crun-vm as a Podman or Docker runtime
  3. Using crun-vm as a Kubernetes runtime

License

This project is released under the GPL 2.0 (or later) license. See LICENSE.