Skip to content
/ unik Public
forked from solo-io/unik

The Unikernel Compilation and Deployment Platform

License

Notifications You must be signed in to change notification settings

akamalov/unik

 
 

Repository files navigation

Build and run unikernels

UniK (pronounced you-neek) is a tool for compiling application sources into unikernels (lightweight bootable disk images) rather than binaries.

UniK runs and manages instances of compiled images across a variety of cloud providers as well as locally on Virtualbox.

UniK utilizes a simple docker-like command line interface, making building unikernels as easy as building containers.

UniK is built to be easily extensible, allowing (and encouraging) adding support for unikernel compilers and cloud providers. See architecture for a better understanding of UniK's pluggable code design.

To learn more about the motivation behind project UniK, read our blog post or watch session.
To stay up-to-date on UniK, follow us @ProjectUnik and join us on our slack channel


Changelog:

Due to the frequency with which features and patches are applied to UniK, we have decided to list these changes by date an unversioned changelog.


Documentation


Supported unikernel types:

  • rump: UniK supports compiling C/C++, Node.js and Go code into rumprun unikernels
  • OSv: UniK supports compiling Java code into OSv unikernels

We are looking for community help to add support for more unikernel types and languages.

Supported providers:

Roadmap:

  • additional provider support including OpenStack
  • dynamic volume and application arguments configuration at instance runtime (rather than at compile time)
  • expanding test coverage
  • better code documentation
  • unik pull & unik push && unikhub for sharing unikernel images
  • multi-account support per provider (i.e. multiple AWS accounts/regions, etc.)
  • migrate from martini to echo
  • self-healing state (i.e. unik can identify when instances/imgaes/volumes no longer exist and self-correct rather than throwing errors)
  • ocaml support using MirageOs

UniK is still experimental! APIs and compatibility is subject to change. We are looking for community support to help identify potential bugs and compatibility issues. Please open a Github issue for any problems you may experience, and join us on our slack channel


Thanks

UniK would not be possible without the valuable open-source work of projects in the unikernel community. We would like to extend a special thank-you to rumpkernel, deferpanic, and cloudius systems.

About

The Unikernel Compilation and Deployment Platform

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 59.4%
  • Python 23.4%
  • Shell 8.0%
  • Java 4.6%
  • C 1.9%
  • Makefile 1.4%
  • JavaScript 1.3%