remove config in favor of env vars, other major changes

This commit is contained in:
Dave Horton
2020-02-15 22:03:28 -05:00
parent 3d24ac1914
commit 3c89b7fd76
14 changed files with 162 additions and 113 deletions

View File

@@ -1,26 +1,57 @@
const config = require('config');
const ip = require('ip');
const localIp = ip.address();
const PORT = process.env.HTTP_PORT || config.get('defaultHttpPort');
const PORT = process.env.HTTP_PORT || 3000;
function installSrfLocals(srf, logger) {
if (srf.locals.dbHelpers) return;
const freeswitch = process.env.JAMBONES_FREESWITCH
.split(',')
.map((fs) => {
const arr = /^(.*):(.*):(.*)/.exec(fs);
if (arr) return {address: arr[1], port: arr[2], secret: arr[3]};
});
logger.info({freeswitch}, 'freeswitch inventory');
const sbcs = process.env.JAMBONES_SBCS
.split(',')
.map((sbc) => sbc.trim());
logger.info({sbcs}, 'SBC inventory');
const drachtio = process.env.JAMBONES_FEATURE_SERVERS
.split(',')
.map((fs) => {
const arr = /^(.*):(.*):(.*)/.exec(fs);
if (arr) return {host: arr[1], port: arr[2], secret: arr[3]};
});
logger.info({drachtio}, 'drachtio feature server inventory');
const {
lookupAppByPhoneNumber,
lookupApplicationBySid
} = require('jambonz-db-helpers')(config.get('mysql'), logger);
lookupAppBySid,
lookupAppByRealm
} = require('jambonz-db-helpers')({
host: process.env.JAMBONES_MYSQL_HOST,
user: process.env.JAMBONES_MYSQL_USER,
password: process.env.JAMBONES_MYSQL_PASSWORD,
database: process.env.JAMBONES_MYSQL_DATABASE,
connectionLimit: process.env.JAMBONES_MYSQL_CONNECTION_LIMIT || 10
}, logger);
const {
updateCallStatus,
retrieveCall,
listCalls,
deleteCall
} = require('jambonz-realtimedb-helpers')(config.get('redis'), logger);
} = require('jambonz-realtimedb-helpers')({
host: process.env.JAMBONES_REDIS_HOST,
port: process.env.JAMBONES_REDIS_PORT || 6379
}, logger);
Object.assign(srf.locals, {
dbHelpers: {
lookupAppByPhoneNumber,
lookupApplicationBySid,
lookupAppBySid,
lookupAppByRealm,
updateCallStatus,
retrieveCall,
listCalls,
@@ -28,7 +59,10 @@ function installSrfLocals(srf, logger) {
},
parentLogger: logger,
ipv4: localIp,
serviceUrl: `http://${localIp}:${PORT}`
serviceUrl: `http://${localIp}:${PORT}`,
freeswitch: freeswitch[0],
sbcs,
drachtio
});
}