This commit is contained in:
William Mantly 2016-02-02 13:14:53 -05:00
parent 2ccbd5b432
commit 1cf89568b7
2 changed files with 25 additions and 1 deletions

View File

@ -14,6 +14,7 @@
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0",
"node.extend": "~1.1.5",
"redis": "~2.4.2"
"redis": "~2.4.2",
"request": "~2.69.0"
}
}

View File

@ -5,6 +5,7 @@ var router = express.Router();
var extend = require('node.extend');
var redis = require("redis");
var client = redis.createClient();
var request = require('request');
var lxc = require('../lxc');
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;