@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.
@@ -35,24 +35,8 @@ function transformGoFormat(input) {
35
35
  return input.replace(/-/g, '_');
36
36
  }
37
37
 
38
- function mapServiceToType(service) {
39
- switch (service) {
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": "gcp",
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 (serviceType) {
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: 'service',
134
+ name: 'protocol',
150
135
  type: 'rawlist',
151
- message: 'Does this server need a TCP port open for internal or external access?',
152
- choices: ['none', 'internal', 'external'],
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: ['GCP', 'AWS'],
163
- default: ['GCP']
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
- service,
208
+ protocol,
224
209
  scaler,
225
210
  cloudServices,
226
211
  redisAccess,
227
212
  securityContext,
228
- preemptible
229
- } = templateOpts;
230
- const serviceType = mapServiceToType(service);
231
-
232
- if (serviceType) {
233
- await createServiceYAML(chartSafeName, serviceType);
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, serviceType);
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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
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
- /*#__PURE__*/
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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leverege/build-tools",
3
- "version": "2.4.2",
3
+ "version": "2.4.3",
4
4
  "description": "A collection of build / support tools for Leverege developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
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
- gitremote=`git config --get remote.origin.url`
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: TCP
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