runner
This commit is contained in:
parent
2ccbd5b432
commit
1cf89568b7
@ -14,6 +14,7 @@
|
|||||||
"morgan": "~1.6.1",
|
"morgan": "~1.6.1",
|
||||||
"serve-favicon": "~2.3.0",
|
"serve-favicon": "~2.3.0",
|
||||||
"node.extend": "~1.1.5",
|
"node.extend": "~1.1.5",
|
||||||
"redis": "~2.4.2"
|
"redis": "~2.4.2",
|
||||||
|
"request": "~2.69.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ var router = express.Router();
|
|||||||
var extend = require('node.extend');
|
var extend = require('node.extend');
|
||||||
var redis = require("redis");
|
var redis = require("redis");
|
||||||
var client = redis.createClient();
|
var client = redis.createClient();
|
||||||
|
var request = require('request');
|
||||||
var lxc = require('../lxc');
|
var lxc = require('../lxc');
|
||||||
|
|
||||||
router.get('/start/:name', function(req, res, next){
|
router.get('/start/:name', function(req, res, next){
|
||||||
@ -83,4 +84,26 @@ router.get('/list', function(req, res, next) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.get('/run/:ip?', function(req, res, next){
|
||||||
|
var runner = function(res, req, ip){
|
||||||
|
request.post({url:'http://'+ip, body:req.post}, function(error, response, body){
|
||||||
|
body = JSON.parse(body);
|
||||||
|
body['ip'] = ip.replace('10.0.', '')
|
||||||
|
return res.json(body)
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
if(req.params.ip){
|
||||||
|
var ip = '10.0.'+ req.params.ip;
|
||||||
|
return runner(res, req, ip);
|
||||||
|
}else{
|
||||||
|
var name = 'u1-'+(Math.random()*100).toString().replace('.','')
|
||||||
|
lxc.startEphemeral(name, 'u1', function(data){
|
||||||
|
return runner(res, req, data.ip);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user