Node binaries updated

  • From: David Halls <dahalls@xxxxxxxxx>
  • To: rumpkernel-users <rumpkernel-users@xxxxxxxxxxxxx>
  • Date: Thu, 18 Feb 2016 21:32:40 +0000

I've updated the Node binaries for Rumprun on unikernel.teksilo.com.
Versions 4.3.0 (LTS) and 5.6.0 are now available.

First, you'll need to upgrade dtuf:

$ pip install --upgrade python-dtuf

(The reason is that I've upgraded teksilo's Docker registry to v2.3.0.
This version of the registry has a new manifest schema (v2). I've decided to
drop support for schema v1 because I have no legacy to support and if I do
it
now then I won't have to do the compatibility dance forever.)

If you haven't already set up trust for my Node repo, then do so (make sure
you're happy this is my public key):

$ pkey_url=
https://raw.githubusercontent.com/davedoesdev/dtuf-keys/master/unikernel.teksilo.com/teksilo/node/root_key.pub
$ curl $pkey_url | dtuf pull-metadata teksilo/node -

Otherwise you can just:

$ dtuf pull-metadata teksilo/node

You should see a list of files you haven't downloaded yet, e.g.

5.3.0-x86_64-rumprun-netbsd-hw_generic
5.6.0-x86_64-rumprun-netbsd-hw_generic
4.2.4-x86_64-rumprun-netbsd-hw_generic
4.3.0-x86_64-rumprun-netbsd-hw_generic

Download one and run it:

$ dtuf pull-target teksilo/node 4.3.0-x86_64-rumprun-netbsd-hw_generic >
node
$ qemu-system-x86_64 -enable-kvm -m 256 -kernel node -append '{"cmdline":
"node"}'

This should display "Hello, Rump!". You can also pass a filesytem
containing a
Node application. For example, to run the Express "Hello World" example:

$ curl -L https://github.com/strongloop/express/archive/4.13.3.tar.gz ;| tar
-zx
$ (cd express-4.13.3; npm install)
$ genisoimage -l -r -o express.iso express-4.13.3
$ qemu-system-x86_64 -enable-kvm -m 256 -kernel node -drive
if=virtio,file=express.iso -net nic,model=virtio -net
user,hostfwd=tcp::3000-:3000 -append '{"net": {"if": "vioif0",, "type":
"inet",, "method":"dhcp"},, "blk": {"source": "dev",, "path": "/dev/ld0a",,
"fstype": "blk",, "mountpoint": "/express"},, "cmdline": "node
/express/examples/hello-world/index.js"}'

And point your browser to http://localhost:3000. For some fun examples, see
https://github.com/rumpkernel/rumprun-packages/tree/master/nodejs#some-fun-examples
but you should be able run any Node application which doesn't rely on
native add-ons.

I hope to have Ghost (https://ghost.org/) available as a Rumprun binary
soon.

Other related posts: