From 432b05660954a554025304fdacb4d21765d81afb Mon Sep 17 00:00:00 2001 From: william mantly Date: Fri, 15 Jul 2016 16:26:37 -0400 Subject: [PATCH] added dns api --- doapi.js | 14 ++++++++++++++ routes/api.js | 13 +++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/doapi.js b/doapi.js index 8847282..cf14911 100644 --- a/doapi.js +++ b/doapi.js @@ -113,6 +113,20 @@ api = function(key){ }); }; + this.domianAddRecord = function(args, callback){ + + var options = { + url: this.BASEURL+'domains/'+ args.domain +'/records', + headers: this.headers, + body: JSON.stringify(args) + }; + this.calls++; + + return request.post(options, function(error, response, body){ + return callback(body, response, error); + }); + } + return this; } diff --git a/routes/api.js b/routes/api.js index 54cc5a1..3fb538c 100644 --- a/routes/api.js +++ b/routes/api.js @@ -48,13 +48,14 @@ var workers = (function(){ if(workers.currentCreating > workers.currentCreatingMax ) return false; return doapi.dropletCreate({ name: 'clw'+workerSnapID+'-'+(Math.random()*100).toString().slice(-4), - image: '17641214' + image: '18473675' }, function(data){ data = JSON.parse(data); workers.currentCreating++; setTimeout(function(dopletNewID){ return workers.checkDroplet(dopletNewID); }, 70000, data.droplet.id); + return doapi.dropletSetTag('clworker', data.droplet.id, function(){}); }); @@ -124,7 +125,15 @@ var workers = (function(){ return lxc.startEphemeral(name, 'crunner0', worker.ip, function(data){ if(!data.ip) return setTimeout(workers.startRunners(worker, newWorker),0); // console.log('started runner on', worker.name) - if(newWorker) worker = workers[workers.push(worker)-1] + if(newWorker){ + worker = workers[workers.push(worker)-1]; + doapi.domianAddRecord({ + domain: "codeland.us", + type: "A", + name: "*."+worker.name+".workers.codeland.us", + data: worker.ip + }, function(){}); + } worker.availrunners.push({ ip: data.ip,