UNPKG

1.36 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.readConfigFile = readConfigFile;
7exports.createPlan = createPlan;
8
9var _fs = require('fs');
10
11var _fs2 = _interopRequireDefault(_fs);
12
13var _jsYaml = require('js-yaml');
14
15var _jsYaml2 = _interopRequireDefault(_jsYaml);
16
17var _cccfDockerInstructions = require('cccf-docker-instructions');
18
19var _cccfDockerInstructions2 = _interopRequireDefault(_cccfDockerInstructions);
20
21var _object = require('object.assign');
22
23var _object2 = _interopRequireDefault(_object);
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27var engines = {
28 docker: {
29 createServicePlan: function createServicePlan(serviceName, service, _default) {
30 _default = _default || {};
31 var _service = {};
32 (0, _object2.default)(_service, service, { id: serviceName }, _default);
33 return _cccfDockerInstructions2.default.run(_service);
34 }
35 }
36};
37
38function readConfigFile(args) {
39 try {
40 return _jsYaml2.default.safeLoad(_fs2.default.readFileSync(args.file));
41 } catch (e) {
42 throw e;
43 process.exit(1);
44 }
45}
46
47function createPlan(swarm, nodes) {
48 var current = getCurrent(nodes);
49 var wanted = getWanted(swarm);
50 var hosts = getHosts(nodes);
51 var plan = scheduler.spread(hosts, wanted, current);
52 return formatPlan(plan);
53}
\No newline at end of file