@leverege/build-tools 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/server/helmify/helm.js +30 -36
- package/lib/web/packleate/Packleator.js +19 -37
- package/lib/web/packleate/index.js +8 -6
- package/package.json +1 -1
- package/src/dockreate +1 -15
- package/src/helminit-svc +2 -1
- package/src/helmup +1 -0
|
@@ -35,24 +35,8 @@ function transformGoFormat(input) {
|
|
|
35
35
|
return input.replace(/-/g, '_');
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
case 'none':
|
|
41
|
-
return null;
|
|
42
|
-
|
|
43
|
-
case 'internal':
|
|
44
|
-
return 'ClusterIP';
|
|
45
|
-
|
|
46
|
-
case 'external':
|
|
47
|
-
return 'NodePort';
|
|
48
|
-
|
|
49
|
-
default:
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async function createValuesYAML(name, version, redisAccess, securityContext, preemptible, serviceType) {
|
|
55
|
-
const openPort = serviceType !== 'none';
|
|
38
|
+
async function createValuesYAML(name, version, redisAccess, securityContext, preemptible, protocol, scaler, cloud) {
|
|
39
|
+
const openPort = protocol !== 'none';
|
|
56
40
|
const portFromEnv = process.env.PORT || process.env.SERVER_PORT;
|
|
57
41
|
const portNumber = parseInt(portFromEnv) || 8080;
|
|
58
42
|
let values = {
|
|
@@ -70,7 +54,7 @@ async function createValuesYAML(name, version, redisAccess, securityContext, pre
|
|
|
70
54
|
"readOnlyRootFs": !securityContext
|
|
71
55
|
},
|
|
72
56
|
"cloud": {
|
|
73
|
-
"provider":
|
|
57
|
+
"provider": cloud,
|
|
74
58
|
"project": "",
|
|
75
59
|
"region": "",
|
|
76
60
|
"sqlInstance": ""
|
|
@@ -84,7 +68,7 @@ async function createValuesYAML(name, version, redisAccess, securityContext, pre
|
|
|
84
68
|
}
|
|
85
69
|
};
|
|
86
70
|
|
|
87
|
-
if (
|
|
71
|
+
if (scaler) {
|
|
88
72
|
values = Object.assign(values, scalerValues);
|
|
89
73
|
}
|
|
90
74
|
|
|
@@ -105,9 +89,9 @@ async function createChartYAML(chart) {
|
|
|
105
89
|
}
|
|
106
90
|
}
|
|
107
91
|
|
|
108
|
-
async function createServiceYAML(name, serviceType) {
|
|
92
|
+
async function createServiceYAML(name, serviceType, protocol) {
|
|
109
93
|
try {
|
|
110
|
-
await execa('helminit-svc', [name, serviceType]);
|
|
94
|
+
await execa('helminit-svc', [name, serviceType, protocol]);
|
|
111
95
|
} catch (err) {
|
|
112
96
|
console.error('Failed to create service.yaml file', chalk.red.bold('ERROR'));
|
|
113
97
|
process.exit(1);
|
|
@@ -144,12 +128,13 @@ async function createTemplates() {
|
|
|
144
128
|
}, {
|
|
145
129
|
name: 'securityContext',
|
|
146
130
|
type: 'confirm',
|
|
147
|
-
message: 'Does this server need special write access to filesystem?'
|
|
131
|
+
message: 'Does this server need special write access to filesystem?',
|
|
132
|
+
default: false
|
|
148
133
|
}, {
|
|
149
|
-
name: '
|
|
134
|
+
name: 'protocol',
|
|
150
135
|
type: 'rawlist',
|
|
151
|
-
message: 'Does this server
|
|
152
|
-
choices: ['none', '
|
|
136
|
+
message: 'Does this server require a TCP or UDP port open for communication?',
|
|
137
|
+
choices: ['none', 'UDP', 'TCP'],
|
|
153
138
|
default: ['none']
|
|
154
139
|
}, {
|
|
155
140
|
name: 'scaler',
|
|
@@ -159,8 +144,8 @@ async function createTemplates() {
|
|
|
159
144
|
name: 'cloud',
|
|
160
145
|
type: 'rawlist',
|
|
161
146
|
message: 'By default, which cloud platform will this server be deployed on?',
|
|
162
|
-
choices: ['
|
|
163
|
-
default: ['
|
|
147
|
+
choices: ['gcp', 'aws'],
|
|
148
|
+
default: ['gcp']
|
|
164
149
|
}, {
|
|
165
150
|
name: 'cloudServices',
|
|
166
151
|
type: 'checkbox',
|
|
@@ -220,17 +205,26 @@ module.exports = {
|
|
|
220
205
|
await createChartYAML(chart);
|
|
221
206
|
const templateOpts = await createTemplates();
|
|
222
207
|
const {
|
|
223
|
-
|
|
208
|
+
protocol,
|
|
224
209
|
scaler,
|
|
225
210
|
cloudServices,
|
|
226
211
|
redisAccess,
|
|
227
212
|
securityContext,
|
|
228
|
-
preemptible
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
if (
|
|
233
|
-
|
|
213
|
+
preemptible,
|
|
214
|
+
cloud
|
|
215
|
+
} = templateOpts; // Based on protocol, ask about serviceType
|
|
216
|
+
|
|
217
|
+
if (protocol !== 'none') {
|
|
218
|
+
const servicesQ = [{
|
|
219
|
+
name: 'service',
|
|
220
|
+
type: 'rawlist',
|
|
221
|
+
message: 'What kind of service does your server need (ClusterIP for internal, NodePort/LB for external)?',
|
|
222
|
+
choices: ['ClusterIP', 'NodePort', 'LoadBalancer'],
|
|
223
|
+
default: ['ClusterIP']
|
|
224
|
+
}];
|
|
225
|
+
const ans = await inquirer.prompt(servicesQ);
|
|
226
|
+
const serviceType = ans.service;
|
|
227
|
+
await createServiceYAML(chartSafeName, serviceType, protocol);
|
|
234
228
|
}
|
|
235
229
|
|
|
236
230
|
if (scaler) {
|
|
@@ -240,7 +234,7 @@ module.exports = {
|
|
|
240
234
|
const enableFirebase = cloudServices.includes('firebase');
|
|
241
235
|
const enableBigQuery = cloudServices.includes('bigquery');
|
|
242
236
|
await createDeploymentYAML(name, enableFirebase, enableBigQuery);
|
|
243
|
-
await createValuesYAML(chartSafeName, appVersion, redisAccess, securityContext, preemptible,
|
|
237
|
+
await createValuesYAML(chartSafeName, appVersion, redisAccess, securityContext, preemptible, protocol, scaler, cloud);
|
|
244
238
|
console.log(chalk.green.bold(`\n\n Helm chart for ${name} is now ready \n`));
|
|
245
239
|
console.log(chalk.yellow.bold('Add any additional env vars to value.yaml and deployment.yaml prior to deployment'));
|
|
246
240
|
}
|
|
@@ -6,12 +6,16 @@ require("core-js/modules/es.array.concat");
|
|
|
6
6
|
|
|
7
7
|
require("core-js/modules/es.array.filter");
|
|
8
8
|
|
|
9
|
+
require("core-js/modules/es.array.for-each");
|
|
10
|
+
|
|
9
11
|
require("core-js/modules/es.array.index-of");
|
|
10
12
|
|
|
11
13
|
require("core-js/modules/es.array.iterator");
|
|
12
14
|
|
|
13
15
|
require("core-js/modules/es.object.get-own-property-descriptor");
|
|
14
16
|
|
|
17
|
+
require("core-js/modules/es.object.get-own-property-descriptors");
|
|
18
|
+
|
|
15
19
|
require("core-js/modules/es.object.keys");
|
|
16
20
|
|
|
17
21
|
require("core-js/modules/es.object.to-string");
|
|
@@ -42,7 +46,9 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
42
46
|
|
|
43
47
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
44
48
|
|
|
45
|
-
function
|
|
49
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
50
|
+
|
|
51
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
46
52
|
|
|
47
53
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
48
54
|
|
|
@@ -68,9 +74,7 @@ var tar = require('tar');
|
|
|
68
74
|
|
|
69
75
|
var semver = require('semver');
|
|
70
76
|
|
|
71
|
-
var Packleator =
|
|
72
|
-
/*#__PURE__*/
|
|
73
|
-
function () {
|
|
77
|
+
var Packleator = /*#__PURE__*/function () {
|
|
74
78
|
function Packleator(options) {
|
|
75
79
|
_classCallCheck(this, Packleator);
|
|
76
80
|
|
|
@@ -93,9 +97,7 @@ function () {
|
|
|
93
97
|
_createClass(Packleator, [{
|
|
94
98
|
key: "run",
|
|
95
99
|
value: function () {
|
|
96
|
-
var _run = _asyncToGenerator(
|
|
97
|
-
/*#__PURE__*/
|
|
98
|
-
regeneratorRuntime.mark(function _callee2() {
|
|
100
|
+
var _run = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
99
101
|
var _this = this;
|
|
100
102
|
|
|
101
103
|
var deps;
|
|
@@ -145,12 +147,8 @@ function () {
|
|
|
145
147
|
callback();
|
|
146
148
|
});
|
|
147
149
|
});
|
|
148
|
-
},
|
|
149
|
-
|
|
150
|
-
function () {
|
|
151
|
-
var _ref = _asyncToGenerator(
|
|
152
|
-
/*#__PURE__*/
|
|
153
|
-
regeneratorRuntime.mark(function _callee(err) {
|
|
150
|
+
}, /*#__PURE__*/function () {
|
|
151
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(err) {
|
|
154
152
|
var _this$outputPackageJs, name, version, fileName;
|
|
155
153
|
|
|
156
154
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -235,9 +233,7 @@ function () {
|
|
|
235
233
|
}, {
|
|
236
234
|
key: "rebuildPackageJson",
|
|
237
235
|
value: function () {
|
|
238
|
-
var _rebuildPackageJson = _asyncToGenerator(
|
|
239
|
-
/*#__PURE__*/
|
|
240
|
-
regeneratorRuntime.mark(function _callee3() {
|
|
236
|
+
var _rebuildPackageJson = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
241
237
|
var _this2 = this;
|
|
242
238
|
|
|
243
239
|
var packageJson, tarredPackages, _packageJson$dependen, dependencies, _packageJson$devDepen, devDependencies;
|
|
@@ -284,9 +280,7 @@ function () {
|
|
|
284
280
|
}, {
|
|
285
281
|
key: "rebuildPackageLockJson",
|
|
286
282
|
value: function () {
|
|
287
|
-
var _rebuildPackageLockJson = _asyncToGenerator(
|
|
288
|
-
/*#__PURE__*/
|
|
289
|
-
regeneratorRuntime.mark(function _callee4() {
|
|
283
|
+
var _rebuildPackageLockJson = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
|
|
290
284
|
var packageLockJson, tarredPackages, recurseDeps;
|
|
291
285
|
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
292
286
|
while (1) {
|
|
@@ -335,9 +329,7 @@ function () {
|
|
|
335
329
|
}, {
|
|
336
330
|
key: "copyFiles",
|
|
337
331
|
value: function () {
|
|
338
|
-
var _copyFiles = _asyncToGenerator(
|
|
339
|
-
/*#__PURE__*/
|
|
340
|
-
regeneratorRuntime.mark(function _callee5() {
|
|
332
|
+
var _copyFiles = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
|
|
341
333
|
var _this3 = this;
|
|
342
334
|
|
|
343
335
|
var startsWith, endsWith;
|
|
@@ -397,9 +389,7 @@ function () {
|
|
|
397
389
|
}, {
|
|
398
390
|
key: "pack",
|
|
399
391
|
value: function () {
|
|
400
|
-
var _pack = _asyncToGenerator(
|
|
401
|
-
/*#__PURE__*/
|
|
402
|
-
regeneratorRuntime.mark(function _callee6(name, version, dir) {
|
|
392
|
+
var _pack = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(name, version, dir) {
|
|
403
393
|
var fileName;
|
|
404
394
|
return regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
405
395
|
while (1) {
|
|
@@ -450,9 +440,7 @@ function () {
|
|
|
450
440
|
}, {
|
|
451
441
|
key: "cleanup",
|
|
452
442
|
value: function () {
|
|
453
|
-
var _cleanup = _asyncToGenerator(
|
|
454
|
-
/*#__PURE__*/
|
|
455
|
-
regeneratorRuntime.mark(function _callee7() {
|
|
443
|
+
var _cleanup = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
|
|
456
444
|
return regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
457
445
|
while (1) {
|
|
458
446
|
switch (_context7.prev = _context7.next) {
|
|
@@ -484,9 +472,7 @@ function () {
|
|
|
484
472
|
}, {
|
|
485
473
|
key: "npmInstall",
|
|
486
474
|
value: function () {
|
|
487
|
-
var _npmInstall = _asyncToGenerator(
|
|
488
|
-
/*#__PURE__*/
|
|
489
|
-
regeneratorRuntime.mark(function _callee8() {
|
|
475
|
+
var _npmInstall = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
|
|
490
476
|
var _this4 = this;
|
|
491
477
|
|
|
492
478
|
var dir,
|
|
@@ -540,9 +526,7 @@ function () {
|
|
|
540
526
|
}, {
|
|
541
527
|
key: "getPrivateDeps",
|
|
542
528
|
value: function () {
|
|
543
|
-
var _getPrivateDeps = _asyncToGenerator(
|
|
544
|
-
/*#__PURE__*/
|
|
545
|
-
regeneratorRuntime.mark(function _callee9(depth) {
|
|
529
|
+
var _getPrivateDeps = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(depth) {
|
|
546
530
|
var _this5 = this;
|
|
547
531
|
|
|
548
532
|
return regeneratorRuntime.wrap(function _callee9$(_context9) {
|
|
@@ -587,9 +571,7 @@ function () {
|
|
|
587
571
|
}, {
|
|
588
572
|
key: "getPackageJson",
|
|
589
573
|
value: function () {
|
|
590
|
-
var _getPackageJson = _asyncToGenerator(
|
|
591
|
-
/*#__PURE__*/
|
|
592
|
-
regeneratorRuntime.mark(function _callee10() {
|
|
574
|
+
var _getPackageJson = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
|
|
593
575
|
var dir,
|
|
594
576
|
lock,
|
|
595
577
|
lockModifier,
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
|
|
4
4
|
require("core-js/modules/es.symbol");
|
|
5
5
|
|
|
6
|
-
require("core-js/modules/es.array.concat");
|
|
7
|
-
|
|
8
6
|
require("core-js/modules/es.array.filter");
|
|
9
7
|
|
|
8
|
+
require("core-js/modules/es.array.for-each");
|
|
9
|
+
|
|
10
10
|
require("core-js/modules/es.object.get-own-property-descriptor");
|
|
11
11
|
|
|
12
|
+
require("core-js/modules/es.object.get-own-property-descriptors");
|
|
13
|
+
|
|
12
14
|
require("core-js/modules/es.object.keys");
|
|
13
15
|
|
|
14
16
|
require("core-js/modules/es.object.to-string");
|
|
@@ -19,7 +21,9 @@ require("core-js/modules/web.dom-collections.for-each");
|
|
|
19
21
|
|
|
20
22
|
require("regenerator-runtime/runtime");
|
|
21
23
|
|
|
22
|
-
function
|
|
24
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
25
|
+
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
27
|
|
|
24
28
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
29
|
|
|
@@ -105,9 +109,7 @@ function main() {
|
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
function _main() {
|
|
108
|
-
_main = _asyncToGenerator(
|
|
109
|
-
/*#__PURE__*/
|
|
110
|
-
regeneratorRuntime.mark(function _callee() {
|
|
112
|
+
_main = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
111
113
|
var packleator;
|
|
112
114
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
113
115
|
while (1) {
|
package/package.json
CHANGED
package/src/dockreate
CHANGED
|
@@ -200,21 +200,7 @@ runuser=$(strip_undefined "`node -p \"require('../package.json').leverege.runuse
|
|
|
200
200
|
container="`node -p \"require('../package.json').leverege.container\"`"
|
|
201
201
|
if [ "$container" == "undefined" ];
|
|
202
202
|
then
|
|
203
|
-
|
|
204
|
-
if [ -z $gitremote ];
|
|
205
|
-
then
|
|
206
|
-
cat<<NOCONTAINER
|
|
207
|
-
|
|
208
|
-
$(colorize 'red' '***ERROR: attempting to build an unnamed container')
|
|
209
|
-
|
|
210
|
-
You are attempting to create a docker image without a container name or
|
|
211
|
-
a git remote setup. Either define a $(colorize 'yellow' 'container') statement in the leverege
|
|
212
|
-
section of package.json, or add a $(colorize 'green' 'git remote') to this repository.
|
|
213
|
-
|
|
214
|
-
NOCONTAINER
|
|
215
|
-
exit 1
|
|
216
|
-
fi
|
|
217
|
-
container=$(basename $gitremote .git)
|
|
203
|
+
container=$(basename `git config --get remote.origin.url` .git)
|
|
218
204
|
fi
|
|
219
205
|
gcimage=gcr.io/$project/$container
|
|
220
206
|
|
package/src/helminit-svc
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
chartName=$1
|
|
4
4
|
serviceType=$2
|
|
5
|
+
protocol=$3
|
|
5
6
|
|
|
6
7
|
touch helm/templates/service.yaml
|
|
7
8
|
|
|
@@ -15,7 +16,7 @@ spec:
|
|
|
15
16
|
selector:
|
|
16
17
|
app: {{ .Chart.Name }}
|
|
17
18
|
ports:
|
|
18
|
-
- protocol:
|
|
19
|
+
- protocol: $protocol
|
|
19
20
|
port: {{ .Values.$chartName.port }}
|
|
20
21
|
targetPort: api
|
|
21
22
|
EOSERVICE
|
package/src/helmup
CHANGED
|
@@ -298,6 +298,7 @@ function installVelero() {
|
|
|
298
298
|
--set "initContainers[0].volumeMounts[0].name"="plugins" \
|
|
299
299
|
--set schedules.timescale.schedule="0 3 * * *" \
|
|
300
300
|
--set schedules.timescale.template.ttl="720h" \
|
|
301
|
+
--set schedules.timescale.template.labelSelector.matchLabels.release="timescale-db" \
|
|
301
302
|
--set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
|
|
302
303
|
--set schedules.timescale.template.snapshotVolumes="true"
|
|
303
304
|
|