Skip to content
@unikraft

Unikraft

A Unikernel Development Kit. Extreme Specialization for Security and Performance.
Unikraft logo

The fast, secure and open-source
Unikernel Development Kit

Unikraft powers the next-generation of cloud native, containerless applications by enabling you to radically customize and build custom OS/kernels; unlocking best-in-class performance, security primitives and efficiency savings.

Homepage · Documentation · Report Bug · Feature Request · Join Our Discord · X.com



Features

  • Instantaneous Cold-boots

    • While Linux-based systems might take tens of seconds to boot, Unikraft will be up in milliseconds.
  • Modular Design 🧩

    • Unikraft boasts a modular design approach, allowing developers to include only necessary components, resulting in leaner and more efficient operating system configurations.
  • Optimized for Performance 🚀

    • Built for performance, Unikraft minimizes overheads and leverages platform-specific optimizations, ensuring applications achieve peak performance levels.
  • Flexible Architecture Support 💻

    • With support for multiple hardware architectures including x86, ARM, (and soon RISC-V), Unikraft offers flexibility in deployment across diverse hardware platforms.
  • Broad Language and Application Support 📚

    • Unikraft offers extensive support for multiple programming languages and hardware architectures, providing developers with the flexibility to choose the tools and platforms that best suit your needs.
  • Cloud and Edge Compatibility ☁️

    • Designed for cloud and edge computing environments, Unikraft enables seamless deployment of applications across distributed computing infrastructures.
  • Reduced Attack Surface 🛡️

    • By selectively including only necessary components, Unikraft reduces the attack surface, enhancing security in deployment scenarios. Unikraft also includes many [additional modern security features][unikraft-security-features].
  • Developer Friendly 🛠️

    • Unikraft's intuitive toolchain and user-friendly interface simplify the development process, allowing developers to focus on building innovative solutions.
  • Efficient Resource Utilization 🪶

    • Unikraft optimizes resource utilization, leading to smaller footprints (meaning higher server saturation) and improved efficiency in resource-constrained environments.
  • Community-Driven Development 👥

    • Unikraft is an open-source project driven by a vibrant community of over 100 developers, fostering collaboration and innovation from industry and academia.

Quick Start

Install the companion command-line client [kraft][kraft]:

# Install on macOS, Linux, and Windows:
curl -sSfL https://get.kraftkit.sh | sh

See [additional installation instructions][unikraft-cli-install].

Run your first ultra-lightweight unikernel virtual machine:

kraft run unikraft.org/helloworld:latest

View its status and manage multiple instances:

kraft ps --all

View the community image catalog in your CLI for more apps:

kraft pkg ls --update --apps

Or browse through one of the many [starter example projects][unikraft-catalog-examples].

Get Started

Getting started with Unikraft is easy. Yet, there are so many things to learn and explore! We recommend to choose a focus area first to get started:

Community

Looking to get involved? Contributions are welcome! There are weekly communitiy meetings on our Discord server which follow on-going projects. There are also unclaimed projects, open issues, and opportunities for bachelors and masters theses.

Affiliation

Unikraft is a member of the Linux Foundation and is a Xen Project Incubator Project. The Unikraft name, logo and its mascot are trademark of Unikraft GmbH.


LinuxFoundation logo     XenProject logo

Pinned Loading

  1. unikraft unikraft Public

    A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.

    C 2.9k 1.5k

  2. kraftkit kraftkit Public

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

    Go 250 65

  3. meeting-notes meeting-notes Public

    Archive of Unikraft Technical Meetings.

    4 19

  4. catalog catalog Public

    Unikraft Applications & Examples Catalog

    Dockerfile 41 40

Repositories

Showing 10 of 166 repositories
  • kraftkit Public

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

    unikraft/kraftkit’s past year of commit activity
    Go 250 BSD-3-Clause 65 70 38 Updated Dec 12, 2024
  • fork-glibc Public Forked from bminor/glibc

    Unofficial mirror of sourceware glibc repository. Updated daily.

    unikraft/fork-glibc’s past year of commit activity
    C 0 GPL-2.0 404 0 0 Updated Dec 12, 2024
  • unikraft Public

    A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.

    unikraft/unikraft’s past year of commit activity
    C 2,883 1,479 191 110 Updated Dec 12, 2024
  • governance Public

    Documentation and automation for the Unikraft project governance model.

    unikraft/governance’s past year of commit activity
    Go 6 6 15 2 Updated Dec 10, 2024
  • app-elfloader Public

    Load and execute Linux ELF binaries

    unikraft/app-elfloader’s past year of commit activity
    C 25 31 14 12 Updated Dec 10, 2024
  • docs Public

    The front page and documentation for the Unikraft Open-Source Project.

    unikraft/docs’s past year of commit activity
    MDX 33 86 37 (4 issues need help) 28 Updated Dec 7, 2024
  • fork-musl Public Forked from bminor/musl

    Unofficial mirror of etalabs musl repository. Updated daily.

    unikraft/fork-musl’s past year of commit activity
    C 1 133 0 0 Updated Dec 6, 2024
  • catalog-core Public

    Catalog of applications using first principles tools

    unikraft/catalog-core’s past year of commit activity
    C 2 10 12 6 Updated Dec 3, 2024
  • unikraft/fork-lwip’s past year of commit activity
    C 0 412 0 1 Updated Nov 29, 2024
  • catalog Public

    Unikraft Applications & Examples Catalog

    unikraft/catalog’s past year of commit activity
    Dockerfile 41 40 10 20 Updated Nov 27, 2024