@rancher/shell 0.3.21 → 0.3.22
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/assets/translations/en-us.yaml +4 -0
- package/assets/translations/zh-hans.yaml +8 -1
- package/cloud-credential/__tests__/azure.test.ts +53 -0
- package/cloud-credential/azure.vue +6 -0
- package/components/GrowlManager.vue +33 -30
- package/components/form/ResourceQuota/ProjectRow.vue +38 -15
- package/components/formatter/ClusterProvider.vue +9 -3
- package/components/formatter/__tests__/ClusterProvider.test.ts +5 -1
- package/components/nav/Header.vue +1 -0
- package/config/settings.ts +59 -2
- package/config/types.js +2 -0
- package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +28 -0
- package/creators/pkg/files/.github/workflows/build-extension-charts.yml +26 -0
- package/creators/pkg/init +63 -4
- package/detail/provisioning.cattle.io.cluster.vue +4 -2
- package/edit/fleet.cattle.io.gitrepo.vue +1 -0
- package/edit/provisioning.cattle.io.cluster/rke2.vue +4 -4
- package/mixins/__tests__/chart.test.ts +40 -0
- package/mixins/chart.js +5 -0
- package/models/catalog.cattle.io.clusterrepo.js +6 -2
- package/models/fleet.cattle.io.cluster.js +10 -2
- package/package.json +1 -1
- package/pages/c/_cluster/gatekeeper/index.vue +10 -1
- package/plugins/steve/__tests__/header-warnings.spec.ts +238 -0
- package/plugins/steve/actions.js +4 -23
- package/plugins/steve/header-warnings.ts +91 -0
- package/promptRemove/management.cattle.io.project.vue +9 -6
- package/scripts/extension/parse-tag-name +30 -0
- package/types/shell/index.d.ts +1 -0
- package/utils/settings.ts +2 -17
- package/vue-config-helper.js +135 -0
- package/vue.config.js +23 -139
- package/yarn-error.log +200 -0
- package/creators/pkg/files/.github/workflows/build-container.yml +0 -64
- package/creators/pkg/files/.github/workflows/build-extension.yml +0 -110
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
const dev = (process.env.NODE_ENV !== 'production');
|
|
2
|
+
const devPorts = dev || process.env.DEV_PORTS === 'true';
|
|
3
|
+
const prime = process.env.PRIME;
|
|
4
|
+
|
|
5
|
+
let api = process.env.API || 'http://localhost:8989';
|
|
6
|
+
|
|
7
|
+
if ( !api.startsWith('http') ) {
|
|
8
|
+
api = `https://${ api }`;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// ===============================================================================================
|
|
12
|
+
// Functions for the request proxying used in dev
|
|
13
|
+
// ===============================================================================================
|
|
14
|
+
|
|
15
|
+
function proxyMetaOpts(target) {
|
|
16
|
+
return {
|
|
17
|
+
target,
|
|
18
|
+
followRedirects: true,
|
|
19
|
+
secure: !dev,
|
|
20
|
+
changeOrigin: true,
|
|
21
|
+
onProxyReq,
|
|
22
|
+
onProxyReqWs,
|
|
23
|
+
onError,
|
|
24
|
+
onProxyRes,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function proxyOpts(target) {
|
|
29
|
+
return {
|
|
30
|
+
target,
|
|
31
|
+
secure: !devPorts,
|
|
32
|
+
changeOrigin: true,
|
|
33
|
+
onProxyReq,
|
|
34
|
+
onProxyReqWs,
|
|
35
|
+
onError,
|
|
36
|
+
onProxyRes
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Intercept the /rancherversion API call wnad modify the 'RancherPrime' value
|
|
41
|
+
// if configured to do so by the environment variable PRIME
|
|
42
|
+
function proxyPrimeOpts(target) {
|
|
43
|
+
const opts = proxyOpts(target);
|
|
44
|
+
|
|
45
|
+
// Don't intercept if the PRIME environment variable is not set
|
|
46
|
+
if (!prime?.length) {
|
|
47
|
+
return opts;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
opts.onProxyRes = (proxyRes, req, res) => {
|
|
51
|
+
const _end = res.end;
|
|
52
|
+
let body = '';
|
|
53
|
+
|
|
54
|
+
proxyRes.on( 'data', (data) => {
|
|
55
|
+
data = data.toString('utf-8');
|
|
56
|
+
body += data;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
res.write = () => {};
|
|
60
|
+
|
|
61
|
+
res.end = () => {
|
|
62
|
+
let output = body;
|
|
63
|
+
|
|
64
|
+
try {
|
|
65
|
+
const out = JSON.parse(body);
|
|
66
|
+
|
|
67
|
+
out.RancherPrime = prime;
|
|
68
|
+
output = JSON.stringify(out);
|
|
69
|
+
} catch (err) {}
|
|
70
|
+
|
|
71
|
+
res.setHeader('content-length', output.length );
|
|
72
|
+
res.setHeader('content-type', 'application/json' );
|
|
73
|
+
res.setHeader('transfer-encoding', '');
|
|
74
|
+
res.setHeader('cache-control', 'no-cache');
|
|
75
|
+
res.writeHead(proxyRes.statusCode);
|
|
76
|
+
_end.apply(res, [output]);
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
return opts;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function onProxyRes(proxyRes, req, res) {
|
|
84
|
+
if (devPorts) {
|
|
85
|
+
proxyRes.headers['X-Frame-Options'] = 'ALLOWALL';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function proxyWsOpts(target) {
|
|
90
|
+
return {
|
|
91
|
+
...proxyOpts(target),
|
|
92
|
+
ws: true,
|
|
93
|
+
changeOrigin: true,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function onProxyReq(proxyReq, req) {
|
|
98
|
+
if (!(proxyReq._currentRequest && proxyReq._currentRequest._headerSent)) {
|
|
99
|
+
proxyReq.setHeader('x-api-host', req.headers['host']);
|
|
100
|
+
proxyReq.setHeader('x-forwarded-proto', 'https');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function onProxyReqWs(proxyReq, req, socket, options, head) {
|
|
105
|
+
req.headers.origin = options.target.href;
|
|
106
|
+
proxyReq.setHeader('origin', options.target.href);
|
|
107
|
+
proxyReq.setHeader('x-api-host', req.headers['host']);
|
|
108
|
+
proxyReq.setHeader('x-forwarded-proto', 'https');
|
|
109
|
+
// console.log(proxyReq.getHeaders());
|
|
110
|
+
|
|
111
|
+
socket.on('error', (err) => {
|
|
112
|
+
console.error('Proxy WS Error:', err); // eslint-disable-line no-console
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function onError(err, req, res) {
|
|
117
|
+
res.statusCode = 598;
|
|
118
|
+
console.error('Proxy Error:', err); // eslint-disable-line no-console
|
|
119
|
+
res.write(JSON.stringify(err));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
module.exports = {
|
|
123
|
+
dev,
|
|
124
|
+
devPorts,
|
|
125
|
+
prime,
|
|
126
|
+
api,
|
|
127
|
+
proxyMetaOpts,
|
|
128
|
+
proxyOpts,
|
|
129
|
+
proxyPrimeOpts,
|
|
130
|
+
onProxyRes,
|
|
131
|
+
proxyWsOpts,
|
|
132
|
+
onProxyReq,
|
|
133
|
+
onProxyReqWs,
|
|
134
|
+
onError
|
|
135
|
+
};
|
package/vue.config.js
CHANGED
|
@@ -5,6 +5,7 @@ const webpack = require('webpack');
|
|
|
5
5
|
const { generateDynamicTypeImport } = require('./pkg/auto-import');
|
|
6
6
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
7
7
|
const serverMiddlewares = require('./server/server-middleware.js');
|
|
8
|
+
const configHelper = require('./vue-config-helper.js');
|
|
8
9
|
|
|
9
10
|
// Suppress info level logging messages from http-proxy-middleware
|
|
10
11
|
// This hides all of the "[HPM Proxy created] ..." messages
|
|
@@ -20,24 +21,18 @@ console.info = oldInfoLogger; // eslint-disable-line no-console
|
|
|
20
21
|
// const { STANDARD } = require('./config/private-label');
|
|
21
22
|
const STANDARD = 1;
|
|
22
23
|
|
|
23
|
-
const dev =
|
|
24
|
-
const devPorts =
|
|
24
|
+
const dev = configHelper.dev;
|
|
25
|
+
const devPorts = configHelper.devPorts;
|
|
25
26
|
|
|
26
27
|
// human readable version used on rancher dashboard about page
|
|
27
28
|
const dashboardVersion = process.env.DASHBOARD_VERSION;
|
|
28
29
|
|
|
29
|
-
const prime = process.env.PRIME;
|
|
30
|
-
|
|
31
30
|
const pl = process.env.PL || STANDARD;
|
|
32
31
|
const commit = process.env.COMMIT || 'head';
|
|
33
32
|
const perfTest = (process.env.PERF_TEST === 'true'); // Enable performance testing when in dev
|
|
34
33
|
const instrumentCode = (process.env.TEST_INSTRUMENT === 'true'); // Instrument code for code coverage in e2e tests
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if ( !api.startsWith('http') ) {
|
|
39
|
-
api = `https://${ api }`;
|
|
40
|
-
}
|
|
35
|
+
const api = configHelper.api;
|
|
41
36
|
// ===============================================================================================
|
|
42
37
|
// Nuxt configuration
|
|
43
38
|
// ===============================================================================================
|
|
@@ -276,26 +271,26 @@ module.exports = function(dir, _appConfig) {
|
|
|
276
271
|
console.log(`API: '${ api }'. Env: '${ rancherEnv }'`); // eslint-disable-line no-console
|
|
277
272
|
const proxy = {
|
|
278
273
|
...appConfig.proxies,
|
|
279
|
-
'/k8s': proxyWsOpts(api), // Straight to a remote cluster (/k8s/clusters/<id>/)
|
|
280
|
-
'/pp': proxyWsOpts(api), // For (epinio) standalone API
|
|
281
|
-
'/api': proxyWsOpts(api), // Management k8s API
|
|
282
|
-
'/apis': proxyWsOpts(api), // Management k8s API
|
|
283
|
-
'/v1': proxyWsOpts(api), // Management Steve API
|
|
284
|
-
'/v3': proxyWsOpts(api), // Rancher API
|
|
285
|
-
'/v3-public': proxyOpts(api), // Rancher Unauthed API
|
|
286
|
-
'/api-ui': proxyOpts(api), // Browser API UI
|
|
287
|
-
'/meta': proxyMetaOpts(api), // Browser API UI
|
|
288
|
-
'/v1-*': proxyOpts(api), // SAML, KDM, etc
|
|
289
|
-
'/rancherversion': proxyPrimeOpts(api), // Rancher version endpoint
|
|
274
|
+
'/k8s': configHelper.proxyWsOpts(api), // Straight to a remote cluster (/k8s/clusters/<id>/)
|
|
275
|
+
'/pp': configHelper.proxyWsOpts(api), // For (epinio) standalone API
|
|
276
|
+
'/api': configHelper.proxyWsOpts(api), // Management k8s API
|
|
277
|
+
'/apis': configHelper.proxyWsOpts(api), // Management k8s API
|
|
278
|
+
'/v1': configHelper.proxyWsOpts(api), // Management Steve API
|
|
279
|
+
'/v3': configHelper.proxyWsOpts(api), // Rancher API
|
|
280
|
+
'/v3-public': configHelper.proxyOpts(api), // Rancher Unauthed API
|
|
281
|
+
'/api-ui': configHelper.proxyOpts(api), // Browser API UI
|
|
282
|
+
'/meta': configHelper.proxyMetaOpts(api), // Browser API UI
|
|
283
|
+
'/v1-*': configHelper.proxyOpts(api), // SAML, KDM, etc
|
|
284
|
+
'/rancherversion': configHelper.proxyPrimeOpts(api), // Rancher version endpoint
|
|
290
285
|
// These are for Ember embedding
|
|
291
|
-
'/c/*/edit': proxyOpts('https://127.0.0.1:8000'), // Can't proxy all of /c because that's used by Vue too
|
|
292
|
-
'/k/': proxyOpts('https://127.0.0.1:8000'),
|
|
293
|
-
'/g/': proxyOpts('https://127.0.0.1:8000'),
|
|
294
|
-
'/n/': proxyOpts('https://127.0.0.1:8000'),
|
|
295
|
-
'/p/': proxyOpts('https://127.0.0.1:8000'),
|
|
296
|
-
'/assets': proxyOpts('https://127.0.0.1:8000'),
|
|
297
|
-
'/translations': proxyOpts('https://127.0.0.1:8000'),
|
|
298
|
-
'/engines-dist': proxyOpts('https://127.0.0.1:8000'),
|
|
286
|
+
'/c/*/edit': configHelper.proxyOpts('https://127.0.0.1:8000'), // Can't proxy all of /c because that's used by Vue too
|
|
287
|
+
'/k/': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
288
|
+
'/g/': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
289
|
+
'/n/': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
290
|
+
'/p/': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
291
|
+
'/assets': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
292
|
+
'/translations': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
293
|
+
'/engines-dist': configHelper.proxyOpts('https://127.0.0.1:8000'),
|
|
299
294
|
};
|
|
300
295
|
|
|
301
296
|
const config = {
|
|
@@ -570,114 +565,3 @@ module.exports = function(dir, _appConfig) {
|
|
|
570
565
|
|
|
571
566
|
return config;
|
|
572
567
|
};
|
|
573
|
-
|
|
574
|
-
// ===============================================================================================
|
|
575
|
-
// Functions for the request proxying used in dev
|
|
576
|
-
// ===============================================================================================
|
|
577
|
-
|
|
578
|
-
function proxyMetaOpts(target) {
|
|
579
|
-
return {
|
|
580
|
-
target,
|
|
581
|
-
followRedirects: true,
|
|
582
|
-
secure: !dev,
|
|
583
|
-
changeOrigin: true,
|
|
584
|
-
onProxyReq,
|
|
585
|
-
onProxyReqWs,
|
|
586
|
-
onError,
|
|
587
|
-
onProxyRes,
|
|
588
|
-
};
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
function proxyOpts(target) {
|
|
592
|
-
return {
|
|
593
|
-
target,
|
|
594
|
-
secure: !devPorts,
|
|
595
|
-
changeOrigin: true,
|
|
596
|
-
onProxyReq,
|
|
597
|
-
onProxyReqWs,
|
|
598
|
-
onError,
|
|
599
|
-
onProxyRes
|
|
600
|
-
};
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
// Intercept the /rancherversion API call wnad modify the 'RancherPrime' value
|
|
604
|
-
// if configured to do so by the environment variable PRIME
|
|
605
|
-
function proxyPrimeOpts(target) {
|
|
606
|
-
const opts = proxyOpts(target);
|
|
607
|
-
|
|
608
|
-
// Don't intercept if the PRIME environment variable is not set
|
|
609
|
-
if (!prime?.length) {
|
|
610
|
-
return opts;
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
opts.onProxyRes = (proxyRes, req, res) => {
|
|
614
|
-
const _end = res.end;
|
|
615
|
-
let body = '';
|
|
616
|
-
|
|
617
|
-
proxyRes.on( 'data', (data) => {
|
|
618
|
-
data = data.toString('utf-8');
|
|
619
|
-
body += data;
|
|
620
|
-
});
|
|
621
|
-
|
|
622
|
-
res.write = () => {};
|
|
623
|
-
|
|
624
|
-
res.end = () => {
|
|
625
|
-
let output = body;
|
|
626
|
-
|
|
627
|
-
try {
|
|
628
|
-
const out = JSON.parse(body);
|
|
629
|
-
|
|
630
|
-
out.RancherPrime = prime;
|
|
631
|
-
output = JSON.stringify(out);
|
|
632
|
-
} catch (err) {}
|
|
633
|
-
|
|
634
|
-
res.setHeader('content-length', output.length );
|
|
635
|
-
res.setHeader('content-type', 'application/json' );
|
|
636
|
-
res.setHeader('transfer-encoding', '');
|
|
637
|
-
res.setHeader('cache-control', 'no-cache');
|
|
638
|
-
res.writeHead(proxyRes.statusCode);
|
|
639
|
-
_end.apply(res, [output]);
|
|
640
|
-
};
|
|
641
|
-
};
|
|
642
|
-
|
|
643
|
-
return opts;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
function onProxyRes(proxyRes, req, res) {
|
|
647
|
-
if (devPorts) {
|
|
648
|
-
proxyRes.headers['X-Frame-Options'] = 'ALLOWALL';
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
function proxyWsOpts(target) {
|
|
653
|
-
return {
|
|
654
|
-
...proxyOpts(target),
|
|
655
|
-
ws: true,
|
|
656
|
-
changeOrigin: true,
|
|
657
|
-
};
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
function onProxyReq(proxyReq, req) {
|
|
661
|
-
if (!(proxyReq._currentRequest && proxyReq._currentRequest._headerSent)) {
|
|
662
|
-
proxyReq.setHeader('x-api-host', req.headers['host']);
|
|
663
|
-
proxyReq.setHeader('x-forwarded-proto', 'https');
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
function onProxyReqWs(proxyReq, req, socket, options, head) {
|
|
668
|
-
req.headers.origin = options.target.href;
|
|
669
|
-
proxyReq.setHeader('origin', options.target.href);
|
|
670
|
-
proxyReq.setHeader('x-api-host', req.headers['host']);
|
|
671
|
-
proxyReq.setHeader('x-forwarded-proto', 'https');
|
|
672
|
-
// console.log(proxyReq.getHeaders());
|
|
673
|
-
|
|
674
|
-
socket.on('error', (err) => {
|
|
675
|
-
console.error('Proxy WS Error:', err); // eslint-disable-line no-console
|
|
676
|
-
});
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
function onError(err, req, res) {
|
|
680
|
-
res.statusCode = 598;
|
|
681
|
-
console.error('Proxy Error:', err); // eslint-disable-line no-console
|
|
682
|
-
res.write(JSON.stringify(err));
|
|
683
|
-
}
|
package/yarn-error.log
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
Arguments:
|
|
2
|
+
/Users/aalves/.nvm/versions/node/v16.19.1/bin/node /Users/aalves/.nvm/versions/node/v16.19.1/bin/yarn publish . --new-version 0.3.22 --no-git-tag-version --access public
|
|
3
|
+
|
|
4
|
+
PATH:
|
|
5
|
+
/Users/aalves/.rd/bin:/Users/aalves/.nvm/versions/node/v16.19.1/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/aalves/.rd/bin:/Users/aalves/.nvm/versions/node/v16.19.1/bin:/opt/homebrew/bin:/opt/homebrew/sbin
|
|
6
|
+
|
|
7
|
+
Yarn version:
|
|
8
|
+
1.22.19
|
|
9
|
+
|
|
10
|
+
Node version:
|
|
11
|
+
16.19.1
|
|
12
|
+
|
|
13
|
+
Platform:
|
|
14
|
+
darwin arm64
|
|
15
|
+
|
|
16
|
+
Trace:
|
|
17
|
+
Error: https://registry.yarnpkg.com/-/user/org.couchdb.user:aalves08: failed to authenticate: Could not authenticate aalves08: bad password
|
|
18
|
+
at Request.params.callback [as _callback] (/Users/aalves/.nvm/versions/node/v16.19.1/lib/node_modules/yarn/lib/cli.js:66145:18)
|
|
19
|
+
at Request.self.callback (/Users/aalves/.nvm/versions/node/v16.19.1/lib/node_modules/yarn/lib/cli.js:140890:22)
|
|
20
|
+
at Request.emit (node:events:513:28)
|
|
21
|
+
at Request.<anonymous> (/Users/aalves/.nvm/versions/node/v16.19.1/lib/node_modules/yarn/lib/cli.js:141862:10)
|
|
22
|
+
at Request.emit (node:events:513:28)
|
|
23
|
+
at IncomingMessage.<anonymous> (/Users/aalves/.nvm/versions/node/v16.19.1/lib/node_modules/yarn/lib/cli.js:141784:12)
|
|
24
|
+
at Object.onceWrapper (node:events:627:28)
|
|
25
|
+
at IncomingMessage.emit (node:events:525:35)
|
|
26
|
+
at endReadableNT (node:internal/streams/readable:1358:12)
|
|
27
|
+
at processTicksAndRejections (node:internal/process/task_queues:83:21)
|
|
28
|
+
|
|
29
|
+
npm manifest:
|
|
30
|
+
{
|
|
31
|
+
"name": "@rancher/shell",
|
|
32
|
+
"version": "0.3.22",
|
|
33
|
+
"description": "Rancher Dashboard Shell",
|
|
34
|
+
"repository": "https://github.com/rancherlabs/dashboard",
|
|
35
|
+
"license": "Apache-2.0",
|
|
36
|
+
"author": "SUSE",
|
|
37
|
+
"private": false,
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=12"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"**/*"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"clean": "./scripts/clean",
|
|
46
|
+
"lint": "./node_modules/.bin/eslint --max-warnings 0 --ext .ts,.js,.vue .",
|
|
47
|
+
"test": "./node_modules/.bin/nyc ava --serial --verbose",
|
|
48
|
+
"dev": "./node_modules/.bin/vue-cli-service dev",
|
|
49
|
+
"docker-dev": "docker run --rm --name dashboard-dev -p 8005:8005 -e API=$API -v $(pwd):/src -v dashboard_node:/src/node_modules rancher/dashboard:dev",
|
|
50
|
+
"build": "./node_modules/.bin/vue-cli-service build",
|
|
51
|
+
"analyze": "./node_modules/.bin/vue-cli-service build --report",
|
|
52
|
+
"start": "./node_modules/.bin/vue-cli-service start",
|
|
53
|
+
"cy:run": "cypress run",
|
|
54
|
+
"cy:open": "cypress open",
|
|
55
|
+
"e2e:pre": "NODE_ENV=dev yarn build",
|
|
56
|
+
"e2e:run": "NODE_ENV=dev START_SERVER_AND_TEST_INSECURE=1 start-server-and-test start https://localhost:8005/ cy:run",
|
|
57
|
+
"e2e:dev": "start-server-and-test dev https://localhost:8005 cy:open"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"@aws-sdk/client-ec2": "3.1.0",
|
|
61
|
+
"@aws-sdk/client-eks": "3.1.0",
|
|
62
|
+
"@aws-sdk/client-kms": "3.8.1",
|
|
63
|
+
"@babel/plugin-proposal-optional-chaining": "7.14.5",
|
|
64
|
+
"@babel/plugin-proposal-private-property-in-object": "7.14.5",
|
|
65
|
+
"@babel/preset-typescript": "7.16.7",
|
|
66
|
+
"@innologica/vue-dropdown-menu": "0.1.3",
|
|
67
|
+
"@novnc/novnc": "1.2.0",
|
|
68
|
+
"@nuxt/types": "2.14.6",
|
|
69
|
+
"@nuxt/typescript-build": "2.1.0",
|
|
70
|
+
"@nuxtjs/axios": "5.12.0",
|
|
71
|
+
"@nuxtjs/eslint-config-typescript": "6.0.1",
|
|
72
|
+
"@nuxtjs/webpack-profile": "0.1.0",
|
|
73
|
+
"@popperjs/core": "2.4.4",
|
|
74
|
+
"@types/node": "16.4.3",
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "4.33.0",
|
|
76
|
+
"@typescript-eslint/parser": "4.33.0",
|
|
77
|
+
"@vue/cli-plugin-babel": "4.5.18",
|
|
78
|
+
"@vue/cli-plugin-typescript": "4.5.18",
|
|
79
|
+
"@vue/cli-service": "4.5.18",
|
|
80
|
+
"@vue/test-utils": "1.2.1",
|
|
81
|
+
"@vue/vue2-jest": "27.0.0",
|
|
82
|
+
"add": "2.0.6",
|
|
83
|
+
"ansi_up": "5.0.0",
|
|
84
|
+
"babel-eslint": "10.1.0",
|
|
85
|
+
"babel-plugin-module-resolver": "4.0.0",
|
|
86
|
+
"babel-preset-vue": "2.0.2",
|
|
87
|
+
"browser-env": "3.3.0",
|
|
88
|
+
"cookie": "0.5.0",
|
|
89
|
+
"cookie-universal-nuxt": "2.1.4",
|
|
90
|
+
"core-js": "3.21.1",
|
|
91
|
+
"cron-validator": "1.2.0",
|
|
92
|
+
"cronstrue": "1.95.0",
|
|
93
|
+
"cross-env": "6.0.3",
|
|
94
|
+
"css-loader": "6.7.3",
|
|
95
|
+
"csv-loader": "3.0.3",
|
|
96
|
+
"cypress": "10.3.1",
|
|
97
|
+
"d3": "7.3.0",
|
|
98
|
+
"d3-selection": "1.4.1",
|
|
99
|
+
"dagre-d3": "0.6.4",
|
|
100
|
+
"dayjs": "1.8.29",
|
|
101
|
+
"diff2html": "3.4.24",
|
|
102
|
+
"dompurify": "2.4.5",
|
|
103
|
+
"eslint": "7.32.0",
|
|
104
|
+
"eslint-config-standard": "16.0.3",
|
|
105
|
+
"eslint-import-resolver-node": "0.3.4",
|
|
106
|
+
"eslint-module-utils": "2.6.1",
|
|
107
|
+
"eslint-plugin-cypress": "2.12.1",
|
|
108
|
+
"eslint-plugin-import": "2.23.4",
|
|
109
|
+
"eslint-plugin-jest": "24.4.0",
|
|
110
|
+
"eslint-plugin-n": "15.2.0",
|
|
111
|
+
"eslint-plugin-vue": "9.10.0",
|
|
112
|
+
"event-target-shim": "5.0.1",
|
|
113
|
+
"express": "4.17.1",
|
|
114
|
+
"file-saver": "2.0.2",
|
|
115
|
+
"frontmatter-markdown-loader": "3.7.0",
|
|
116
|
+
"identicon.js": "2.3.3",
|
|
117
|
+
"intl-messageformat": "7.8.4",
|
|
118
|
+
"is-url": "1.2.4",
|
|
119
|
+
"jest": "27.5.1",
|
|
120
|
+
"jest-serializer-vue": "2.0.2",
|
|
121
|
+
"jexl": "2.2.2",
|
|
122
|
+
"jquery": "3.5.1",
|
|
123
|
+
"js-cookie": "2.2.1",
|
|
124
|
+
"js-yaml": "4.1.0",
|
|
125
|
+
"js-yaml-loader": "1.2.2",
|
|
126
|
+
"jsdiff": "1.1.1",
|
|
127
|
+
"jsdom-global": "3.0.2",
|
|
128
|
+
"jsonpath-plus": "6.0.1",
|
|
129
|
+
"jsrsasign": "10.5.25",
|
|
130
|
+
"jszip": "3.8.0",
|
|
131
|
+
"lodash": "4.17.21",
|
|
132
|
+
"marked": "4.0.17",
|
|
133
|
+
"nodemon": "2.0.22",
|
|
134
|
+
"nuxt": "2.15.8",
|
|
135
|
+
"nyc": "15.1.0",
|
|
136
|
+
"papaparse": "5.3.0",
|
|
137
|
+
"portal-vue": "2.1.7",
|
|
138
|
+
"rancher-icons": "rancher/icons#v2.0.16",
|
|
139
|
+
"require-extension-hooks": "0.3.3",
|
|
140
|
+
"require-extension-hooks-babel": "1.0.0",
|
|
141
|
+
"require-extension-hooks-vue": "3.0.0",
|
|
142
|
+
"sass": "1.51.0",
|
|
143
|
+
"sass-loader": "10.2.1",
|
|
144
|
+
"serve-static": "1.14.1",
|
|
145
|
+
"set-cookie-parser": "2.4.6",
|
|
146
|
+
"shell-quote": "1.7.3",
|
|
147
|
+
"sinon": "8.1.1",
|
|
148
|
+
"start-server-and-test": "1.13.1",
|
|
149
|
+
"style-loader": "1.2.1",
|
|
150
|
+
"ts-node": "8.10.2",
|
|
151
|
+
"typescript": "4.1.6",
|
|
152
|
+
"url-parse": "1.5.10",
|
|
153
|
+
"v-tooltip": "2.0.3",
|
|
154
|
+
"vue": "2.7.14",
|
|
155
|
+
"vue-clipboard2": "0.3.1",
|
|
156
|
+
"vue-codemirror": "4.0.6",
|
|
157
|
+
"vue-js-modal": "1.3.35",
|
|
158
|
+
"vue-resize": "0.4.5",
|
|
159
|
+
"vue-select": "3.18.3",
|
|
160
|
+
"vue-server-renderer": "2.7.14",
|
|
161
|
+
"vue-shortkey": "3.1.7",
|
|
162
|
+
"vue-template-compiler": "2.7.14",
|
|
163
|
+
"vue-virtual-scroll-list": "^2.3.4",
|
|
164
|
+
"vue2-transitions": "0.3.0",
|
|
165
|
+
"vuedraggable": "2.24.3",
|
|
166
|
+
"vuex": "3.6.2",
|
|
167
|
+
"webpack-bundle-analyzer": "4.5.0",
|
|
168
|
+
"webpack-virtual-modules": "0.4.3",
|
|
169
|
+
"xterm": "5.0.0",
|
|
170
|
+
"xterm-addon-fit": "0.6.0",
|
|
171
|
+
"xterm-addon-search": "0.10.0",
|
|
172
|
+
"xterm-addon-web-links": "0.7.0",
|
|
173
|
+
"xterm-addon-webgl": "0.13.0",
|
|
174
|
+
"worker-loader": "3.0.8",
|
|
175
|
+
"yarn": "1.22.18"
|
|
176
|
+
},
|
|
177
|
+
"resolutions": {
|
|
178
|
+
"ejs": "^3.1.7",
|
|
179
|
+
"json5": ">=2.2.2",
|
|
180
|
+
"d3-color": ">=3.1.0",
|
|
181
|
+
"glob-parent": ">=5.1.2",
|
|
182
|
+
"node-forge": ">=1.3.0",
|
|
183
|
+
"qs": ">=6.7.3",
|
|
184
|
+
"nth-check": ">=2.0.1",
|
|
185
|
+
"follow-redirects": ">=1.14.7",
|
|
186
|
+
"merge": ">=2.1.1"
|
|
187
|
+
},
|
|
188
|
+
"nyc": {
|
|
189
|
+
"extension": [
|
|
190
|
+
".js",
|
|
191
|
+
".vue"
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
yarn manifest:
|
|
197
|
+
No manifest
|
|
198
|
+
|
|
199
|
+
Lockfile:
|
|
200
|
+
No lockfile
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
name: Build and release container to registry
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
env:
|
|
9
|
-
REGISTRY: ghcr.io
|
|
10
|
-
IMAGE_NAME: ${{ github.repository }}
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build:
|
|
14
|
-
name: Build container image
|
|
15
|
-
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
permissions: write-all
|
|
18
|
-
|
|
19
|
-
steps:
|
|
20
|
-
- name: Checkout repository
|
|
21
|
-
uses: actions/checkout@v3
|
|
22
|
-
|
|
23
|
-
- name: Configure Git
|
|
24
|
-
run: |
|
|
25
|
-
git config user.name "${{ github.actor }}"
|
|
26
|
-
git config user.email "${{ github.actor }}@users.noreply.github.com"
|
|
27
|
-
|
|
28
|
-
- name: Login to GitHub Container Registry
|
|
29
|
-
uses: docker/login-action@v2
|
|
30
|
-
with:
|
|
31
|
-
registry: ${{ env.REGISTRY }}
|
|
32
|
-
username: ${{ github.actor }}
|
|
33
|
-
password: ${{ secrets.GITHUB_TOKEN }}
|
|
34
|
-
|
|
35
|
-
- name: Setup Helm
|
|
36
|
-
uses: azure/setup-helm@v3
|
|
37
|
-
with:
|
|
38
|
-
version: v3.8.0
|
|
39
|
-
|
|
40
|
-
- name: Setup yq
|
|
41
|
-
uses: chrisdickinson/setup-yq@v1.0.1
|
|
42
|
-
with:
|
|
43
|
-
yq-version: v4.28.2
|
|
44
|
-
|
|
45
|
-
- name: Setup Nodejs and npm
|
|
46
|
-
uses: actions/setup-node@v3
|
|
47
|
-
with:
|
|
48
|
-
node-version: '16'
|
|
49
|
-
|
|
50
|
-
- name: Setup yarn
|
|
51
|
-
run: npm install -g yarn
|
|
52
|
-
|
|
53
|
-
- name: Setup Nodejs with yarn caching
|
|
54
|
-
uses: actions/setup-node@v3
|
|
55
|
-
with:
|
|
56
|
-
node-version: '16'
|
|
57
|
-
cache: yarn
|
|
58
|
-
|
|
59
|
-
- name: Install dependencies
|
|
60
|
-
run: yarn
|
|
61
|
-
|
|
62
|
-
- name: Build and push UI image
|
|
63
|
-
run: |
|
|
64
|
-
yarn publish-pkgs -cp -r ${{ env.REGISTRY }} -o ${{ github.repository_owner }}
|