Native server application entry point.
Ensure proper environment exists.
require("#{__dirname}/src/bootstrap").bootstrap()
path = require 'path'
fs = require 'fs'
config = require 'config'
pkgman = require 'pkgman'
yaml = require 'js-yaml'
Set up exit hooks.
Invoke hook trussServerProcessExit
process.on 'exit', -> pkgman.invoke 'trussServerProcessExit'
process.on 'SIGINT', -> process.exit()
process.on 'SIGTERM', -> process.exit()
process.on 'unhandledException', -> process.exit()
Set environment variables into config.
config.set 'path', __dirname
config.set k, v for k, v of process.env
Read configuration file.
settingsFilename = config.get 'path'
settingsFilename += '/config/settings.yml'
throw new Error '
Settings file not found!
You should copy config/default.settings.yml to config/settings.yml
' unless fs.existsSync settingsFilename
settings = yaml.safeLoad fs.readFileSync settingsFilename, 'utf8'
config.set k, v for k, v of settings
Spin up the server.
require('main').start config, (error) ->
return unless error?
console.error require('errors').stack error
process.exit 1