diff --git a/src/caas.js b/src/caas.js index c281a7c07..46eb881a2 100644 --- a/src/caas.js +++ b/src/caas.js @@ -3,7 +3,8 @@ exports = module.exports = { migrate: migrate, changePlan: changePlan, - upgrade: upgrade + upgrade: upgrade, + sendHeartbeat: sendHeartbeat }; var assert = require('assert'), @@ -172,3 +173,13 @@ function upgrade(boxUpdateInfo, callback) { }); } +function sendHeartbeat() { + assert(config.provider() === 'caas', 'Heartbeat is only sent for managed cloudrons'); + + var url = config.apiServerOrigin() + '/api/v1/boxes/' + config.fqdn() + '/heartbeat'; + superagent.post(url).query({ token: config.token(), version: config.version() }).timeout(30 * 1000).end(function (error, result) { + if (error && !error.response) debug('Network error sending heartbeat.', error); + else if (result.statusCode !== 200) debug('Server responded to heartbeat with %s %s', result.statusCode, result.text); + else debug('Heartbeat sent to %s', url); + }); +} diff --git a/src/cloudron.js b/src/cloudron.js index 648bca817..b62d30e2f 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -12,8 +12,6 @@ exports = module.exports = { dnsSetup: dnsSetup, getLogs: getLogs, - sendCaasHeartbeat: sendCaasHeartbeat, - updateToLatest: updateToLatest, restore: restore, reboot: reboot, @@ -492,17 +490,6 @@ function getConfig(callback) { }); } -function sendCaasHeartbeat() { - assert(config.provider() === 'caas', 'Heartbeat is only sent for managed cloudrons'); - - var url = config.apiServerOrigin() + '/api/v1/boxes/' + config.fqdn() + '/heartbeat'; - superagent.post(url).query({ token: config.token(), version: config.version() }).timeout(30 * 1000).end(function (error, result) { - if (error && !error.response) debug('Network error sending heartbeat.', error); - else if (result.statusCode !== 200) debug('Server responded to heartbeat with %s %s', result.statusCode, result.text); - else debug('Heartbeat sent to %s', url); - }); -} - function ensureDkimKey(callback) { assert(config.fqdn(), 'fqdn is not set'); diff --git a/src/cron.js b/src/cron.js index 9988caa30..6d0fcbfaf 100644 --- a/src/cron.js +++ b/src/cron.js @@ -9,6 +9,7 @@ var apps = require('./apps.js'), appstore = require('./appstore.js'), assert = require('assert'), backups = require('./backups.js'), + caas = require('./caas.js'), certificates = require('./certificates.js'), cloudron = require('./cloudron.js'), config = require('./config.js'), @@ -63,7 +64,7 @@ function initialize(callback) { gJobs.caasHeartbeat = new CronJob({ cronTime: `${seconds} */1 * * * *`, // every minute - onTick: cloudron.sendCaasHeartbeat, + onTick: caas.sendHeartbeat, start: true }); }