playground: Update to new Go IPC API in go/vcl/6373

The files are all under testdata and with OMIT build tags.  But
I'm pretty sure that I've left it no worse than it was
previously.

Change-Id: I3ea100d51e6b2e01165acfd828d8be38be4c1674
3 files changed
tree: c6753cd8cbbe73e6cd5b9122b7a8a1582ef80874
  1. builder/
  2. compilerd/
  3. event/
  4. testdata/
  5. .gitignore
  6. monitor.py
  7. README.md
  8. test.sh
README.md

Building a Docker image and running the playground server locally

Docker setup

Install Docker:

On Goobuntu, we recommend overriding the default graph dir (/var/lib/docker) to avoid filling up the root filesystem partition, which is quite small. To do so, add the following line to your /etc/default/docker:

DOCKER_OPTS="${DOCKER_OPTS} -g /usr/local/google/docker"

Start (or restart) the Docker daemon:

$ sudo service docker restart

Build the playground Docker image (this will take a while...):

$ cp ~/.netrc $VEYRON_ROOT/veyron/go/src/veyron.io/playground/builder/netrc
$ sudo docker build -t playground $VEYRON_ROOT/veyron/go/src/veyron.io/playground/builder/.

Note: If you want to ensure an up-to-date version of veyron is installed in the Docker image, run the above command with the “--no-cache” flag.

Test your image (without running compilerd):

$ sudo docker run -i playground < /usr/local/google/home/sadovsky/dev/veyron-www/content/playgrounds/code/fortune/ex0-go/bundle.json

Running the playground server (compilerd)

Install the playground binaries:

$ veyron go install veyron.io/playground/...

Run the compiler binary as root:

$ sudo $VEYRON_ROOT/veyron/go/bin/compilerd --shutdown=false --address=localhost:8181

Or, run it without Docker (for faster iterations during development):

$ cd $(mktemp -d "/tmp/XXXXXXXX")
$ PATH=$VEYRON_ROOT/veyron/go/bin:$PATH compilerd --shutdown=false --address=localhost:8181 --use-docker=false

The server should now be running at http://localhost:8181 and responding to compile requests at http://localhost:8181/compile.

Add ?pgaddr=//localhost:8181 to any veyron-www page to make its embedded playgrounds talk to your server. Add ?debug=1 to see debug info from the builder.