test/cluster: Use a persistent SSH connection

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
website: TWIF

TWIF 12/22/14

Signed-off-by: Dominic Serio <dominic@flynn.io>
Merge pull request #641 from flynn/TWIF

website: TWIF
pinkerton: Use HTTPAuth if Token is not available.

* Rename setToken to setAuth.
- Priority goes to Token if available, if not
- Check if HTTPAuth credentials are supplied and use them in the
  headers.

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Merge pull request #642 from siminm/master

Use HTTPAuth if Token is not available.
Merge pull request #640 from flynn/ci-ssh

test/cluster: Use a persistent SSH connection
Godeps: Bump docker

This is specifically for the race fix in docker/docker@2540765ddc8889e2757f9ccfbfe852074b61601c

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Merge pull request #646 from flynn/update-docker

Godeps: Bump docker
dashboard: Move apps list header into own view component

Signed-off-by: Jesse Stuart <jesse@jessestuart.ca>
Merge pull request #648 from flynn/dashboard-refactor

dashboard: Move apps list header into own view component
test,util/packer: Add ZFS to vm images.

Signed-off-by: Eric Myhre <eric@flynn.io>
test,util/packer: Describe each apt key as they are registered in bootstrap scripts.

Signed-off-by: Eric Myhre <eric@flynn.io>
Merge pull request #625 from flynn/add-zfs-to-vm-images

Add ZFS to vm images.
host/ports: Add missing mutex lock

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
host: Fix race in image layer handling

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
pkg/iotool: Add io tools package with a thread-safe io.Writer

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
test: Use SafeWriter to avoid races

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
host/ports: Defer mutex unlock for consistency

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Merge pull request #645 from flynn/fix-races

Fix races
host: Unlock write mutex when attach fails

If this mutex doesn’t get unlocked, the error write will hang trying to
lock at L175.

In practice this was happening when getting the logs for interactive and
non-existent jobs.

Closes #444

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>