style: static methods
This commit is contained in:
parent
c7938efd2f
commit
17def8e304
@ -675,7 +675,7 @@ class Data extends EventEmitter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_calcCurrentScale ({ config, currentVersion }, cb) {
|
static _calcCurrentScale ({ config, currentVersion }, cb) {
|
||||||
return config.map(({ name }) => {
|
return config.map(({ name }) => {
|
||||||
const currentScale = Find(ForceArray(currentVersion ? currentVersion.scale : []), [
|
const currentScale = Find(ForceArray(currentVersion ? currentVersion.scale : []), [
|
||||||
'serviceName',
|
'serviceName',
|
||||||
@ -696,7 +696,7 @@ class Data extends EventEmitter {
|
|||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._calcCurrentScale({ config, currentVersion }, cb);
|
Data._calcCurrentScale({ config, currentVersion }, cb);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!this._triton) {
|
if (!this._triton) {
|
||||||
@ -1534,7 +1534,7 @@ class Data extends EventEmitter {
|
|||||||
return Object.assign({}, branch, {
|
return Object.assign({}, branch, {
|
||||||
instances: this._instancesFilter(branch.instances)
|
instances: this._instancesFilter(branch.instances)
|
||||||
});
|
});
|
||||||
}).filter(({ name }) => name);
|
}).filter(({ name }) => { return name; });
|
||||||
|
|
||||||
return cb(null, Transform.fromService({
|
return cb(null, Transform.fromService({
|
||||||
service,
|
service,
|
||||||
@ -1602,7 +1602,7 @@ class Data extends EventEmitter {
|
|||||||
return Object.assign({}, branch, {
|
return Object.assign({}, branch, {
|
||||||
instances: this._instancesFilter(branch.instances)
|
instances: this._instancesFilter(branch.instances)
|
||||||
});
|
});
|
||||||
}).filter(({ name }) => name);
|
}).filter(({ name }) => { return name; });
|
||||||
|
|
||||||
return Transform.fromService({
|
return Transform.fromService({
|
||||||
service,
|
service,
|
||||||
@ -2564,9 +2564,11 @@ class Data extends EventEmitter {
|
|||||||
metric.name = metricNameEnum[i];
|
metric.name = metricNameEnum[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
metric.metrics = metric.metrics.map((entry) => Object.assign(entry, {
|
metric.metrics = metric.metrics.map((entry) => {
|
||||||
time: entry.time.toISOString()
|
return Object.assign(entry, {
|
||||||
}));
|
time: entry.time.toISOString()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
return Object.assign(metric, {
|
return Object.assign(metric, {
|
||||||
start: metric.metrics[0].time,
|
start: metric.metrics[0].time,
|
||||||
@ -2587,7 +2589,7 @@ class Data extends EventEmitter {
|
|||||||
|
|
||||||
prometheus.getMetrics({
|
prometheus.getMetrics({
|
||||||
names: formattedNames,
|
names: formattedNames,
|
||||||
instances: ctx.machines.map(({ name }) => name),
|
instances: ctx.machines.map(({ name }) => { return name; }),
|
||||||
start,
|
start,
|
||||||
end
|
end
|
||||||
}, (err, metrics) => {
|
}, (err, metrics) => {
|
||||||
|
@ -311,7 +311,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
}, cb);
|
}, cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
_resolveServiceConnections ({ services, service }) {
|
static _resolveServiceConnections ({ services, service }) {
|
||||||
const watches = Uniq(
|
const watches = Uniq(
|
||||||
Flatten(
|
Flatten(
|
||||||
ForceArray(service.instances).map(({ watches }) => {
|
ForceArray(service.instances).map(({ watches }) => {
|
||||||
@ -348,7 +348,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_resolveInstanceHealth ({ name }, instance) {
|
static _resolveInstanceHealth ({ name }, instance) {
|
||||||
if (!instance) {
|
if (!instance) {
|
||||||
return 'UNAVAILABLE';
|
return 'UNAVAILABLE';
|
||||||
}
|
}
|
||||||
@ -379,7 +379,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
return 'UNKNOWN';
|
return 'UNKNOWN';
|
||||||
}
|
}
|
||||||
|
|
||||||
_resolveServiceBranches ({ name, slug, instances }) {
|
static _resolveServiceBranches ({ name, slug, instances }) {
|
||||||
if (instances.length <= 1) {
|
if (instances.length <= 1) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -437,7 +437,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
return Object.values(branches).concat(defaultBranch);
|
return Object.values(branches).concat(defaultBranch);
|
||||||
}
|
}
|
||||||
|
|
||||||
_resolveDeploymentGroups (dgs) {
|
static _resolveDeploymentGroups (dgs) {
|
||||||
return dgs
|
return dgs
|
||||||
.filter(Boolean)
|
.filter(Boolean)
|
||||||
.map((dg) => {
|
.map((dg) => {
|
||||||
@ -451,7 +451,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return Object.assign({}, instance, {
|
return Object.assign({}, instance, {
|
||||||
healthy: this._resolveInstanceHealth(service, instance),
|
healthy: ContainerPilotWatcher._resolveInstanceHealth(service, instance),
|
||||||
jobs,
|
jobs,
|
||||||
watches
|
watches
|
||||||
});
|
});
|
||||||
@ -464,8 +464,8 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
return Object.assign({}, dg, {
|
return Object.assign({}, dg, {
|
||||||
services: ForceArray(dg.services).map((service) => {
|
services: ForceArray(dg.services).map((service) => {
|
||||||
return Object.assign({}, service, {
|
return Object.assign({}, service, {
|
||||||
branches: this._resolveServiceBranches(service),
|
branches: ContainerPilotWatcher._resolveServiceBranches(service),
|
||||||
connections: this._resolveServiceConnections({
|
connections: ContainerPilotWatcher._resolveServiceConnections({
|
||||||
services: dg.services,
|
services: dg.services,
|
||||||
service
|
service
|
||||||
})
|
})
|
||||||
@ -485,7 +485,7 @@ module.exports = class ContainerPilotWatcher extends Events {
|
|||||||
this.emit('error', err);
|
this.emit('error', err);
|
||||||
}
|
}
|
||||||
|
|
||||||
const dgs = this._resolveDeploymentGroups(
|
const dgs = ContainerPilotWatcher._resolveDeploymentGroups(
|
||||||
ForceArray((results || {}).successes)
|
ForceArray((results || {}).successes)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ module.exports = class MachineWatcher {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getInstances (service, cb) {
|
static getInstances (service, cb) {
|
||||||
service.instances()
|
service.instances()
|
||||||
.then((instances) => {
|
.then((instances) => {
|
||||||
return cb(null, instances);
|
return cb(null, instances);
|
||||||
@ -151,7 +151,7 @@ module.exports = class MachineWatcher {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getVersion (deploymentGroup, cb) {
|
static getVersion (deploymentGroup, cb) {
|
||||||
if (typeof deploymentGroup.version !== 'function') {
|
if (typeof deploymentGroup.version !== 'function') {
|
||||||
return cb(new Error('version must be a function'));
|
return cb(new Error('version must be a function'));
|
||||||
}
|
}
|
||||||
@ -578,12 +578,12 @@ module.exports = class MachineWatcher {
|
|||||||
service,
|
service,
|
||||||
deploymentGroup
|
deploymentGroup
|
||||||
}, cb) => {
|
}, cb) => {
|
||||||
this.getInstances(service, (err, instances = []) => {
|
MachineWatcher.getInstances(service, (err, instances = []) => {
|
||||||
if (err && !isNotFound(err)) {
|
if (err && !isNotFound(err)) {
|
||||||
return cb(err);
|
return cb(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getVersion(deploymentGroup, (err, version) => {
|
MachineWatcher.getVersion(deploymentGroup, (err, version) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
return cb(err);
|
return cb(err);
|
||||||
}
|
}
|
||||||
|
@ -42,13 +42,13 @@ server.register([
|
|||||||
options: { namespace: 'portal', subsystem: 'api' }
|
options: { namespace: 'portal', subsystem: 'api' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
(err) => {
|
(err) => {
|
||||||
|
handlerError(err);
|
||||||
|
server.start((err) => {
|
||||||
handlerError(err);
|
handlerError(err);
|
||||||
server.start((err) => {
|
console.log(`server started at http://localhost:${server.info.port}`);
|
||||||
handlerError(err);
|
});
|
||||||
console.log(`server started at http://localhost:${server.info.port}`);
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
function handlerError (error) {
|
function handlerError (error) {
|
||||||
|
@ -6,25 +6,25 @@ module.exports = ({ deploymentGroups = [], services = [], instances = [] }) => {
|
|||||||
const getInstances = (serviceId) => {
|
const getInstances = (serviceId) => {
|
||||||
return (opts, cb) => {
|
return (opts, cb) => {
|
||||||
cb(null, instances
|
cb(null, instances
|
||||||
.filter((instance) => {
|
.filter((instance) => {
|
||||||
return instance.serviceId === serviceId;
|
return instance.serviceId === serviceId;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
const getServices = (deploymentGroupId) => {
|
const getServices = (deploymentGroupId) => {
|
||||||
return (opts, cb) => {
|
return (opts, cb) => {
|
||||||
cb(null, services
|
cb(null, services
|
||||||
.filter((service) => {
|
.filter((service) => {
|
||||||
return service.deploymentGroupId === deploymentGroupId;
|
return service.deploymentGroupId === deploymentGroupId;
|
||||||
})
|
})
|
||||||
.map((service) => {
|
.map((service) => {
|
||||||
return Object.assign({}, service, {
|
return Object.assign({}, service, {
|
||||||
instances: getInstances(service.id)
|
instances: getInstances(service.id)
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ describe('graphql', () => {
|
|||||||
|
|
||||||
server.inject({ method: 'POST', url: '/graphql', payload }, (res) => {
|
server.inject({ method: 'POST', url: '/graphql', payload }, (res) => {
|
||||||
expect(res.statusCode).to.equal(200);
|
expect(res.statusCode).to.equal(200);
|
||||||
console.log(res.result.data)
|
console.log(res.result.data);
|
||||||
const deploymentGroup = res.result.data.portal.deploymentGroups[0];
|
const deploymentGroup = res.result.data.portal.deploymentGroups[0];
|
||||||
expect(deploymentGroup.name).to.equal('test');
|
expect(deploymentGroup.name).to.equal('test');
|
||||||
expect(deploymentGroup.services[0].name).to.equal('service');
|
expect(deploymentGroup.services[0].name).to.equal('service');
|
||||||
|
Loading…
Reference in New Issue
Block a user