services: better status for sftp and turn
This commit is contained in:
+21
@@ -2,6 +2,7 @@
|
||||
|
||||
exports = module.exports = {
|
||||
start,
|
||||
status,
|
||||
|
||||
DEFAULT_MEMORY_LIMIT: 256 * 1024 * 1024
|
||||
};
|
||||
@@ -10,11 +11,13 @@ const apps = require('./apps.js'),
|
||||
assert = require('assert'),
|
||||
BoxError = require('./boxerror.js'),
|
||||
debug = require('debug')('box:sftp'),
|
||||
docker = require('./docker.js'),
|
||||
hat = require('./hat.js'),
|
||||
infra = require('./infra_version.js'),
|
||||
paths = require('./paths.js'),
|
||||
safe = require('safetydance'),
|
||||
settings = require('./settings.js'),
|
||||
services = require('./services.js'),
|
||||
shell = require('./shell.js'),
|
||||
system = require('./system.js'),
|
||||
volumes = require('./volumes.js');
|
||||
@@ -98,3 +101,21 @@ async function start(existingInfra) {
|
||||
await shell.promises.exec('removeSftp', 'docker rm -f sftp || true');
|
||||
await shell.promises.exec('startSftp', runCmd);
|
||||
}
|
||||
|
||||
async function status() {
|
||||
const [error, container] = await safe(docker.inspect('sftp'));
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return { status: services.SERVICE_STATUS_STOPPED };
|
||||
if (error) throw error;
|
||||
|
||||
const result = await docker.memoryUsage('sftp');
|
||||
|
||||
const status = container.State.Running
|
||||
? (container.HostConfig.ReadonlyRootfs ? services.SERVICE_STATUS_ACTIVE : services.SERVICE_STATUS_STARTING)
|
||||
: services.SERVICE_STATUS_STOPPED;
|
||||
|
||||
return {
|
||||
status,
|
||||
memoryUsed: result.memory_stats.usage,
|
||||
memoryPercent: parseInt(100 * result.memory_stats.usage / result.memory_stats.limit)
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user