Please see for the "modern" version of this project.
Erlang Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Important note:

This is a historical archive! Please do not use it any more. Instead, please see udon_ng for the modern version of this same project with support for OTP 18 and 19. OTP 20 support is not completely finished but should be available soon. Thanks.

Original README below

udon: a distributed static file web server

Udon is a static file web service, generally intended to be used at the edge of a network to serve static assets for websites like CSS files, javascript, images or other content which does not change frequently or is dynamically part of the web application state.

It's also built on top of riak_core and provides a simple application which is intended to introduce the kinds of programming that's required to implement a riak_core application including handoff logic between vnodes. I wrote this as a tool to teach for Erlang Factory SF 2015.

Slides and video

The slides can be found on SpeakerDeck.

The video for the talk is available on YouTube.


Make sure you have Erlang 17+ installed and operational. You also will need a working C++ compiler and GNU make. Clone the repo.

$ cd udon 
$ make devrel

Building a cluster

$ for d in dev/*; do $d/bin/udon start; done
$ dev/dev2/bin/udon-admin cluster join udon1@
$ dev/dev3/bin/udon-admin cluster join udon1@
$ dev/dev4/bin/udon-admin cluster join udon1@
$ dev/dev1/bin/udon-admin cluster plan
$ dev/dev1/bin/udon-admin cluster commit
$ dev/dev1/bin/udon-admin member-status


$ dev/dev1/bin/udon attach
udon1@> udon:store("test", <<"foo">>).