Project Description

krunvm is vagrant for lightweight, isolated VMs... well, at least mostly. Written in Rust, this CLI is provides fully isolated VMs using OCI images, including your favorite DockerHub images. This project involves creating a Kubernetes operator (using kube-rs to talk to the API server) that leverages the krunvm crate for creating lightweight, isolated VMs. Create a krunvm (name pending) custom resource and the operator will reconcile it.

Goal for this Hackweek

Get to a "pre-alpha" version of the operator where creating a custom resource kicks off an end-to-end workflow.

Resources

  • Rust
  • Kubernetes
  • krunvm
  • buildah
  • kube-rs
  • libkrun

Note

This is a solo project since I will be PTO during some parts of Hack Week. I look forward to sharing the results! add-emoji

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 20

Activity

  • 8 months ago: jblainchristen liked this project.
  • 9 months ago: danrodriguez liked this project.
  • 9 months ago: dfaggioli liked this project.
  • 9 months ago: jsevans liked this project.
  • 9 months ago: dancermak liked this project.
  • 9 months ago: ngerace started this project.
  • 9 months ago: ngerace originated this project.

  • Comments

    • dfaggioli
      9 months ago by dfaggioli | Reply

      This looks super interesting! So, I'm sure you know already, but just in case, we've just recently got libkrun, libkrunfw & krunvm packaged and included in Factory and in openSUSE Tumbleweed (and we're the first distro that did that, apparently! :-P)

      dario@Wayrath:~> zypper se {libkrun,krunvm}
      S | Name            | Summary                                                                  | Type
      --+-----------------+--------------------------------------------------------------------------+--------
        | krunvm          | Manage lightweight VMs created from OCI images                           | package
        | libkrun-devel   | Development files for libkrun                                            | package
        | libkrun0        | A dynamic library providing KVM-based process isolation capabilities     | package
        | libkrunfw-devel | Development library for libkrunfw                                        | package
        | libkrunfw0      | A dynamic library bundling a Linux kernel in a convenient storage format | package
      

      • ngerace
        9 months ago by ngerace | Reply

        Thank you @dfaggioli! I did not know that. I may just have to run the operator on k3s on Tumbleweed for demonstration :) (if it works lol)

    Similar Projects

    This project is one of its kind!