diff --git a/lib/cli.js b/lib/cli.js index d21d1bae..f103262f 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -72,7 +72,7 @@ program this.missingArgument('--storage-url') } - require('./roles/provider')({ + require('./units/provider')({ name: options.name , killTimeout: 10000 , heartbeatInterval: options.heartbeatInterval @@ -155,7 +155,7 @@ program this.missingArgument('--storage-url') } - require('./roles/device')({ + require('./units/device')({ serial: serial , provider: options.provider , ports: options.ports @@ -188,7 +188,7 @@ program this.missingArgument('--connect-dev-dealer') } - require('./roles/processor')({ + require('./units/processor')({ name: name , endpoints: { appDealer: options.connectAppDealer @@ -212,7 +212,7 @@ program , Number , 10000) .action(function(name, options) { - require('./roles/reaper')({ + require('./units/reaper')({ name: name , heartbeatTimeout: options.heartbeatTimeout , reapInterval: options.reapInterval @@ -238,7 +238,7 @@ program , String , 'tcp://*:7113') .action(function(name, options) { - require('./roles/triproxy')({ + require('./units/triproxy')({ name: name , endpoints: { pub: options.bindPub @@ -306,7 +306,7 @@ program this.missingArgument('--app-url') } - require('./roles/auth/ldap')({ + require('./units/auth/ldap')({ port: options.port , secret: options.secret , ssid: options.ssid @@ -354,7 +354,7 @@ program this.missingArgument('--app-url') } - require('./roles/auth/mock')({ + require('./units/auth/mock')({ port: options.port , secret: options.secret , ssid: options.ssid @@ -395,7 +395,7 @@ program this.missingArgument('--connect-sub') } - require('./roles/notify/hipchat')({ + require('./units/notify/hipchat')({ token: options.token , room: options.room , priority: options.priority @@ -458,7 +458,7 @@ program this.missingArgument('--storage-plugin-apk-url') } - require('./roles/app')({ + require('./units/app')({ port: options.port , secret: options.secret , ssid: options.ssid @@ -509,7 +509,7 @@ program this.missingArgument('--connect-push') } - require('./roles/websocket')({ + require('./units/websocket')({ port: options.port , secret: options.secret , ssid: options.ssid @@ -533,7 +533,7 @@ program , String , os.tmpdir()) .action(function(options) { - require('./roles/storage/temp')({ + require('./units/storage/temp')({ port: options.port , saveDir: options.saveDir }) @@ -561,7 +561,7 @@ program this.missingArgument('--storage-url') } - require('./roles/storage/plugins/image')({ + require('./units/storage/plugins/image')({ port: options.port , storageUrl: options.storageUrl , cacheDir: options.cacheDir @@ -588,7 +588,7 @@ program this.missingArgument('--storage-url') } - require('./roles/storage/plugins/apk')({ + require('./units/storage/plugins/apk')({ port: options.port , storageUrl: options.storageUrl , cacheDir: options.cacheDir diff --git a/lib/roles/device.js b/lib/roles/device.js deleted file mode 100644 index 2b8a3365..00000000 --- a/lib/roles/device.js +++ /dev/null @@ -1,54 +0,0 @@ -var syrup = require('syrup') - -var logger = require('../util/logger') -var lifecycle = require('../util/lifecycle') - -module.exports = function(options) { - // Show serial number in logs - logger.setGlobalIdentifier(options.serial) - - var log = logger.createLogger('device') - - return syrup.serial() - // We want to send logs before anything else starts happening - .dependency(require('./device/plugins/logger')) - .define(function(options) { - var log = logger.createLogger('device') - log.info('Preparing device') - return syrup.serial() - .dependency(require('./device/plugins/solo')) - .dependency(require('./device/plugins/screenshot')) - .dependency(require('./device/plugins/http')) - .dependency(require('./device/plugins/service')) - .dependency(require('./device/plugins/display')) - .dependency(require('./device/plugins/browser')) - .dependency(require('./device/plugins/store')) - .dependency(require('./device/plugins/clipboard')) - .dependency(require('./device/plugins/logcat')) - .dependency(require('./device/plugins/shell')) - .dependency(require('./device/plugins/touch')) - .dependency(require('./device/plugins/install')) - .dependency(require('./device/plugins/forward')) - .dependency(require('./device/plugins/group')) - .dependency(require('./device/plugins/reboot')) - .dependency(require('./device/plugins/connect')) - .dependency(require('./device/plugins/account')) - .dependency(require('./device/plugins/ringer')) - .dependency(require('./device/plugins/wifi')) - .dependency(require('./device/plugins/sd')) - .define(function(options, solo) { - if (process.send) { - // Only if we have a parent process - process.send('ready') - } - log.info('Fully operational') - return solo.poke() - }) - .consume(options) - }) - .consume(options) - .catch(function(err) { - log.fatal('Setup had an error', err.stack) - lifecycle.fatal() - }) -} diff --git a/lib/roles/app.js b/lib/units/app/index.js similarity index 91% rename from lib/roles/app.js rename to lib/units/app/index.js index cc9d4e79..d2ce2292 100644 --- a/lib/roles/app.js +++ b/lib/units/app/index.js @@ -11,17 +11,17 @@ var Promise = require('bluebird') var httpProxy = require('http-proxy') var compression = require('compression') -var logger = require('../util/logger') -var pathutil = require('../util/pathutil') -var dbapi = require('../db/api') -var datautil = require('../util/datautil') +var logger = require('../../util/logger') +var pathutil = require('../../util/pathutil') +var dbapi = require('../../db/api') +var datautil = require('../../util/datautil') -var auth = require('./app/middleware/auth') -var deviceIconMiddleware = require('./app/middleware/device-icons') -var browserIconMiddleware = require('./app/middleware/browser-icons') -var appstoreIconMiddleware = require('./app/middleware/appstore-icons') +var auth = require('./middleware/auth') +var deviceIconMiddleware = require('./middleware/device-icons') +var browserIconMiddleware = require('./middleware/browser-icons') +var appstoreIconMiddleware = require('./middleware/appstore-icons') -var webpackServerConfig = require('./../../webpack.config').webpackServer +var webpackServerConfig = require('./../../../webpack.config').webpackServer module.exports = function(options) { var log = logger.createLogger('app') @@ -48,7 +48,7 @@ module.exports = function(options) { } else { app.use('/static/app/build', - require('./app/middleware/webpack')(webpackServerConfig)) + require('./middleware/webpack')(webpackServerConfig)) } app.use('/static/bower_components', diff --git a/lib/roles/app/middleware/appstore-icons.js b/lib/units/app/middleware/appstore-icons.js similarity index 100% rename from lib/roles/app/middleware/appstore-icons.js rename to lib/units/app/middleware/appstore-icons.js diff --git a/lib/roles/app/middleware/auth.js b/lib/units/app/middleware/auth.js similarity index 100% rename from lib/roles/app/middleware/auth.js rename to lib/units/app/middleware/auth.js diff --git a/lib/roles/app/middleware/browser-icons.js b/lib/units/app/middleware/browser-icons.js similarity index 100% rename from lib/roles/app/middleware/browser-icons.js rename to lib/units/app/middleware/browser-icons.js diff --git a/lib/roles/app/middleware/device-icons.js b/lib/units/app/middleware/device-icons.js similarity index 100% rename from lib/roles/app/middleware/device-icons.js rename to lib/units/app/middleware/device-icons.js diff --git a/lib/roles/app/middleware/webpack.js b/lib/units/app/middleware/webpack.js similarity index 100% rename from lib/roles/app/middleware/webpack.js rename to lib/units/app/middleware/webpack.js diff --git a/lib/roles/auth/ldap.js b/lib/units/auth/ldap.js similarity index 100% rename from lib/roles/auth/ldap.js rename to lib/units/auth/ldap.js diff --git a/lib/roles/auth/mock.js b/lib/units/auth/mock.js similarity index 100% rename from lib/roles/auth/mock.js rename to lib/units/auth/mock.js diff --git a/lib/units/device/index.js b/lib/units/device/index.js new file mode 100644 index 00000000..c59f8ee2 --- /dev/null +++ b/lib/units/device/index.js @@ -0,0 +1,54 @@ +var syrup = require('syrup') + +var logger = require('../../util/logger') +var lifecycle = require('../../util/lifecycle') + +module.exports = function(options) { + // Show serial number in logs + logger.setGlobalIdentifier(options.serial) + + var log = logger.createLogger('device') + + return syrup.serial() + // We want to send logs before anything else starts happening + .dependency(require('./plugins/logger')) + .define(function(options) { + var log = logger.createLogger('device') + log.info('Preparing device') + return syrup.serial() + .dependency(require('./plugins/solo')) + .dependency(require('./plugins/screenshot')) + .dependency(require('./plugins/http')) + .dependency(require('./plugins/service')) + .dependency(require('./plugins/display')) + .dependency(require('./plugins/browser')) + .dependency(require('./plugins/store')) + .dependency(require('./plugins/clipboard')) + .dependency(require('./plugins/logcat')) + .dependency(require('./plugins/shell')) + .dependency(require('./plugins/touch')) + .dependency(require('./plugins/install')) + .dependency(require('./plugins/forward')) + .dependency(require('./plugins/group')) + .dependency(require('./plugins/reboot')) + .dependency(require('./plugins/connect')) + .dependency(require('./plugins/account')) + .dependency(require('./plugins/ringer')) + .dependency(require('./plugins/wifi')) + .dependency(require('./plugins/sd')) + .define(function(options, solo) { + if (process.send) { + // Only if we have a parent process + process.send('ready') + } + log.info('Fully operational') + return solo.poke() + }) + .consume(options) + }) + .consume(options) + .catch(function(err) { + log.fatal('Setup had an error', err.stack) + lifecycle.fatal() + }) +} diff --git a/lib/roles/device/plugins/account.js b/lib/units/device/plugins/account.js similarity index 100% rename from lib/roles/device/plugins/account.js rename to lib/units/device/plugins/account.js diff --git a/lib/roles/device/plugins/browser.js b/lib/units/device/plugins/browser.js similarity index 100% rename from lib/roles/device/plugins/browser.js rename to lib/units/device/plugins/browser.js diff --git a/lib/roles/device/plugins/clipboard.js b/lib/units/device/plugins/clipboard.js similarity index 100% rename from lib/roles/device/plugins/clipboard.js rename to lib/units/device/plugins/clipboard.js diff --git a/lib/roles/device/plugins/connect.js b/lib/units/device/plugins/connect.js similarity index 100% rename from lib/roles/device/plugins/connect.js rename to lib/units/device/plugins/connect.js diff --git a/lib/roles/device/plugins/data.js b/lib/units/device/plugins/data.js similarity index 100% rename from lib/roles/device/plugins/data.js rename to lib/units/device/plugins/data.js diff --git a/lib/roles/device/plugins/display.js b/lib/units/device/plugins/display.js similarity index 100% rename from lib/roles/device/plugins/display.js rename to lib/units/device/plugins/display.js diff --git a/lib/roles/device/plugins/forward.js b/lib/units/device/plugins/forward.js similarity index 100% rename from lib/roles/device/plugins/forward.js rename to lib/units/device/plugins/forward.js diff --git a/lib/roles/device/plugins/group.js b/lib/units/device/plugins/group.js similarity index 100% rename from lib/roles/device/plugins/group.js rename to lib/units/device/plugins/group.js diff --git a/lib/roles/device/plugins/http.js b/lib/units/device/plugins/http.js similarity index 100% rename from lib/roles/device/plugins/http.js rename to lib/units/device/plugins/http.js diff --git a/lib/roles/device/plugins/identity.js b/lib/units/device/plugins/identity.js similarity index 100% rename from lib/roles/device/plugins/identity.js rename to lib/units/device/plugins/identity.js diff --git a/lib/roles/device/plugins/install.js b/lib/units/device/plugins/install.js similarity index 100% rename from lib/roles/device/plugins/install.js rename to lib/units/device/plugins/install.js diff --git a/lib/roles/device/plugins/logcat.js b/lib/units/device/plugins/logcat.js similarity index 100% rename from lib/roles/device/plugins/logcat.js rename to lib/units/device/plugins/logcat.js diff --git a/lib/roles/device/plugins/logger.js b/lib/units/device/plugins/logger.js similarity index 100% rename from lib/roles/device/plugins/logger.js rename to lib/units/device/plugins/logger.js diff --git a/lib/roles/device/plugins/phone.js b/lib/units/device/plugins/phone.js similarity index 100% rename from lib/roles/device/plugins/phone.js rename to lib/units/device/plugins/phone.js diff --git a/lib/roles/device/plugins/reboot.js b/lib/units/device/plugins/reboot.js similarity index 100% rename from lib/roles/device/plugins/reboot.js rename to lib/units/device/plugins/reboot.js diff --git a/lib/roles/device/plugins/ringer.js b/lib/units/device/plugins/ringer.js similarity index 100% rename from lib/roles/device/plugins/ringer.js rename to lib/units/device/plugins/ringer.js diff --git a/lib/roles/device/plugins/screenshot.js b/lib/units/device/plugins/screenshot.js similarity index 100% rename from lib/roles/device/plugins/screenshot.js rename to lib/units/device/plugins/screenshot.js diff --git a/lib/roles/device/plugins/sd.js b/lib/units/device/plugins/sd.js similarity index 100% rename from lib/roles/device/plugins/sd.js rename to lib/units/device/plugins/sd.js diff --git a/lib/roles/device/plugins/service.js b/lib/units/device/plugins/service.js similarity index 100% rename from lib/roles/device/plugins/service.js rename to lib/units/device/plugins/service.js diff --git a/lib/roles/device/plugins/shell.js b/lib/units/device/plugins/shell.js similarity index 100% rename from lib/roles/device/plugins/shell.js rename to lib/units/device/plugins/shell.js diff --git a/lib/roles/device/plugins/solo.js b/lib/units/device/plugins/solo.js similarity index 100% rename from lib/roles/device/plugins/solo.js rename to lib/units/device/plugins/solo.js diff --git a/lib/roles/device/plugins/stats.js b/lib/units/device/plugins/stats.js similarity index 100% rename from lib/roles/device/plugins/stats.js rename to lib/units/device/plugins/stats.js diff --git a/lib/roles/device/plugins/store.js b/lib/units/device/plugins/store.js similarity index 100% rename from lib/roles/device/plugins/store.js rename to lib/units/device/plugins/store.js diff --git a/lib/roles/device/plugins/touch.js b/lib/units/device/plugins/touch.js similarity index 100% rename from lib/roles/device/plugins/touch.js rename to lib/units/device/plugins/touch.js diff --git a/lib/roles/device/plugins/wifi.js b/lib/units/device/plugins/wifi.js similarity index 100% rename from lib/roles/device/plugins/wifi.js rename to lib/units/device/plugins/wifi.js diff --git a/lib/roles/device/resources/remote.js b/lib/units/device/resources/remote.js similarity index 100% rename from lib/roles/device/resources/remote.js rename to lib/units/device/resources/remote.js diff --git a/lib/roles/device/resources/service.js b/lib/units/device/resources/service.js similarity index 100% rename from lib/roles/device/resources/service.js rename to lib/units/device/resources/service.js diff --git a/lib/roles/device/support/adb.js b/lib/units/device/support/adb.js similarity index 100% rename from lib/roles/device/support/adb.js rename to lib/units/device/support/adb.js diff --git a/lib/roles/device/support/channels.js b/lib/units/device/support/channels.js similarity index 100% rename from lib/roles/device/support/channels.js rename to lib/units/device/support/channels.js diff --git a/lib/roles/device/support/http.js b/lib/units/device/support/http.js similarity index 100% rename from lib/roles/device/support/http.js rename to lib/units/device/support/http.js diff --git a/lib/roles/device/support/properties.js b/lib/units/device/support/properties.js similarity index 100% rename from lib/roles/device/support/properties.js rename to lib/units/device/support/properties.js diff --git a/lib/roles/device/support/push.js b/lib/units/device/support/push.js similarity index 100% rename from lib/roles/device/support/push.js rename to lib/units/device/support/push.js diff --git a/lib/roles/device/support/router.js b/lib/units/device/support/router.js similarity index 100% rename from lib/roles/device/support/router.js rename to lib/units/device/support/router.js diff --git a/lib/roles/device/support/storage.js b/lib/units/device/support/storage.js similarity index 100% rename from lib/roles/device/support/storage.js rename to lib/units/device/support/storage.js diff --git a/lib/roles/device/support/sub.js b/lib/units/device/support/sub.js similarity index 100% rename from lib/roles/device/support/sub.js rename to lib/units/device/support/sub.js diff --git a/lib/roles/notify/hipchat.js b/lib/units/notify/hipchat.js similarity index 100% rename from lib/roles/notify/hipchat.js rename to lib/units/notify/hipchat.js diff --git a/lib/roles/processor.js b/lib/units/processor/index.js similarity index 94% rename from lib/roles/processor.js rename to lib/units/processor/index.js index e283a398..5a39443b 100644 --- a/lib/roles/processor.js +++ b/lib/units/processor/index.js @@ -1,11 +1,11 @@ var zmq = require('zmq') -var logger = require('../util/logger') -var wire = require('../wire') -var wirerouter = require('../wire/router') -var wireutil = require('../wire/util') -var dbapi = require('../db/api') -var lifecycle = require('../util/lifecycle') +var logger = require('../../util/logger') +var wire = require('../../wire') +var wirerouter = require('../../wire/router') +var wireutil = require('../../wire/util') +var dbapi = require('../../db/api') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('processor') diff --git a/lib/roles/provider.js b/lib/units/provider/index.js similarity index 97% rename from lib/roles/provider.js rename to lib/units/provider/index.js index 9cc98da3..38d08d98 100644 --- a/lib/roles/provider.js +++ b/lib/units/provider/index.js @@ -5,12 +5,12 @@ var Promise = require('bluebird') var zmq = require('zmq') var _ = require('lodash') -var logger = require('../util/logger') -var wire = require('../wire') -var wireutil = require('../wire/util') -var wirerouter = require('../wire/router') -var procutil = require('../util/procutil') -var lifecycle = require('../util/lifecycle') +var logger = require('../../util/logger') +var wire = require('../../wire') +var wireutil = require('../../wire/util') +var wirerouter = require('../../wire/router') +var procutil = require('../../util/procutil') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('provider') diff --git a/lib/roles/reaper.js b/lib/units/reaper/index.js similarity index 86% rename from lib/roles/reaper.js rename to lib/units/reaper/index.js index ae4093f7..ce5fa5b5 100644 --- a/lib/roles/reaper.js +++ b/lib/units/reaper/index.js @@ -1,11 +1,11 @@ var Promise = require('bluebird') var zmq = require('zmq') -var logger = require('../util/logger') -var wire = require('../wire') -var wireutil = require('../wire/util') -var dbapi = require('../db/api') -var lifecycle = require('../util/lifecycle') +var logger = require('../../util/logger') +var wire = require('../../wire') +var wireutil = require('../../wire/util') +var dbapi = require('../../db/api') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('reaper') diff --git a/lib/roles/storage/plugins/apk/index.js b/lib/units/storage/plugins/apk/index.js similarity index 100% rename from lib/roles/storage/plugins/apk/index.js rename to lib/units/storage/plugins/apk/index.js diff --git a/lib/roles/storage/plugins/apk/task/manifest.js b/lib/units/storage/plugins/apk/task/manifest.js similarity index 100% rename from lib/roles/storage/plugins/apk/task/manifest.js rename to lib/units/storage/plugins/apk/task/manifest.js diff --git a/lib/roles/storage/plugins/image/index.js b/lib/units/storage/plugins/image/index.js similarity index 100% rename from lib/roles/storage/plugins/image/index.js rename to lib/units/storage/plugins/image/index.js diff --git a/lib/roles/storage/plugins/image/param/crop.js b/lib/units/storage/plugins/image/param/crop.js similarity index 100% rename from lib/roles/storage/plugins/image/param/crop.js rename to lib/units/storage/plugins/image/param/crop.js diff --git a/lib/roles/storage/plugins/image/param/gravity.js b/lib/units/storage/plugins/image/param/gravity.js similarity index 100% rename from lib/roles/storage/plugins/image/param/gravity.js rename to lib/units/storage/plugins/image/param/gravity.js diff --git a/lib/roles/storage/plugins/image/task/get.js b/lib/units/storage/plugins/image/task/get.js similarity index 100% rename from lib/roles/storage/plugins/image/task/get.js rename to lib/units/storage/plugins/image/task/get.js diff --git a/lib/roles/storage/plugins/image/task/transform.js b/lib/units/storage/plugins/image/task/transform.js similarity index 100% rename from lib/roles/storage/plugins/image/task/transform.js rename to lib/units/storage/plugins/image/task/transform.js diff --git a/lib/roles/storage/temp.js b/lib/units/storage/temp.js similarity index 100% rename from lib/roles/storage/temp.js rename to lib/units/storage/temp.js diff --git a/lib/roles/triproxy.js b/lib/units/triproxy/index.js similarity index 91% rename from lib/roles/triproxy.js rename to lib/units/triproxy/index.js index 47d22932..c6a2ff87 100644 --- a/lib/roles/triproxy.js +++ b/lib/units/triproxy/index.js @@ -1,7 +1,7 @@ var zmq = require('zmq') -var logger = require('../util/logger') -var lifecycle = require('../util/lifecycle') +var logger = require('../../util/logger') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('triproxy') diff --git a/lib/roles/websocket.js b/lib/units/websocket/index.js similarity index 98% rename from lib/roles/websocket.js rename to lib/units/websocket/index.js index a8409caa..dfe5426d 100644 --- a/lib/roles/websocket.js +++ b/lib/units/websocket/index.js @@ -8,15 +8,15 @@ var Promise = require('bluebird') var _ = require('lodash') var request = Promise.promisifyAll(require('request')) -var logger = require('../util/logger') -var wire = require('../wire') -var wireutil = require('../wire/util') -var wirerouter = require('../wire/router') -var dbapi = require('../db/api') -var datautil = require('../util/datautil') -var cookieSession = require('./websocket/middleware/cookie-session') -var ip = require('./websocket/middleware/remote-ip') -var auth = require('./websocket/middleware/auth') +var logger = require('../../util/logger') +var wire = require('../../wire') +var wireutil = require('../../wire/util') +var wirerouter = require('../../wire/router') +var dbapi = require('../../db/api') +var datautil = require('../../util/datautil') +var cookieSession = require('./middleware/cookie-session') +var ip = require('./middleware/remote-ip') +var auth = require('./middleware/auth') module.exports = function(options) { var log = logger.createLogger('websocket') diff --git a/lib/roles/websocket/middleware/auth.js b/lib/units/websocket/middleware/auth.js similarity index 100% rename from lib/roles/websocket/middleware/auth.js rename to lib/units/websocket/middleware/auth.js diff --git a/lib/roles/websocket/middleware/cookie-session.js b/lib/units/websocket/middleware/cookie-session.js similarity index 100% rename from lib/roles/websocket/middleware/cookie-session.js rename to lib/units/websocket/middleware/cookie-session.js diff --git a/lib/roles/websocket/middleware/remote-ip.js b/lib/units/websocket/middleware/remote-ip.js similarity index 100% rename from lib/roles/websocket/middleware/remote-ip.js rename to lib/units/websocket/middleware/remote-ip.js