sandbox: use debian:jessie, add filesystem test, make image smaller

1. Don't use FROM golang, this gives more control over the versions that
are used.

2. Compress calls into one layer and remove bootstrap after it's used,
along with other unnecessary files. Saves about 500 MiB:
playground/sandbox                         703.3 MB
us.gcr.io/golang-org/appengine/sandbox.17  1.216 GB

I think more work can be done here.

3. Add a test for the fake filesystem.

Change-Id: I04d849c8bb81c67545e5528820df2838bfecff2f
Reviewed-on: https://go-review.googlesource.com/27237
Reviewed-by: Jessica Frazelle <me@jessfraz.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2 files changed
tree: 4dccad5673c8d544a4d1ec21af21066e995f1968
  1. app/
  2. sandbox/
  3. AUTHORS
  4. codereview.cfg
  5. CONTRIBUTING.md
  6. CONTRIBUTORS
  7. LICENSE
  8. PATENTS
  9. README.md
README.md

playground

This subrepository holds the source for various packages and tools that support the Go playground: https://play.golang.org/

To submit changes to this repository, see http://golang.org/doc/contribute.html.

Building

# build the sandbox image
docker build -t sandbox sandbox/

Running

# run the sandbox
docker run -d -p 8080:8080 sandbox
# get docker host ip, try boot2docker fallback on localhost.
DOCKER_HOST_IP=$(boot2docker ip || echo localhost)
# run go some code
cat /path/to/code.go | go run ./sandbox/client.go | curl --data @- $DOCKER_HOST_IP:8080/compile

To submit changes to this repository, see http://golang.org/doc/contribute.html.

Deployment

(Googlers only) To deploy the front-end, use play/deploy.sh.

gcloud --project golang-org app deploy sandbox/app.yaml --no-promote --version=17rc6

Use the Cloud Console's to set the new version as the default: https://cloud.google.com/console/appengine/versions?project=golang-org&moduleId=sandbox Then test that play.golang.org and tour.golang.org are working before deleting the old version.