The Unikernel & MicroVM Compilation and Deployment Platform
Branch: master
Clone or download
urjitbhatia and yuval-k Remove cgo build tag from stop_instance.go firecracker provider (#180)
Seems like it was copy/pasted by mistake but causing builds to fail because build dont enable CGO by default.
Removing it because it doesnt seem like it is needed in that file
Latest commit 3cf1c10 Dec 31, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd github.com/Sirupsen/logrus -> github.com/sirupsen/logrus Nov 30, 2018
containers setup lo interface in compiler Nov 30, 2018
docs fix link to daemon.go in compilers readme (#177) Dec 16, 2018
instance-listener Merge pull request #141 from sguyennet/master Mar 17, 2018
pkg Remove cgo build tag from stop_instance.go firecracker provider (#180) Dec 31, 2018
test github.com/Sirupsen/logrus -> github.com/sirupsen/logrus Nov 30, 2018
vendor bumped go version in docker file; migrated Godeps to vendor; made cha… Dec 8, 2018
.gitignore gitignore Nov 18, 2016
.gitmodules add example as submodule, update container versions for push Jul 28, 2016
Dockerfile bumped go version in docker file; migrated Godeps to vendor; made cha… Dec 8, 2018
Gopkg.lock bumped go version in docker file; migrated Godeps to vendor; made cha… Dec 8, 2018
Gopkg.toml bumped go version in docker file; migrated Godeps to vendor; made cha… Dec 8, 2018
LICENSE Update LICENSE Apr 29, 2016
Makefile firecracker compiler Nov 30, 2018
README.md Update README.md Dec 1, 2018
print_old_containers.sh make scripts executable Oct 20, 2016
push_containers.sh make scripts executable Oct 20, 2016
unik.go

README.md

Build and run unikernels

A platform for automating unikernel & MicroVM compilation and deployment


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

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

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

UniK is built to be easily extensible, allowing (and encouraging) adding support for unikernel/MicroVM 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 (Slides). We also encourage you to read this blog about IoT Security.

To stay up-to-date on UniK, follow us at twitter 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 in our unversioned changelog.


Documentation


Supported unikernel types:

  • AWS Firecracker: UniK supports compiling GO code into AWS Firecracker MicroVMs
  • rump: UniK supports compiling Python, Node.js and Go code into rumprun unikernels
  • OSv: UniK supports compiling Java, Node.js, C and C++ code into OSv unikernels
  • IncludeOS: UniK supports compiling C++ code into IncludeOS unikernels
  • MirageOS: UniK supports compiling OCaml, code into MirageOS unikernels

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

Supported providers:

Roadmap:

  • extend unik to build & deploy Kata Containers
  • extend unik to build & deploy FreeRTOS
  • extend unik to build & deploy LinuxKit
  • dynamic volume and application arguments configuration at instance runtime (rather than at compile time)
  • expanding test coverage
  • better code documentation
  • multi-account support per provider (i.e. multiple AWS accounts/regions, etc.)
  • migrate from martini to echo

UniK is still experimental! APIs and compatibility are 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 AWS Firecracker, rumprun, deferpanic, cloudius systems, mirageos and includeOS.