Commit 98497702 authored by Kamron Aroonrua's avatar Kamron Aroonrua 💬

Merge branch 'ondev-gcs' into 'dev'

Ondev gcs

See merge request !14
parents 487a83e1 41d90907
module.exports = { var fs = require('fs');
'amqp' : require('./amqp.json'),
'memstore' : require('./memstore.json'), var cfg = {
'storage' : require('./storage.json'), 'amqp' : cfg_load('amqp.json'),
'memstore' : cfg_load('memstore.json'),
'storage' : cfg_load('storage.json'),
'auth' : { 'auth' : {
'secret': require('./secret.json'), 'secret': cfg_load('secret.json'),
'acl' : require('./acl.json') 'acl' : cfg_load('acl.json')
} }
} }
function cfg_load(fd)
{
var ret = {};
if(fs.existsSync(__dirname + '/' + fd)){
ret = require(__dirname + '/' + fd);
}else if(fs.existsSync(__dirname + '/template/' + fd)){
ret = require(__dirname + '/template/' + fd);
}
return ret;
}
module.exports = cfg;
\ No newline at end of file
[
{"env":"BSCONFIG_AMQP_TYPE","conf":"amqp.type"},
{"env":"BSCONFIG_AMQP_URL","conf":"amqp.url"}
]
\ No newline at end of file
var CONFIG_PATH = './conf/config'; var _dot = require('dot-prop');
module.exports.config = require(CONFIG_PATH); var CONFIG_PATH = __dirname + '/conf/config';
var cfg = require(CONFIG_PATH);
module.exports.config = cfg;
module.exports.getConfig = function(name,def,opt){
var option = {};
var def_val = def || '';
var ret=def_val;
if(typeof opt == 'object'){option=opt;}
if(typeof option.env == 'undefined'){option.env=true;}
if(typeof name != 'string' || name=='.'){name='';}
var bs_cfg={};
if(option.env){
bs_cfg = envcnf('',cfg);
}else{
bs_cfg = cfg;
}
if(typeof name != 'string' || name=='.' || name =='' || name == '*'){
ret = bs_cfg;
}else{
ret = _dot.get(bs_cfg,name,def_val);
}
return ret;
}
var envcnf = function(name,init_obj){
var obj=init_obj || {};
var env = process.env;
var name_pref = 'bs.config';
if(name){name_pref=name_pref + '.' + name;}
if(env[name_pref]){obj=env[name_pref];}
var nfull = name_pref + '.';
Object.keys(env).forEach((k)=>{
if(k.startsWith(nfull)){
var dotkey = k.substring(nfull.length);
_dot.set(obj,dotkey,env[k]);
}
});
return obj;
}
module.exports.getEnvConf = envcnf
module.exports.getLib = function(name){ module.exports.getLib = function(name){
if(name) if(name)
...@@ -35,5 +83,3 @@ module.exports.getUnixSocketUrl = function(name){ ...@@ -35,5 +83,3 @@ module.exports.getUnixSocketUrl = function(name){
var sockname = name || 'test.sock'; var sockname = name || 'test.sock';
return 'unix://' + __dirname + '/tmp/' + sockname; return 'unix://' + __dirname + '/tmp/' + sockname;
} }
//module.exports.socket_dir = __dirname + '/tmp';
//module.exports.tmp_dir = __dirname + '/tmp';
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
"bson": "^0.5.6", "bson": "^0.5.6",
"buffalo": "^0.1.3", "buffalo": "^0.1.3",
"dateformat": "^1.0.12", "dateformat": "^1.0.12",
"dot-prop": "^5.1.0",
"express": "^4.14.0", "express": "^4.14.0",
"express-jwt": "^5.3.1", "express-jwt": "^5.3.1",
"ioredis": "^2.5.0", "ioredis": "^2.5.0",
"jsonwebtoken": "^8.2.2", "jsonwebtoken": "^8.2.2",
"microgear": "^0.8.1",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"minimist": "^1.2.0", "minimist": "^1.2.0",
"moment": "^2.17.1", "moment": "^2.17.1",
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
"node-uuid": "^1.4.7", "node-uuid": "^1.4.7",
"object-hash": "^1.1.8", "object-hash": "^1.1.8",
"pm2": "^2.4.0", "pm2": "^2.4.0",
"qs": "^6.8.0",
"query-string": "^4.2.3", "query-string": "^4.2.3",
"quickq": "^0.8.1", "quickq": "^0.8.1",
"random-access-file": "^1.3.0", "random-access-file": "^1.3.0",
......
...@@ -15,7 +15,7 @@ function perform_function(context,request,response){ ...@@ -15,7 +15,7 @@ function perform_function(context,request,response){
var data = (Array.isArray(request.data))?request.data:[request.data]; var data = (Array.isArray(request.data))?request.data:[request.data];
var meta = request.meta; var meta = request.meta;
var prm_url = param.url || "mqtt://127.0.0.1"; var prm_url = param.url || ctx.getConfig('mqtt.url','mqtt://127.0.0.1');
var prm_topic = param.topic; var prm_topic = param.topic;
var client = mqtt.connect(prm_url); var client = mqtt.connect(prm_url);
......
...@@ -24,14 +24,17 @@ function perform_function(context,request,response){ ...@@ -24,14 +24,17 @@ function perform_function(context,request,response){
var amqp_cfg = ctx.config.amqp; var amqp_cfg = ctx.config.amqp;
var storage_name = param.storage_name; var storage_name = param.storage_name;
var caller = storagecaller; var caller = new RPCCaller({
if(param.channel!='ipc'){
caller = new RPCCaller({
url : amqp_cfg.url, url : amqp_cfg.url,
name :'storage_request' name :'storage_request'
}); });
}
// if(param.channel!='ipc'){
// caller = new RPCCaller({
// url : amqp_cfg.url,
// name :'storage_request'
// });
// }
var dc_meta = { var dc_meta = {
......
var ctx = require('./context'); var ctx = require('./context');
var BSCONFIG = ctx.getConfig();
var ControllerAPI = ctx.getLib('coreservice/controller-api'); var ControllerAPI = ctx.getLib('coreservice/controller-api');
var api = ControllerAPI.create(ctx.config); var api = ControllerAPI.create(BSCONFIG);
api.start(); api.start();
var ctx = require('./context'); var ctx = require('./context');
var BSCONFIG = ctx.getConfig();
var SchedulerService = ctx.getLib('coreservice/scheduler'); var SchedulerService = ctx.getLib('coreservice/scheduler');
var StorageEventService = ctx.getLib('coreservice/storage-trigger'); var StorageEventService = ctx.getLib('coreservice/storage-trigger');
var ss = SchedulerService.create(ctx.config); var ss = SchedulerService.create(BSCONFIG);
ss.start(); ss.start();
var ses = StorageEventService.create(ctx.config); var ses = StorageEventService.create(BSCONFIG);
ses.start(); ses.start();
var ctx = require('./context'); var ctx = require('./context');
var HTTPListener = ctx.getLib('http-listener/main'); var HTTPListener = ctx.getLib('http-listener/main');
var BSCONFIG = ctx.getConfig();
var hs = HTTPListener.create(ctx.config); var hs = HTTPListener.create(BSCONFIG);
hs.start(); hs.start();
var ctx = require('./context'); var ctx = require('./context');
var NBUdpTrigger = ctx.getLib('triggers/trg-nbudp'); var NBUdpTrigger = ctx.getLib('triggers/trg-nbudp');
var BSCONFIG = ctx.getConfig();
var trg = NBUdpTrigger.create(ctx.config); var trg = NBUdpTrigger.create(BSCONFIG);
trg.start(); trg.start();
var ctx = require('./context'); var ctx = require('./context');
var SchedulerService = ctx.getLib('coreservice/scheduler'); var SchedulerService = ctx.getLib('coreservice/scheduler');
var BSCONFIG = ctx.getConfig();
var ss = SchedulerService.create(ctx.config); var ss = SchedulerService.create(BSCONFIG);
ss.start(); ss.start();
var ctx = require('./context'); var ctx = require('./context');
var StorageService = ctx.getLib('storage-service/main'); var StorageService = ctx.getLib('storage-service/main');
var BSCONFIG = ctx.getConfig();
var argv = require('minimist')(process.argv.slice(2)); var argv = require('minimist')(process.argv.slice(2));
...@@ -8,10 +8,10 @@ var argv = require('minimist')(process.argv.slice(2)); ...@@ -8,10 +8,10 @@ var argv = require('minimist')(process.argv.slice(2));
var m = {'read':"false",'write':"false"} var m = {'read':"false",'write':"false"}
if(argv['process-read']){m.read = "true";} if(argv['process-read']){m.read = "true";}
if(argv['process-write']){m.write = "true";} if(argv['process-write']){m.write = "true";}
if(argv['api-port']){ctx.config.storage.api_port = Number(argv['api-port']);} if(argv['api-port']){BSCONFIG.storage.api_port = Number(argv['api-port']);}
//console.log(argv); //console.log(argv);
var ss = StorageService.create(ctx.config); var ss = StorageService.create(BSCONFIG);
if(m.read=="false" && m.write=="false") if(m.read=="false" && m.write=="false")
{ {
......
var ctx = require('../context'); var ctx = require('../context');
var ConnCtx = ctx.getLib('lib/conn/connection-context'); var ConnCtx = ctx.getLib('lib/conn/connection-context');
var rpcserver = ctx.getLib('lib/amqp/rpcserver'); var rpcserver = ctx.getLib('lib/amqp/rpcserver');
var RPCCaller = ctx.getLib('lib/amqp/rpccaller');
var SSServer = ctx.getLib('lib/axon/rpcserver'); var SSServer = ctx.getLib('lib/axon/rpcserver');
var Db = ctx.getLib('storage-service/lib/db'); var Db = ctx.getLib('storage-service/lib/db');
var WorkerPool = ctx.getLib('storage-service/lib/worker_pool'); var WorkerPool = ctx.getLib('storage-service/lib/worker_pool');
...@@ -16,7 +17,7 @@ var app = express(); ...@@ -16,7 +17,7 @@ var app = express();
var bodyParser = require('body-parser'); var bodyParser = require('body-parser');
var EventPub = ctx.getLib('lib/amqp/event-pub'); var EventPub = ctx.getLib('lib/amqp/event-pub');
var cfg = ctx.config; //var cfg = ctx.config;
var SS_LISTEN = ctx.getUnixSocketUrl('ss.sock'); var SS_LISTEN = ctx.getUnixSocketUrl('ss.sock');
var SS_URL = ctx.getUnixSocketUrl('ss.sock'); var SS_URL = ctx.getUnixSocketUrl('ss.sock');
...@@ -145,7 +146,11 @@ SS.prototype.http_start = function() ...@@ -145,7 +146,11 @@ SS.prototype.http_start = function()
})); }));
var context = ctx.getLib('lib/ws/http-context'); var context = ctx.getLib('lib/ws/http-context');
this.storagecaller = new SSCaller({'url':SS_URL}); //this.storagecaller = new SSCaller({'url':SS_URL});
this.storagecaller = new RPCCaller({
url : amqp_cfg.url,
name :'storage_request'
});
this.acl_validator = ACLValidator.create(auth_cfg); this.acl_validator = ACLValidator.create(auth_cfg);
this.worker_pool.initWorker(); this.worker_pool.initWorker();
app.use(context.middleware({ app.use(context.middleware({
......
var ctx = require('./context'); var ctx = require('./context');
var JobWorker = ctx.getLib('jobworker/worker'); var JobWorker = ctx.getLib('jobworker/worker');
var BSCONFIG = ctx.getConfig();
var worker = JobWorker.create({'config':ctx.config,'name':'worker'}); var worker = JobWorker.create({'config':BSCONFIG,'name':'worker'});
worker.start(); worker.start();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment