Fetching the latest programs, projects, and workspace data.

A Fast and Secure Unikernel SDK
Showing 5 of 18 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Radu Andrei
The Unikraft ports for popular applications like Redis and Nginx are currently outdated and fail to compile with the latest kernel core. This project solves this problem by updating the application glue code and implementing missing system calls in the ukposix compatibility layer. The main deliverables are fully working, stable, and benchmarked unikernel versions of Redis and Nginx. This work will also improve the overall POSIX support in Unikraft, making it easier to port other applications in the future.
Mentors: Student: vTusharr
This project expands the Unikraft application catalog by porting five widely used server applications across key infrastructure categories: DNSmasq , Lighttpd , Chrony , RabbitMQ , and Gitea , includes native Makefile.uk ports for C applications, binary compatibility support for Erlang and Go applications, and deployment configurations for QEMU, Firecracker, and Xen.
Mentors: Student: Jaidev Singh
This project adds Hyperlight as a new VMM backend in KraftKit, enabling Unikraft unikernels to run with `kraft run --plat hyperlight`. The work will introduce platform registration and a new Hyperlight driver in the machine layer, then implement the full machine lifecycle: create, start, stop, delete, inspect, list, logs, and watch. It will start with a minimal boot path for a basic kernel, then extend to networking and storage support where possible. By the end of the project, KraftKit will have first-class Hyperlight support, and users will be able to manage Hyperlight machines through the standard CLI workflow.
Mentors: Student: Cristian Andrei
The core external libraries that power Unikraft (musl, lwip, and gcc) are currently a few years out of date. This creates technical debt and prevents developers from using modern C/C++ compiler features. The project aims to solve this by updating these critical libraries to their latest versions: musl to 1.2.5, lwip to 2.2.1, and gcc to 14.2.0. To ensure this update doesn't break existing projects, I will implement Unikraft's new Microlibrary Versioning RFC. Instead of completely overwriting the old libraries, I will add the modern versions as selectable options, allowing users to toggle between the legacy and updated toolchains safely. The core technical work will involve manually rebasing Unikraft's custom patches, fixing new compilation errors, and ensuring network stability. The final deliverables for this project will be: 1). Fully updated, patched, and integrated versions of lib-musl, lib-lwip, and lib-gcc running alongside their older counterparts. 2). Verified stability for complex catalog-core applications (like SQLite, Nginx, and Redis) built using the new toolchain. 3). Documentation explaining how users can seamlessly switch their projects between the legacy and modern library versions.
Mentors: Student: Shashank Srivastava
I have to develop a testing framework that is able to multiplex the variety of configuration options, VMMs, hypervisors, architectures, boot protocols, to validate the successful building and running of unikernel images. This framework can configure, build, run and test the variety of Unikraft builds. It is written in Python and is subject to improvements and refactoring. I must augment the testing infrastructure to make it seamless to be used by Unikraft developers and users. To this end we aim to: • Consolidate the testing framework as a separate project inside its own repository. • Have the testing framework work out-of-the-box with the catalog and catalog-core repositories. • Integrate the testing framework with the CI/CD system used in the Unikraft organization repositories to automatically validate builds for contributions. Tests are to be triggered each time a pull request is open in the unikraft and in core library repositories.