UNPKG

guvnor

Version:

A node process manager that isn't spanners all the way down

58 lines (47 loc) 1.87 kB
var Container = require('wantsit').Container var ObjectFactory = require('wantsit').ObjectFactory var logger = require('andlog') var GuvnorWeb = function () { } GuvnorWeb.prototype.start = function () { process.title = 'guvnor-web' // make errors a little more descriptive process.on('uncaughtException', function (error) { console.error('Uncaught error', error.message) console.error(error.stack ? error.stack : 'No stack trace available') process.exit(1) }) process.on('SIGABRT', function () { console.error('Received SIGABRT') }) // create container var container = new Container({ timeout: 0 }) container.on('error', function (error) { console.warn('Container error:', error.message || error.message.stack) }) // parse configuration container.createAndRegister('config', require('./components/Configuration')) container.register('logger', logger) container.register('posix', require('posix')) container.register('remote', require('../remote')) container.register('webSocketResponder', { broadcast: function () {} }) container.register('moonbootsConfig', { 'isDev': process.env.NODE_ENV === 'development' }) container.createAndRegister('hostDataFactory', ObjectFactory, [require('./domain/HostData')]) container.createAndRegister('processDataFactory', ObjectFactory, [require('./domain/ProcessData')]) container.createAndRegister('hostList', require('./components/HostList')) container.createAndRegister('server', require('./Server')) // optional dependency, don't care if it fails try { container.register('mdns', require('mdns')) } catch (e) { logger.info('Failed to register mdns component. If running Linux, please run `$ sudo apt-get install libavahi-compat-libdnssd-dev` before installing guvnor.') logger.info(e.stack) } } module.exports = GuvnorWeb