Hi all, Few weeks back we ran into the rumprun project and started to play with it, for science. We mostly work with big microservice architectures, conventionally deployed on AWS/GCP clouds so we immediately saw the value of unikernels in general. Working on a few embedded projects (kinda IoT) also added to interest (put 2GB of ubuntu on a piece of metal to run an embedded app is as silly as silly gets).
After getting the whole setup up and running and building a few libraries, apps and doing some fixes on gorump (as we mostly code in C++ and Go, gorump by Defer Panic guys is a great project), we realized that the whole process is rather complex for your average developer, making the popularization of the project a tad difficult to say the least. With the whole Docker hype, popularization is a necessary evil. So, we decided to put our web app development experience to good use and "ascalia" was born - a weekend side-project by 4 of us aiming to automatize the rumprun kernel building. As all side-projects, it turned out a bit more than just that, with a lot more plans for the future :) Currently, you can just pack your static website (static, jekyll or clay) together with rumprun-packed nginx and download binary for XEN, HW or Amazon AMI. We use the rumprun toolchain so XEN & HW were not a problem, but building the AMI turned out to be a more complex task. In the end we managed somehow so after a few minutes you get a link to AMI image on AWS which you can use to spawn an EC2 instance! Build process is similar to what you see on CI sites like Travis so it should be pretty straightforward. Our next plans: - host the XEN binary on our server (we run on bare-metal) - build Go (gorump) apps - build other apps (C, nodejs, rb...) - ... :) Ultimate idea is to pack for embedded platforms like Raspberry Pi, BeagleBone or any IoT platform. We're currently mostly 'closed source' for one simple reason - project turned out to be in 4 repos, pretty closely coupled and honestly - ugly. We're going to clean it up in the following days and open-source as we go along. Only one piece of the puzzle is open-source currently, https://github.com/ascaliaio/rumpacker and even that's not complete (piece of the puzzle is still in another app). Technically, site is something our frontend guys put together, mostly jquery and some other hipster tech. Backend is made out of 3 components: - packer web app, written in Go, handling the interface, github login etc. - ascalia app, also in Go, pretty much a simple state-machine consuming build jobs (NO CONCURRENCY FOR NOW - because AMI building requires a live EC2 instance) - rumpacker, library in Go which currently handles only AMI building but we will cut-out actual packing out of ascalia-app and put it into this lib There it is... Please give it a try, comment, suggest, shit on it, help out... :) Site: http://ascalia.io Packing app direct link: http://packer.ascalia.io You can file any issues here: https://github.com/ascaliaio/rumpacker/issues Keep in mind this is 'first release' and we did it as a side-project. Even though we built and packed tens of different sites, we expect a lot of things will crash. Please report any issues, bugs and problems. We'll also review all of the failed job logs. Thanks, let us know what you think! Marin
