@leverege/build-tools 2.0.2 → 2.0.4

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.
@@ -44,7 +44,7 @@ create_server_config(){
44
44
  cat<<EOCIRCLE > config.yml
45
45
  version: 2.1
46
46
  orbs:
47
- gcp-gcr: circleci/gcp-gcr@0.0.1
47
+ gcp-gcr: circleci/gcp-gcr@0.6.1
48
48
  anchore: anchore/anchore-engine@1.2.0
49
49
  executors:
50
50
  default:
@@ -80,6 +80,8 @@ jobs:
80
80
  timeout: '500'
81
81
  policy_failure: true
82
82
  - anchore/parse_reports
83
+ - store_artifacts:
84
+ path: anchore-report
83
85
 
84
86
  gcr:
85
87
  # gcr build docker image and pushes to gcr
@@ -90,14 +92,20 @@ jobs:
90
92
  - run: |
91
93
  echo "export CONTAINER_NAME=\$(cat ~/project/container_name)" >> \$BASH_ENV
92
94
  echo "export PACKAGE_VERSION=\$(cat ~/project/package_version)" >> \$BASH_ENV
93
- - gcp-gcr/gcr-auth
94
- - gcp-gcr/build-image:
95
+ echo "export NODE_IMAGE=\$(cat ~/project/node_img)" >> \$BASH_ENV
96
+ - gcp-gcr/build-and-push-image
97
+ - gcp-gcr/build-and-push-image
95
98
  image: \$CONTAINER_NAME
96
99
  tag: \$PACKAGE_VERSION
97
- path-to-dockerfile: docker
98
- - gcp-gcr/push-image:
100
+ path: docker
101
+ - gcp-gcr/add-image-tag:
99
102
  image: \$CONTAINER_NAME
100
- tag: \$PACKAGE_VERSION
103
+ source-tag: \$PACKAGE_VERSION
104
+ target-tag: latest
105
+ - gcp-gcr/add-image-tag:
106
+ image: \$CONTAINER_NAME
107
+ source-tag: \$PACKAGE_VERSION
108
+ target-tag: circle-\$NODE_IMAGE-\$CIRCLE_USERNAME
101
109
 
102
110
  smoke-test:
103
111
  # smoke test checks for license, security, and linting
@@ -119,9 +127,7 @@ jobs:
119
127
 
120
128
  - run:
121
129
  name: Check for vulnerabilities
122
- command: |
123
- sudo npm install -g npm@latest
124
- npm audit --production
130
+ command: npm audit --production
125
131
 
126
132
  - run:
127
133
  name: Check for LICENSE and README files
@@ -230,10 +236,12 @@ jobs:
230
236
  then
231
237
  container=\$CIRCLE_PROJECT_REPONAME
232
238
  fi
239
+ NODE_IMAGE="\`node -p \"require('./package.json').leverege.nodeimg\"\`"
233
240
 
234
241
  echo v\${PACKAGE_VERSION} > package_version
235
242
  echo "export PACKAGE_VERSION=v\${PACKAGE_VERSION}" >> \$BASH_ENV
236
243
  echo \${container} > container_name
244
+ echo \${NODE_IMAGE} > node_img
237
245
  - run:
238
246
  name: Create Dockerfile and build dist directory
239
247
  command: npm run dockerize \$PACKAGE_VERSION
@@ -245,6 +253,7 @@ jobs:
245
253
  - docker/*
246
254
  - package_version
247
255
  - container_name
256
+ - node_img
248
257
  - package*json
249
258
 
250
259
  workflows:
@@ -309,9 +318,7 @@ jobs:
309
318
 
310
319
  - run:
311
320
  name: Check for vulnerabilities
312
- command: |
313
- sudo npm install -g npm@latest
314
- npm audit --production
321
+ command: npm audit --production
315
322
 
316
323
  - run:
317
324
  name: Check for LICENSE and README files
package/lib/server/helmup CHANGED
@@ -150,10 +150,6 @@ function installVelero() {
150
150
  --set schedules.timescale.template.ttl="720h" \
151
151
  --set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
152
152
  --set schedules.timescale.template.snapshotVolumes="true" \
153
- --set schedules.mysql.schedule="0 2 * * *" \
154
- --set schedules.mysql.template.ttl="720h" \
155
- --set schedules.mysql.template.labelSelector.matchLabels.app="mysql" \
156
- --set schedules.mysql.template.snapshotVolumes="true"
157
153
 
158
154
  ## Instruct users to move velero keys
159
155
  printf "\n$YELO_WARN MOVE THE SERVICE ACCOUNT TO YOUR KEYS FOLDER"
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+
3
+ C_off='\e[0m'
4
+ C_yellow='\e[93m'
5
+
6
+ good() {
7
+ printf "\e[32m✔${C_off}"
8
+ }
9
+
10
+ bad() {
11
+ printf "\e[31m✘${C_off}"
12
+ }
13
+
14
+ check_file() {
15
+ local C_stat=$(bad)
16
+ local filename=$1
17
+
18
+ if [ -f $filename ]; then
19
+ C_stat=$(good)
20
+ printf "$C_stat $filename\n"
21
+ else
22
+ printf "$C_stat $filename is missing\n\n"
23
+ printf "${C_yellow} Please create $filename before pushing to prod\n\n"
24
+ exit 1
25
+ fi
26
+ }
27
+
28
+ printf "\nChecking repo for markdown files\n\n"
29
+
30
+ files=( README.md LICENSE.md )
31
+ for file in ${files[@]}; do
32
+ check_file $file
33
+ done
34
+
35
+ printf "\nAll required files exist\n\n"
@@ -5,8 +5,6 @@ require("core-js/modules/es.symbol");
5
5
 
6
6
  require("core-js/modules/es.array.filter");
7
7
 
8
- require("core-js/modules/es.array.for-each");
9
-
10
8
  require("core-js/modules/es.object.get-own-property-descriptor");
11
9
 
12
10
  require("core-js/modules/es.object.get-own-property-descriptors");
@@ -23,7 +21,7 @@ require("regenerator-runtime/runtime");
23
21
 
24
22
  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
23
 
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; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
25
 
28
26
  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; }
29
27
 
@@ -6,8 +6,6 @@ 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
-
11
9
  require("core-js/modules/es.array.index-of");
12
10
 
13
11
  require("core-js/modules/es.array.iterator");
@@ -48,7 +46,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
48
46
 
49
47
  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
48
 
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; }
49
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
52
50
 
53
51
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54
52
 
@@ -5,8 +5,6 @@ require("core-js/modules/es.symbol");
5
5
 
6
6
  require("core-js/modules/es.array.filter");
7
7
 
8
- require("core-js/modules/es.array.for-each");
9
-
10
8
  require("core-js/modules/es.object.get-own-property-descriptor");
11
9
 
12
10
  require("core-js/modules/es.object.get-own-property-descriptors");
@@ -23,7 +21,7 @@ require("regenerator-runtime/runtime");
23
21
 
24
22
  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
23
 
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; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
25
 
28
26
  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; }
29
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leverege/build-tools",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "A package for development build tools.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -28,7 +28,7 @@
28
28
  "overwhelm": "src/overwhelm",
29
29
  "packleate": "lib/web/packleate/index.js",
30
30
  "pkgck": "src/pkgck",
31
- "pkglint": "lib/server/pkglint/index.js"
31
+ "pkglint": "src/pkglint"
32
32
  },
33
33
  "author": "Leverege Devs",
34
34
  "license": "SEE LICENSE IN LICENSE.md",
package/src/circleate CHANGED
@@ -44,7 +44,7 @@ create_server_config(){
44
44
  cat<<EOCIRCLE > config.yml
45
45
  version: 2.1
46
46
  orbs:
47
- gcp-gcr: circleci/gcp-gcr@0.0.1
47
+ gcp-gcr: circleci/gcp-gcr@0.6.1
48
48
  anchore: anchore/anchore-engine@1.2.0
49
49
  executors:
50
50
  default:
@@ -80,6 +80,8 @@ jobs:
80
80
  timeout: '500'
81
81
  policy_failure: true
82
82
  - anchore/parse_reports
83
+ - store_artifacts:
84
+ path: anchore-report
83
85
 
84
86
  gcr:
85
87
  # gcr build docker image and pushes to gcr
@@ -90,14 +92,20 @@ jobs:
90
92
  - run: |
91
93
  echo "export CONTAINER_NAME=\$(cat ~/project/container_name)" >> \$BASH_ENV
92
94
  echo "export PACKAGE_VERSION=\$(cat ~/project/package_version)" >> \$BASH_ENV
93
- - gcp-gcr/gcr-auth
94
- - gcp-gcr/build-image:
95
+ echo "export NODE_IMAGE=\$(cat ~/project/node_img)" >> \$BASH_ENV
96
+ - gcp-gcr/build-and-push-image
97
+ - gcp-gcr/build-and-push-image
95
98
  image: \$CONTAINER_NAME
96
99
  tag: \$PACKAGE_VERSION
97
- path-to-dockerfile: docker
98
- - gcp-gcr/push-image:
100
+ path: docker
101
+ - gcp-gcr/add-image-tag:
99
102
  image: \$CONTAINER_NAME
100
- tag: \$PACKAGE_VERSION
103
+ source-tag: \$PACKAGE_VERSION
104
+ target-tag: latest
105
+ - gcp-gcr/add-image-tag:
106
+ image: \$CONTAINER_NAME
107
+ source-tag: \$PACKAGE_VERSION
108
+ target-tag: circle-\$NODE_IMAGE-\$CIRCLE_USERNAME
101
109
 
102
110
  smoke-test:
103
111
  # smoke test checks for license, security, and linting
@@ -119,9 +127,7 @@ jobs:
119
127
 
120
128
  - run:
121
129
  name: Check for vulnerabilities
122
- command: |
123
- sudo npm install -g npm@latest
124
- npm audit --production
130
+ command: npm audit --production
125
131
 
126
132
  - run:
127
133
  name: Check for LICENSE and README files
@@ -230,10 +236,12 @@ jobs:
230
236
  then
231
237
  container=\$CIRCLE_PROJECT_REPONAME
232
238
  fi
239
+ NODE_IMAGE="\`node -p \"require('./package.json').leverege.nodeimg\"\`"
233
240
 
234
241
  echo v\${PACKAGE_VERSION} > package_version
235
242
  echo "export PACKAGE_VERSION=v\${PACKAGE_VERSION}" >> \$BASH_ENV
236
243
  echo \${container} > container_name
244
+ echo \${NODE_IMAGE} > node_img
237
245
  - run:
238
246
  name: Create Dockerfile and build dist directory
239
247
  command: npm run dockerize \$PACKAGE_VERSION
@@ -245,6 +253,7 @@ jobs:
245
253
  - docker/*
246
254
  - package_version
247
255
  - container_name
256
+ - node_img
248
257
  - package*json
249
258
 
250
259
  workflows:
@@ -309,9 +318,7 @@ jobs:
309
318
 
310
319
  - run:
311
320
  name: Check for vulnerabilities
312
- command: |
313
- sudo npm install -g npm@latest
314
- npm audit --production
321
+ command: npm audit --production
315
322
 
316
323
  - run:
317
324
  name: Check for LICENSE and README files
package/src/helmup CHANGED
@@ -150,10 +150,6 @@ function installVelero() {
150
150
  --set schedules.timescale.template.ttl="720h" \
151
151
  --set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
152
152
  --set schedules.timescale.template.snapshotVolumes="true" \
153
- --set schedules.mysql.schedule="0 2 * * *" \
154
- --set schedules.mysql.template.ttl="720h" \
155
- --set schedules.mysql.template.labelSelector.matchLabels.app="mysql" \
156
- --set schedules.mysql.template.snapshotVolumes="true"
157
153
 
158
154
  ## Instruct users to move velero keys
159
155
  printf "\n$YELO_WARN MOVE THE SERVICE ACCOUNT TO YOUR KEYS FOLDER"
package/src/pkglint ADDED
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+
3
+ C_off='\e[0m'
4
+ C_yellow='\e[93m'
5
+
6
+ good() {
7
+ printf "\e[32m✔${C_off}"
8
+ }
9
+
10
+ bad() {
11
+ printf "\e[31m✘${C_off}"
12
+ }
13
+
14
+ check_file() {
15
+ local C_stat=$(bad)
16
+ local filename=$1
17
+
18
+ if [ -f $filename ]; then
19
+ C_stat=$(good)
20
+ printf "$C_stat $filename\n"
21
+ else
22
+ printf "$C_stat $filename is missing\n\n"
23
+ printf "${C_yellow} Please create $filename before pushing to prod\n\n"
24
+ exit 1
25
+ fi
26
+ }
27
+
28
+ printf "\nChecking repo for markdown files\n\n"
29
+
30
+ files=( README.md LICENSE.md )
31
+ for file in ${files[@]}; do
32
+ check_file $file
33
+ done
34
+
35
+ printf "\nAll required files exist\n\n"
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- const glob = require('glob');
5
-
6
- const filesToCheck = ['README.md', 'LICENSE.md'];
7
- const mdFiles = glob.sync('*.md'); // from https://github.com/lodash/lodash/issues/1743
8
-
9
- function arrayContainsArray(superset, subset) {
10
- if (subset.length === 0) {
11
- return false;
12
- }
13
-
14
- return subset.every(value => {
15
- return superset.indexOf(value) >= 0;
16
- });
17
- }
18
-
19
- if (!arrayContainsArray(mdFiles, filesToCheck)) {
20
- console.log('Cannot find README.md or LICENSE.md');
21
- process.exit(1);
22
- }
@@ -1,26 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- require("core-js/modules/es.array.every");
5
-
6
- require("core-js/modules/es.array.index-of");
7
-
8
- var glob = require('glob');
9
-
10
- var filesToCheck = ['README.md', 'LICENSE.md'];
11
- var mdFiles = glob.sync('*.md'); // from https://github.com/lodash/lodash/issues/1743
12
-
13
- function arrayContainsArray(superset, subset) {
14
- if (subset.length === 0) {
15
- return false;
16
- }
17
-
18
- return subset.every(function (value) {
19
- return superset.indexOf(value) >= 0;
20
- });
21
- }
22
-
23
- if (!arrayContainsArray(mdFiles, filesToCheck)) {
24
- console.log('Cannot find README.md or LICENSE.md');
25
- process.exit(1);
26
- }
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const glob = require( 'glob' )
4
-
5
- const filesToCheck = [ 'README.md', 'LICENSE.md' ]
6
-
7
- const mdFiles = glob.sync( '*.md' )
8
-
9
- // from https://github.com/lodash/lodash/issues/1743
10
- function arrayContainsArray( superset, subset ) {
11
- if ( subset.length === 0 ) {
12
- return false
13
- }
14
- return subset.every( ( value ) => {
15
- return ( superset.indexOf( value ) >= 0 )
16
- } )
17
- }
18
-
19
- if ( !arrayContainsArray( mdFiles, filesToCheck ) ) {
20
- console.log( 'Cannot find README.md or LICENSE.md' )
21
- process.exit( 1 )
22
- }