/kraftkit

Build and use highly customized and ultra-lightweight unikernel VMs.

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

KraftKit 🚀🐒🧰

Go Report Card

Kraftkit is a suite of tools and framework for building custom, minimal, immutable lightweight virtual machines based on Unikraft. With Kraftkitt, you can use unikernels at every of their lifecycle: from construction to production.

You can quickly and easily install KraftKit using the interactive installer. Simply run the following command to get started:

curl --proto '=https' --tlsv1.2 -sSf https://get.kraftkit.sh | sh

Alternatively you can download the binaries from the releases pages.

Quick-start

Building a unikernel with KraftKit is designed to be simple, simply add a Kraftfile to your project directory, which specifies the libraries needed for your unikernel:

specification: v0.5

unikraft: stable

libraries:
  newlib: stable

targets:
  - name: default
    architecture: x86_64
    platform: kvm

You can also add an additional Makefile.uk which specifies any source files:

$(eval $(call addlib,apphelloworld))

APPHELLOWORLD_SRCS-y += $(APPHELLOWORLD_BASE)/main.c

Then it is a case of running:

cd path/to/workdir

kraft pkg update
kraft build

You can run your unikernel using:

kraft run

License

KraftKit is part of the Unikraft OSS Project and licensed under BSD-3-Clause.