Set default values for the config vars, which will be used in the case of an env var not being set, and copy all existing env vars in the case of an update.

This commit is contained in:
Pagan Gazzard 2014-07-15 17:51:20 +01:00 committed by Pablo Carranza Vélez
parent c03a51d404
commit c436d8d5c0
2 changed files with 8 additions and 21 deletions

View File

@ -1,20 +1,8 @@
module.exports = config =
apiEndpoint: process.env.API_ENDPOINT
registryEndpoint: process.env.REGISTRY_ENDPOINT
apiEndpoint: process.env.API_ENDPOINT ? 'https://api.resin.io'
registryEndpoint: process.env.REGISTRY_ENDPOINT ? 'registry.resin.io'
pubnub:
subscribe_key: process.env.PUBNUB_SUBSCRIBE_KEY
publish_key: process.env.PUBNUB_PUBLISH_KEY
mixpanelToken: process.env.MIXPANEL_TOKEN
dockerSocket: '/run/docker.sock'
expectedEnvVars: [
'API_ENDPOINT'
'REGISTRY_ENDPOINT'
'MIXPANEL_TOKEN'
'PUBNUB_SUBSCRIBE_KEY'
'PUBNUB_PUBLISH_KEY'
]
# A check that all variables are set and notify the user if not
for envVar in config.expectedEnvVars when !process.env[envVar]?
console.error('Cannot find env var:', envVar)
subscribe_key: process.env.PUBNUB_SUBSCRIBE_KEY ? 'sub-c-bananas'
publish_key: process.env.PUBNUB_PUBLISH_KEY ? 'pub-c-bananas'
mixpanelToken: process.env.MIXPANEL_TOKEN ? 'bananasbananas'
dockerSocket: process.env.DOCKER_SOCKET ? '/run/docker.sock'

View File

@ -60,9 +60,8 @@ exports.update = ->
'/data': '/var/lib/docker/data'
'/run/docker.sock': '/var/run/docker.sock'
'/mnt/fib_trie': '/proc/net/fib_trie'
Env:
for envVar in config.expectedEnvVars
envVar + '=' + process.env[envVar]
# Copy the env vars directly from the current container - using both upper/lower case to account for different docker versions.
Env: localImageInfo.Env ? localImageInfo.env
)
.then (container) ->
console.log('Starting updated supervisor container:', localImage)