diff --git a/src/addons.js b/src/addons.js index c2727f9eb..9e75c465a 100644 --- a/src/addons.js +++ b/src/addons.js @@ -1,8 +1,6 @@ 'use strict'; exports = module.exports = { - initialize: initialize, - setupAddons: setupAddons, teardownAddons: teardownAddons, backupAddons: backupAddons, @@ -21,7 +19,6 @@ exports = module.exports = { var appdb = require('./appdb.js'), assert = require('assert'), async = require('async'), - certificates = require('./certificates.js'), clientdb = require('./clientdb.js'), config = require('./config.js'), DatabaseError = require('./databaseerror.js'), @@ -124,8 +121,7 @@ var KNOWN_ADDONS = { } }; -var RMAPPDIR_CMD = path.join(__dirname, 'scripts/rmappdir.sh'), - SETUP_INFRA_CMD = path.join(__dirname, 'scripts/setup_infra.sh');; +var RMAPPDIR_CMD = path.join(__dirname, 'scripts/rmappdir.sh'); function debugApp(app, args) { assert(!app || typeof app === 'object'); @@ -134,17 +130,6 @@ function debugApp(app, args) { debug(prefix + ' ' + util.format.apply(util, Array.prototype.slice.call(arguments, 1))); } -function initialize(callback) { - if (process.env.BOX_ENV === 'test' && !process.env.CREATE_INFRA) return callback(); - - debug('initializing addon infrastructure'); - certificates.getAdminCertificatePath(function (error, certFilePath, keyFilePath) { - if (error) return callback(error); - - shell.sudo('seutp_infra', [ SETUP_INFRA_CMD, paths.DATA_DIR, config.fqdn(), config.adminFqdn(), certFilePath, keyFilePath, config.database().name, config.database().password ], callback); - }); -} - function setupAddons(app, addons, callback) { assert.strictEqual(typeof app, 'object'); assert(!addons || typeof addons === 'object'); diff --git a/src/platform.js b/src/platform.js new file mode 100644 index 000000000..ad3ad1a4f --- /dev/null +++ b/src/platform.js @@ -0,0 +1,25 @@ +'use strict'; + +exports = module.exports = { + initialize: initialize +}; + +var config = require('./config.js'), + certificates = require('./certificates.js'), + debug = require('debug')('box:platform'), + path = require('path'), + paths = require('./paths.js'), + shell = require('./shell.js'); + +var SETUP_INFRA_CMD = path.join(__dirname, 'scripts/setup_infra.sh'); + +function initialize(callback) { + if (process.env.BOX_ENV === 'test' && !process.env.CREATE_INFRA) return callback(); + + debug('initializing addon infrastructure'); + certificates.getAdminCertificatePath(function (error, certFilePath, keyFilePath) { + if (error) return callback(error); + + shell.sudo('seutp_infra', [ SETUP_INFRA_CMD, paths.DATA_DIR, config.fqdn(), config.adminFqdn(), certFilePath, keyFilePath, config.database().name, config.database().password ], callback); + }); +} diff --git a/src/server.js b/src/server.js index 6b0ec1abf..98f5023c8 100644 --- a/src/server.js +++ b/src/server.js @@ -5,8 +5,7 @@ exports = module.exports = { stop: stop }; -var addons = require('./addons.js'), - assert = require('assert'), +var assert = require('assert'), async = require('async'), auth = require('./auth.js'), certificates = require('./certificates.js'), @@ -22,6 +21,7 @@ var addons = require('./addons.js'), middleware = require('./middleware'), passport = require('passport'), path = require('path'), + platform = require('./platform.js'), routes = require('./routes/index.js'), taskmanager = require('./taskmanager.js'); @@ -257,7 +257,7 @@ function start(callback) { database.initialize, cloudron.initialize, // keep this here because it reads activation state that others depend on certificates.installAdminCertificate, // keep this before cron to block heartbeats until cert is ready - addons.initialize, // starts the addons + platform.initialize, taskmanager.initialize, mailer.initialize, cron.initialize,