|
|
|
module.exports = function() {
|
|
|
|
|
|
|
|
var module={};
|
|
|
|
|
|
|
|
module.connection = function(socket) {
|
|
|
|
|
|
|
|
var sys = require('sys');
|
|
|
|
var exec = require('child_process').exec;
|
|
|
|
|
|
|
|
console.log("new client");
|
|
|
|
|
|
|
|
function emit(signal, data, info) {
|
|
|
|
if (typeof data == 'string') {
|
|
|
|
console.log("<- signal: "+signal+"("+data+")");
|
|
|
|
} else {
|
|
|
|
console.log("<- signal: "+signal);
|
|
|
|
}
|
|
|
|
if (info) console.log(info);
|
|
|
|
socket.emit(signal, data);
|
|
|
|
}
|
|
|
|
|
|
|
|
function broadcast(signal, data) {
|
|
|
|
console.log("<= signal: "+signal);
|
|
|
|
socket.broadcast.emit(signal, data);
|
|
|
|
}
|
|
|
|
|
|
|
|
function containerinspect(error, stdout, stderr) {
|
|
|
|
console.log(error);
|
|
|
|
if (!error && !stderr) {
|
|
|
|
// var res = {};
|
|
|
|
// JSON.parse(stdout).forEach(function(c) {
|
|
|
|
// res[c.Id] = c;
|
|
|
|
// });
|
|
|
|
emit("containers", stdout);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function containerlist(error, stdout, stderr) {
|
|
|
|
console.log(error);
|
|
|
|
console.log("docker inspect "+stdout.trim().replace(/\n/g, " "));
|
|
|
|
if (!error && !stderr)
|
|
|
|
exec("docker inspect "+stdout.trim().replace(/\n/g, " "),
|
|
|
|
containerinspect);
|
|
|
|
}
|
|
|
|
|
|
|
|
socket.on("containers", function() {
|
|
|
|
console.log("-> containers");
|
|
|
|
exec("docker ps -aq",
|
|
|
|
containerlist);
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return module;
|
|
|
|
}
|