 es = require 'event-stream'
+utils = require './utils'
+config = require './config'
 Docker = require 'dockerode'
 Promise = require 'bluebird'
 JSONStream = require 'JSONStream'
-config = require './config'
 
 
 docker = Promise.promisifyAll(new Docker(socketPath: config.dockerSocket))

supervisorUpdating = Promise.resolve()
exports.update = ->
	# Make sure only one attempt to update the full supervisor is running at a time, ignoring any errors from previous update attempts
	supervisorUpdating = supervisorUpdating.catch(->).then -> 
		console.log('Fetching supervisor:', remoteImage)
		docker.createImageAsync(fromImage: remoteImage)
	.then (stream) ->

		])
	.spread (localImageInfo, currentSupervisorImage) ->
		if localImageInfo.id == currentSupervisorImage
			utils.mixpanelTrack('Supervisor up to date')
			console.log('Supervisor is up to date')
			return
		utils.mixpanelTrack('Supervisor update start', image: localImageInfo.id)
		console.log('Creating updated supervisor container:', localImage)
		docker.createContainerAsync(
			Image: localImage
