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

  • over 3 years ago: jblainchristen liked this project.
  • over 3 years ago: danrodriguez liked this project.
  • over 3 years ago: dfaggioli liked this project.
  • over 3 years ago: jsevans liked this project.
  • over 3 years ago: dancermak liked this project.
  • over 3 years ago: ngerace started this project.
  • over 3 years ago: ngerace originated this project.

  • Comments

    • dfaggioli
      over 3 years 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
        over 3 years 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!