rename addons.js to services.js

services is the named container (services view)
addons is more like a heroku concept
This commit is contained in:
Girish Ramakrishnan
2021-01-21 11:31:35 -08:00
parent d5952fafc3
commit 6bd87485c6
11 changed files with 75 additions and 75 deletions
+19 -19
View File
@@ -16,8 +16,7 @@ exports = module.exports = {
_waitForDnsPropagation: waitForDnsPropagation
};
var addons = require('./addons.js'),
appdb = require('./appdb.js'),
const appdb = require('./appdb.js'),
apps = require('./apps.js'),
assert = require('assert'),
async = require('async'),
@@ -41,6 +40,7 @@ var addons = require('./addons.js'),
reverseProxy = require('./reverseproxy.js'),
rimraf = require('rimraf'),
safe = require('safetydance'),
services = require('./services.js'),
settings = require('./settings.js'),
shell = require('./shell.js'),
superagent = require('superagent'),
@@ -512,7 +512,7 @@ function install(app, args, progressCallback, callback) {
addonsToRemove = app.manifest.addons;
}
addons.teardownAddons(app, addonsToRemove, next);
services.teardownAddons(app, addonsToRemove, next);
},
function deleteAppDirIfNeeded(done) {
@@ -546,24 +546,24 @@ function install(app, args, progressCallback, callback) {
if (!restoreConfig) {
async.series([
progressCallback.bind(null, { percent: 60, message: 'Setting up addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
], next);
} else if (!restoreConfig.backupId) { // in-place import
async.series([
progressCallback.bind(null, { percent: 60, message: 'Importing addons in-place' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
addons.clearAddons.bind(null, app, _.omit(app.manifest.addons, 'localstorage')),
addons.restoreAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
services.clearAddons.bind(null, app, _.omit(app.manifest.addons, 'localstorage')),
services.restoreAddons.bind(null, app, app.manifest.addons),
], next);
} else {
async.series([
progressCallback.bind(null, { percent: 65, message: 'Download backup and restoring addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
addons.clearAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
services.clearAddons.bind(null, app, app.manifest.addons),
backups.downloadApp.bind(null, app, restoreConfig, (progress) => {
progressCallback({ percent: 65, message: progress.message });
}),
addons.restoreAddons.bind(null, app, app.manifest.addons)
services.restoreAddons.bind(null, app, app.manifest.addons)
], next);
}
},
@@ -626,7 +626,7 @@ function create(app, args, progressCallback, callback) {
// FIXME: re-setup addons only because sendmail addon to re-inject env vars on mailboxName change
progressCallback.bind(null, { percent: 30, message: 'Setting up addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
progressCallback.bind(null, { percent: 60, message: 'Creating container' }),
createContainer.bind(null, app),
@@ -681,7 +681,7 @@ function changeLocation(app, args, progressCallback, callback) {
// re-setup addons since they rely on the app's fqdn (e.g oauth)
progressCallback.bind(null, { percent: 50, message: 'Setting up addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
progressCallback.bind(null, { percent: 60, message: 'Creating container' }),
createContainer.bind(null, app),
@@ -723,7 +723,7 @@ function migrateDataDir(app, args, progressCallback, callback) {
// re-setup addons since this creates the localStorage volume
progressCallback.bind(null, { percent: 50, message: 'Setting up addons' }),
addons.setupAddons.bind(null, _.extend({}, app, { dataDir: newDataDir }), app.manifest.addons),
services.setupAddons.bind(null, _.extend({}, app, { dataDir: newDataDir }), app.manifest.addons),
progressCallback.bind(null, { percent: 60, message: 'Moving data dir' }),
moveDataDir.bind(null, app, newDataDir),
@@ -768,7 +768,7 @@ function configure(app, args, progressCallback, callback) {
// re-setup addons since they rely on the app's fqdn (e.g oauth)
progressCallback.bind(null, { percent: 50, message: 'Setting up addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
services.setupAddons.bind(null, app, app.manifest.addons),
progressCallback.bind(null, { percent: 60, message: 'Creating container' }),
createContainer.bind(null, app),
@@ -842,7 +842,7 @@ function update(app, args, progressCallback, callback) {
},
// only delete unused addons after backup
addons.teardownAddons.bind(null, app, unusedAddons),
services.teardownAddons.bind(null, app, unusedAddons),
// free unused ports
function (next) {
@@ -871,7 +871,7 @@ function update(app, args, progressCallback, callback) {
downloadIcon.bind(null, app),
progressCallback.bind(null, { percent: 60, message: 'Updating addons' }),
addons.setupAddons.bind(null, app, updateConfig.manifest.addons),
services.setupAddons.bind(null, app, updateConfig.manifest.addons),
progressCallback.bind(null, { percent: 70, message: 'Creating container' }),
createContainer.bind(null, app),
@@ -908,7 +908,7 @@ function start(app, args, progressCallback, callback) {
async.series([
progressCallback.bind(null, { percent: 10, message: 'Starting app services' }),
addons.startAppServices.bind(null, app),
services.startAppServices.bind(null, app),
progressCallback.bind(null, { percent: 35, message: 'Starting container' }),
docker.startContainer.bind(null, app.id),
@@ -942,7 +942,7 @@ function stop(app, args, progressCallback, callback) {
docker.stopContainers.bind(null, app.id),
progressCallback.bind(null, { percent: 50, message: 'Stopping app services' }),
addons.stopAppServices.bind(null, app),
services.stopAppServices.bind(null, app),
progressCallback.bind(null, { percent: 80, message: 'Removing collectd profile' }),
removeCollectdProfile.bind(null, app),
@@ -991,7 +991,7 @@ function uninstall(app, args, progressCallback, callback) {
deleteContainers.bind(null, app, {}),
progressCallback.bind(null, { percent: 30, message: 'Teardown addons' }),
addons.teardownAddons.bind(null, app, app.manifest.addons),
services.teardownAddons.bind(null, app, app.manifest.addons),
progressCallback.bind(null, { percent: 40, message: 'Cleanup file manager' }),
+20 -20
View File
@@ -1,36 +1,36 @@
'use strict';
exports = module.exports = {
testConfig: testConfig,
testProviderConfig: testProviderConfig,
testConfig,
testProviderConfig,
getByIdentifierAndStatePaged,
get: get,
get,
startBackupTask: startBackupTask,
startBackupTask,
restore: restore,
restore,
backupApp: backupApp,
downloadApp: downloadApp,
backupApp,
downloadApp,
backupBoxAndApps: backupBoxAndApps,
backupBoxAndApps,
upload: upload,
upload,
startCleanupTask: startCleanupTask,
cleanup: cleanup,
cleanupCacheFilesSync: cleanupCacheFilesSync,
startCleanupTask,
cleanup,
cleanupCacheFilesSync,
injectPrivateFields: injectPrivateFields,
removePrivateFields: removePrivateFields,
injectPrivateFields,
removePrivateFields,
checkConfiguration: checkConfiguration,
checkConfiguration,
configureCollectd: configureCollectd,
configureCollectd,
generateEncryptionKeysSync: generateEncryptionKeysSync,
generateEncryptionKeysSync,
BACKUP_IDENTIFIER_BOX: 'box',
@@ -48,8 +48,7 @@ exports = module.exports = {
_applyBackupRetentionPolicy: applyBackupRetentionPolicy
};
var addons = require('./addons.js'),
apps = require('./apps.js'),
const apps = require('./apps.js'),
async = require('async'),
assert = require('assert'),
backupdb = require('./backupdb.js'),
@@ -72,6 +71,7 @@ var addons = require('./addons.js'),
progressStream = require('progress-stream'),
safe = require('safetydance'),
shell = require('./shell.js'),
services = require('./services.js'),
settings = require('./settings.js'),
syncer = require('./syncer.js'),
tar = require('tar-fs'),
@@ -1045,7 +1045,7 @@ function snapshotApp(app, progressCallback, callback) {
return callback(new BoxError(BoxError.FS_ERROR, 'Error creating config.json: ' + safe.error.message));
}
addons.backupAddons(app, app.manifest.addons, function (error) {
services.backupAddons(app, app.manifest.addons, function (error) {
if (error) return callback(new BoxError(BoxError.EXTERNAL_ERROR, error.message));
debugApp(app, `snapshotApp: took ${(new Date() - startTime)/1000} seconds`);
+3 -3
View File
@@ -21,8 +21,7 @@ exports = module.exports = {
runSystemChecks
};
var addons = require('./addons.js'),
apps = require('./apps.js'),
const apps = require('./apps.js'),
appstore = require('./appstore.js'),
assert = require('assert'),
async = require('async'),
@@ -43,6 +42,7 @@ var addons = require('./addons.js'),
platform = require('./platform.js'),
reverseProxy = require('./reverseproxy.js'),
safe = require('safetydance'),
services = require('./services.js'),
settings = require('./settings.js'),
shell = require('./shell.js'),
spawn = require('child_process').spawn,
@@ -350,7 +350,7 @@ function updateDashboardDomain(domain, auditSource, callback) {
setDashboardDomain(domain, auditSource, function (error) {
if (error) return callback(error);
addons.rebuildService('turn', NOOP_CALLBACK); // to update the realm variable
services.rebuildService('turn', NOOP_CALLBACK); // to update the realm variable
callback(null);
});
+4 -4
View File
@@ -33,8 +33,7 @@ exports = module.exports = {
update
};
var addons = require('./addons.js'),
apps = require('./apps.js'),
const apps = require('./apps.js'),
async = require('async'),
assert = require('assert'),
BoxError = require('./boxerror.js'),
@@ -44,6 +43,7 @@ var addons = require('./addons.js'),
Docker = require('dockerode'),
os = require('os'),
path = require('path'),
services = require('./services.js'),
settings = require('./settings.js'),
shell = require('./shell.js'),
safe = require('safetydance'),
@@ -275,7 +275,7 @@ function createSubcontainer(app, name, cmd, options, callback) {
// if required, we can make this a manifest and runtime argument later
if (!isAppContainer) memoryLimit *= 2;
addons.getEnvironment(app, function (error, addonEnv) {
services.getEnvironment(app, function (error, addonEnv) {
if (error) return callback(error);
getBinds(app, function (error, binds) {
@@ -299,7 +299,7 @@ function createSubcontainer(app, name, cmd, options, callback) {
'isCloudronManaged': String(true)
},
HostConfig: {
Mounts: addons.getMountsSync(app, app.manifest.addons),
Mounts: services.getMountsSync(app, app.manifest.addons),
Binds: binds, // ideally, we have to use 'Mounts' but we have to create volumes then
LogConfig: {
Type: 'syslog',
+5 -5
View File
@@ -1,12 +1,11 @@
'use strict';
exports = module.exports = {
start: start,
stop: stop
start,
stop
};
var addons = require('./addons.js'),
assert = require('assert'),
const assert = require('assert'),
appdb = require('./appdb.js'),
apps = require('./apps.js'),
async = require('async'),
@@ -20,6 +19,7 @@ var addons = require('./addons.js'),
mailboxdb = require('./mailboxdb.js'),
path = require('path'),
safe = require('safetydance'),
services = require('./services.js'),
users = require('./users.js');
var gServer = null;
@@ -572,7 +572,7 @@ function authenticateSftp(req, res, next) {
}
function loadSftpConfig(req, res, next) {
addons.getServicesConfig('sftp', function (error, service, servicesConfig) {
services.getServicesConfig('sftp', function (error, service, servicesConfig) {
if (error) return next(new ldap.OperationsError(error.toString()));
req.requireAdmin = servicesConfig['sftp'].requireAdmin;
+3 -3
View File
@@ -59,8 +59,7 @@ exports = module.exports = {
_readDkimPublicKeySync: readDkimPublicKeySync
};
var addons = require('./addons.js'),
assert = require('assert'),
const assert = require('assert'),
async = require('async'),
BoxError = require('./boxerror.js'),
cloudron = require('./cloudron.js'),
@@ -82,6 +81,7 @@ var addons = require('./addons.js'),
request = require('request'),
reverseProxy = require('./reverseproxy.js'),
safe = require('safetydance'),
services = require('./services.js'),
settings = require('./settings.js'),
shell = require('./shell.js'),
smtpTransport = require('nodemailer-smtp-transport'),
@@ -1223,7 +1223,7 @@ function removeSolrIndex(mailbox, callback) {
assert.strictEqual(typeof mailbox, 'string');
assert.strictEqual(typeof callback, 'function');
addons.getContainerDetails('mail', 'CLOUDRON_MAIL_TOKEN', function (error, addonDetails) {
services.getContainerDetails('mail', 'CLOUDRON_MAIL_TOKEN', function (error, addonDetails) {
if (error) return callback(error);
request.post(`https://${addonDetails.ip}:3000/solr_delete_index?access_token=${addonDetails.token}`, { timeout: 2000, rejectUnauthorized: false, json: { mailbox } }, function (error, response) {
+6 -6
View File
@@ -1,15 +1,14 @@
'use strict';
exports = module.exports = {
start: start,
stopAllTasks: stopAllTasks,
start,
stopAllTasks,
// exported for testing
_isReady: false
};
var addons = require('./addons.js'),
apps = require('./apps.js'),
const apps = require('./apps.js'),
assert = require('assert'),
async = require('async'),
debug = require('debug')('box:platform'),
@@ -20,6 +19,7 @@ var addons = require('./addons.js'),
paths = require('./paths.js'),
reverseProxy = require('./reverseproxy.js'),
safe = require('safetydance'),
services = require('./services.js'),
settings = require('./settings.js'),
sftp = require('./sftp.js'),
shell = require('./shell.js'),
@@ -58,7 +58,7 @@ function start(callback) {
markApps.bind(null, existingInfra), // mark app state before we start addons. this gives the db import logic a chance to mark an app as errored
graphs.startGraphite.bind(null, existingInfra),
sftp.startSftp.bind(null, existingInfra),
addons.startServices.bind(null, existingInfra),
services.startServices.bind(null, existingInfra),
fs.writeFile.bind(fs, paths.INFRA_VERSION_FILE, JSON.stringify(infra, null, 4))
], function (error) {
if (error) return callback(error);
@@ -93,7 +93,7 @@ function applyPlatformConfig(callback) {
settings.getPlatformConfig(function (error, platformConfig) {
if (error) return callback(error);
addons.updateServiceConfig(platformConfig, callback);
services.updateServiceConfig(platformConfig, callback);
});
}
+3 -3
View File
@@ -4,11 +4,11 @@ exports = module.exports = {
proxy
};
var addons = require('../addons.js'),
assert = require('assert'),
const assert = require('assert'),
BoxError = require('../boxerror.js'),
middleware = require('../middleware/index.js'),
HttpError = require('connect-lastmile').HttpError,
services = require('../services.js'),
url = require('url');
function proxy(req, res, next) {
@@ -18,7 +18,7 @@ function proxy(req, res, next) {
req.clearTimeout();
addons.getContainerDetails('sftp', 'CLOUDRON_SFTP_TOKEN', function (error, result) {
services.getContainerDetails('sftp', 'CLOUDRON_SFTP_TOKEN', function (error, result) {
if (error) return next(BoxError.toHttpError(error));
let parsedUrl = url.parse(req.url, true /* parseQueryString */);
+3 -3
View File
@@ -8,8 +8,7 @@ exports = module.exports = {
setLocation
};
var addons = require('../addons.js'),
assert = require('assert'),
const assert = require('assert'),
auditSource = require('../auditsource.js'),
BoxError = require('../boxerror.js'),
debug = require('debug')('box:routes/mailserver'),
@@ -17,6 +16,7 @@ var addons = require('../addons.js'),
HttpSuccess = require('connect-lastmile').HttpSuccess,
mail = require('../mail.js'),
middleware = require('../middleware/index.js'),
services = require('../services.js'),
url = require('url');
function restart(req, res, next) {
@@ -33,7 +33,7 @@ function proxy(req, res, next) {
delete req.headers['authorization'];
delete req.headers['cookies'];
addons.getContainerDetails('mail', 'CLOUDRON_MAIL_TOKEN', function (error, addonDetails) {
services.getContainerDetails('mail', 'CLOUDRON_MAIL_TOKEN', function (error, addonDetails) {
if (error) return next(BoxError.toHttpError(error));
parsedUrl.query['access_token'] = addonDetails.token;
+9 -9
View File
@@ -9,16 +9,16 @@ exports = module.exports = {
restart
};
var addons = require('../addons.js'),
assert = require('assert'),
const assert = require('assert'),
BoxError = require('../boxerror.js'),
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess;
HttpSuccess = require('connect-lastmile').HttpSuccess,
services = require('../services.js');
function getAll(req, res, next) {
req.clearTimeout(); // can take a while to get status of all services
addons.getServices(function (error, result) {
services.getServices(function (error, result) {
if (error) return next(BoxError.toHttpError(error));
next(new HttpSuccess(200, { services: result }));
@@ -28,7 +28,7 @@ function getAll(req, res, next) {
function get(req, res, next) {
assert.strictEqual(typeof req.params.service, 'string');
addons.getService(req.params.service, function (error, result) {
services.getService(req.params.service, function (error, result) {
if (error) return next(BoxError.toHttpError(error));
next(new HttpSuccess(200, { service: result }));
@@ -49,7 +49,7 @@ function configure(req, res, next) {
data.requireAdmin = req.body.requireAdmin;
}
addons.configureService(req.params.service, data, function (error) {
services.configureService(req.params.service, data, function (error) {
if (error) return next(BoxError.toHttpError(error));
next(new HttpSuccess(202, {}));
@@ -68,7 +68,7 @@ function getLogs(req, res, next) {
format: req.query.format || 'json'
};
addons.getServiceLogs(req.params.service, options, function (error, logStream) {
services.getServiceLogs(req.params.service, options, function (error, logStream) {
if (error) return next(BoxError.toHttpError(error));
res.writeHead(200, {
@@ -98,7 +98,7 @@ function getLogStream(req, res, next) {
format: 'json'
};
addons.getServiceLogs(req.params.service, options, function (error, logStream) {
services.getServiceLogs(req.params.service, options, function (error, logStream) {
if (error) return next(BoxError.toHttpError(error));
res.writeHead(200, {
@@ -122,7 +122,7 @@ function getLogStream(req, res, next) {
function restart(req, res, next) {
assert.strictEqual(typeof req.params.service, 'string');
addons.restartService(req.params.service, function (error) {
services.restartService(req.params.service, function (error) {
if (error) return next(BoxError.toHttpError(error));
next(new HttpSuccess(202, {}));
View File