diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 0638a177d..b1f5d3e9c 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -787,16 +787,16 @@ "from": "fstream-ignore@>=1.0.3 <1.1.0", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.4.tgz" }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, "gauge": { "version": "1.2.7", "from": "gauge@>=1.2.5 <1.3.0", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, "generate-object-property": { "version": "1.2.0", "from": "generate-object-property@>=1.1.0 <2.0.0", @@ -807,16 +807,16 @@ "from": "glob@>=7.0.0 <8.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz" }, - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - }, "graceful-fs": { "version": "4.1.4", "from": "graceful-fs@>=4.1.2 <5.0.0", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" }, + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + }, "har-validator": { "version": "2.0.6", "from": "har-validator@>=2.0.6 <2.1.0", @@ -927,16 +927,16 @@ "from": "lodash._basetostring@>=4.12.0 <4.13.0", "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" }, - "lodash.padend": { - "version": "4.5.0", - "from": "lodash.padend@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz" - }, "lodash.pad": { "version": "4.4.0", "from": "lodash.pad@>=4.1.0 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz" }, + "lodash.padend": { + "version": "4.5.0", + "from": "lodash.padend@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz" + }, "lodash.padstart": { "version": "4.5.0", "from": "lodash.padstart@>=4.1.0 <5.0.0", @@ -957,6 +957,11 @@ "from": "mime-types@>=2.1.7 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" }, + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + }, "minimist": { "version": "0.0.8", "from": "minimist@0.0.8", @@ -972,11 +977,6 @@ "from": "ms@0.7.1", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, - "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" - }, "node-uuid": { "version": "1.4.7", "from": "node-uuid@>=1.4.7 <1.5.0", @@ -1007,16 +1007,16 @@ "from": "path-is-absolute@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - }, "pinkie": { "version": "2.0.4", "from": "pinkie@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + }, "process-nextick-args": { "version": "1.0.7", "from": "process-nextick-args@>=1.0.6 <1.1.0", @@ -1057,16 +1057,16 @@ "from": "string_decoder@>=0.10.0 <0.11.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, - "stringstream": { - "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, "strip-ansi": { "version": "3.0.1", "from": "strip-ansi@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, "strip-json-comments": { "version": "1.0.4", "from": "strip-json-comments@>=1.0.4 <1.1.0", @@ -1097,16 +1097,16 @@ "from": "tweetnacl@>=0.13.0 <0.14.0", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, "uid-number": { "version": "0.0.6", "from": "uid-number@>=0.0.6 <0.1.0", "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, "verror": { "version": "1.3.6", "from": "verror@1.3.6", @@ -1625,6 +1625,11 @@ "from": "hat@0.0.3", "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz" }, + "ini": { + "version": "1.3.4", + "from": "ini@*", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" + }, "json": { "version": "9.0.3", "from": "json@>=9.0.3 <10.0.0", diff --git a/package.json b/package.json index c339e39dd..5f66ae4d4 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "express": "^4.12.4", "express-session": "^1.11.3", "hat": "0.0.3", + "ini": "^1.3.4", "json": "^9.0.3", "ldapjs": "^0.7.1", "mime": "^1.3.4", diff --git a/src/platform.js b/src/platform.js index f252dc4d3..8f8b03c0f 100644 --- a/src/platform.js +++ b/src/platform.js @@ -11,6 +11,7 @@ var apps = require('./apps.js'), debug = require('debug')('box:platform'), fs = require('fs'), infra = require('./infra_version.js'), + ini = require('ini'), path = require('path'), paths = require('./paths.js'), safe = require('safetydance'), @@ -19,6 +20,8 @@ var apps = require('./apps.js'), var SETUP_INFRA_CMD = path.join(__dirname, 'scripts/setup_infra.sh'); +var gAddonVars = null; + function initialize(callback) { if (process.env.BOX_ENV === 'test' && !process.env.CREATE_INFRA) return callback(); @@ -53,6 +56,8 @@ function initialize(callback) { fs.writeFileSync(paths.INFRA_VERSION_FILE, JSON.stringify(infra)); + loadAddonVarsSync(); + callback(); }); }); @@ -91,3 +96,12 @@ function startAddons(callback) { }); }); } + +function loadAddonVarsSync() { + gAddonVars = { + mail: ini.parse(fs.readFileSync(paths.DATA_DIR + '/addons/mail_vars.sh', 'utf8')), + postgresql: ini.parse(fs.readFileSync(paths.DATA_DIR + '/addons/postgresql_vars.sh', 'utf8')), + mysql: ini.parse(fs.readFileSync(paths.DATA_DIR + '/addons/mysql_vars.sh', 'utf8')), + mongodb: ini.parse(fs.readFileSync(paths.DATA_DIR + '/addons/mongodb_vars.sh', 'utf8')) + }; +} diff --git a/src/scripts/setup_infra.sh b/src/scripts/setup_infra.sh index 41b825d27..6d3e9ca0f 100755 --- a/src/scripts/setup_infra.sh +++ b/src/scripts/setup_infra.sh @@ -40,8 +40,8 @@ echo "Graphite container id: ${graphite_container_id}" readonly mail_image=$(node -e "console.log(require('${infra_version}').images.mail.tag);") mail_addon_root_password=$(pwgen -1 -s) cat > "${data_dir}/addons/mail_vars.sh" < "${data_dir}/addons/mysql_vars.sh" < "${data_dir}/addons/postgresql_vars.sh" < "${data_dir}/addons/mongodb_vars.sh" <