@sw-tsdk/plugin-turbine 2.0.1-next.90 → 2.0.1-next.95
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/README.md +31 -6
- package/lib/commands/turbine/connector/keys/generate.js +8 -1
- package/lib/commands/turbine/connector/keys/generate.js.map +1 -1
- package/lib/commands/turbine/connector/keys/list/local.js +18 -2
- package/lib/commands/turbine/connector/keys/list/local.js.map +1 -1
- package/lib/commands/turbine/connector/keys/push.d.ts +14 -0
- package/lib/commands/turbine/connector/keys/push.js +72 -0
- package/lib/commands/turbine/connector/keys/push.js.map +1 -0
- package/oclif.manifest.json +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ $ npm install -g @sw-tsdk/plugin-turbine
|
|
|
16
16
|
$ sw-tsdk-turbine COMMAND
|
|
17
17
|
running command...
|
|
18
18
|
$ sw-tsdk-turbine (--version)
|
|
19
|
-
@sw-tsdk/plugin-turbine/2.0.1-next.
|
|
19
|
+
@sw-tsdk/plugin-turbine/2.0.1-next.95+c09e96a linux-x64 node-v16.18.1
|
|
20
20
|
$ sw-tsdk-turbine --help [COMMAND]
|
|
21
21
|
USAGE
|
|
22
22
|
$ sw-tsdk-turbine COMMAND
|
|
@@ -28,6 +28,7 @@ USAGE
|
|
|
28
28
|
* [`sw-tsdk-turbine turbine:connector:keys:generate`](#sw-tsdk-turbine-turbineconnectorkeysgenerate)
|
|
29
29
|
* [`sw-tsdk-turbine turbine:connector:keys:list:local`](#sw-tsdk-turbine-turbineconnectorkeyslistlocal)
|
|
30
30
|
* [`sw-tsdk-turbine turbine:connector:keys:list:remote`](#sw-tsdk-turbine-turbineconnectorkeyslistremote)
|
|
31
|
+
* [`sw-tsdk-turbine turbine:connector:keys:push`](#sw-tsdk-turbine-turbineconnectorkeyspush)
|
|
31
32
|
* [`sw-tsdk-turbine turbine:connector:push`](#sw-tsdk-turbine-turbineconnectorpush)
|
|
32
33
|
* [`sw-tsdk-turbine turbine:login`](#sw-tsdk-turbine-turbinelogin)
|
|
33
34
|
|
|
@@ -54,7 +55,7 @@ DESCRIPTION
|
|
|
54
55
|
Use to generate and store signing keys in Turbine
|
|
55
56
|
```
|
|
56
57
|
|
|
57
|
-
_See code: [lib/commands/turbine/connector/keys/generate.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.
|
|
58
|
+
_See code: [lib/commands/turbine/connector/keys/generate.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/connector/keys/generate.js)_
|
|
58
59
|
|
|
59
60
|
## `sw-tsdk-turbine turbine:connector:keys:list:local`
|
|
60
61
|
|
|
@@ -71,7 +72,7 @@ DESCRIPTION
|
|
|
71
72
|
Use to list local keys
|
|
72
73
|
```
|
|
73
74
|
|
|
74
|
-
_See code: [lib/commands/turbine/connector/keys/list/local.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.
|
|
75
|
+
_See code: [lib/commands/turbine/connector/keys/list/local.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/connector/keys/list/local.js)_
|
|
75
76
|
|
|
76
77
|
## `sw-tsdk-turbine turbine:connector:keys:list:remote`
|
|
77
78
|
|
|
@@ -93,7 +94,31 @@ DESCRIPTION
|
|
|
93
94
|
Use to list remote keys
|
|
94
95
|
```
|
|
95
96
|
|
|
96
|
-
_See code: [lib/commands/turbine/connector/keys/list/remote.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.
|
|
97
|
+
_See code: [lib/commands/turbine/connector/keys/list/remote.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/connector/keys/list/remote.js)_
|
|
98
|
+
|
|
99
|
+
## `sw-tsdk-turbine turbine:connector:keys:push`
|
|
100
|
+
|
|
101
|
+
Use to generate and store signing keys in Turbine
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
USAGE
|
|
105
|
+
$ sw-tsdk-turbine turbine:connector:keys:push --turbine-url <value> [-u <value>] [-p <value>] [--key-name <value>]
|
|
106
|
+
[-b] [-h]
|
|
107
|
+
|
|
108
|
+
FLAGS
|
|
109
|
+
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
|
|
110
|
+
TURBINE_BYPASS_CERTIFICATE_CHECK)
|
|
111
|
+
-h, --help Show CLI help.
|
|
112
|
+
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
|
|
113
|
+
-u, --username=<value> Turbine username
|
|
114
|
+
--key-name=<value> name used for the key (default: username)
|
|
115
|
+
--turbine-url=<value> (required) the url of the turbine instance [https://turbine.acme.com]
|
|
116
|
+
|
|
117
|
+
DESCRIPTION
|
|
118
|
+
Use to generate and store signing keys in Turbine
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
_See code: [lib/commands/turbine/connector/keys/push.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/connector/keys/push.js)_
|
|
97
122
|
|
|
98
123
|
## `sw-tsdk-turbine turbine:connector:push`
|
|
99
124
|
|
|
@@ -116,7 +141,7 @@ DESCRIPTION
|
|
|
116
141
|
Use to push an integration to Turbine
|
|
117
142
|
```
|
|
118
143
|
|
|
119
|
-
_See code: [lib/commands/turbine/connector/push.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.
|
|
144
|
+
_See code: [lib/commands/turbine/connector/push.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/connector/push.js)_
|
|
120
145
|
|
|
121
146
|
## `sw-tsdk-turbine turbine:login`
|
|
122
147
|
|
|
@@ -138,5 +163,5 @@ DESCRIPTION
|
|
|
138
163
|
Use to login to Turbine
|
|
139
164
|
```
|
|
140
165
|
|
|
141
|
-
_See code: [lib/commands/turbine/login.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.
|
|
166
|
+
_See code: [lib/commands/turbine/login.js](https://github.com/swimlane/turbine-sdk/blob/v2.0.1-next.95+c09e96a/lib/commands/turbine/login.js)_
|
|
142
167
|
<!-- commandsstop -->
|
|
@@ -14,6 +14,7 @@ const date_fns_1 = require("date-fns");
|
|
|
14
14
|
// noinspection JSUnusedGlobalSymbols
|
|
15
15
|
class Generate extends core_2.Base {
|
|
16
16
|
async run() {
|
|
17
|
+
var _a;
|
|
17
18
|
const { flags } = await this.parse(Generate);
|
|
18
19
|
const { 'signing-password': signingPassword, username, password, 'bypass-certificate-check': bypassCertificateCheck, } = flags;
|
|
19
20
|
const keyName = flags['key-name'] || `${(0, node_os_1.userInfo)().username}_${(0, date_fns_1.format)(new Date(), 'yyyy-MM-dd')}`;
|
|
@@ -47,7 +48,13 @@ class Generate extends core_2.Base {
|
|
|
47
48
|
}
|
|
48
49
|
core_1.CliUx.ux.action.start('Uploading the key...');
|
|
49
50
|
const success = await (turbine === null || turbine === void 0 ? void 0 : turbine.uploadKey(keyName, publicKeyContents.toString()));
|
|
50
|
-
|
|
51
|
+
if (success) {
|
|
52
|
+
const hostPath = (0, node_path_1.join)(storagePath, 'hosts.json');
|
|
53
|
+
const hosts = (_a = await (0, fs_extra_1.readJson)(hostPath, { throws: false })) !== null && _a !== void 0 ? _a : {};
|
|
54
|
+
hosts[new URL(baseUrl).host] = { lastPushed: new Date() };
|
|
55
|
+
await (0, fs_extra_1.writeJson)(hostPath, hosts);
|
|
56
|
+
}
|
|
57
|
+
core_1.CliUx.ux.action.stop(`${success ? 'finished' : 'failed'}`);
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
60
|
exports.Generate = Generate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/commands/turbine/connector/keys/generate.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AACxC,wCAA+D;AAC/D,8CAAwC;AACxC,6CAAgD;AAChD,qCAAgC;AAChC,yCAA8B;AAC9B,+CAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/commands/turbine/connector/keys/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,29 @@ const core_1 = require("@oclif/core");
|
|
|
5
5
|
const core_2 = require("@sw-tsdk/core");
|
|
6
6
|
const node_path_1 = require("node:path");
|
|
7
7
|
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
10
|
// noinspection JSUnusedGlobalSymbols
|
|
9
11
|
class Local extends core_2.Base {
|
|
10
12
|
async run() {
|
|
11
13
|
await this.parse(Local);
|
|
12
14
|
const storagePath = (0, node_path_1.join)(this.config.configDir, 'keys');
|
|
13
|
-
const directories = await (0, promises_1.readdir)(storagePath);
|
|
14
|
-
|
|
15
|
+
const directories = await (0, promises_1.readdir)(storagePath, { withFileTypes: true });
|
|
16
|
+
const allKeys = directories.filter(x => x.isDirectory() && (0, node_fs_1.readdirSync)((0, node_path_1.join)(storagePath, x.name)).some(y => y.endsWith('.key')));
|
|
17
|
+
for (const key of allKeys) {
|
|
18
|
+
console.log(`${key.name}\n`);
|
|
19
|
+
// eslint-disable-next-line no-await-in-loop
|
|
20
|
+
const hostsPath = (0, node_path_1.join)(storagePath, key.name, 'hosts.json');
|
|
21
|
+
// eslint-disable-next-line no-await-in-loop
|
|
22
|
+
if (await (0, core_2.fileExists)(hostsPath)) {
|
|
23
|
+
// eslint-disable-next-line no-await-in-loop
|
|
24
|
+
const hosts = await (0, fs_extra_1.readJson)(hostsPath);
|
|
25
|
+
const allHosts = Object.entries(hosts);
|
|
26
|
+
for (const [key, value] of allHosts) {
|
|
27
|
+
console.log(`\t${key} - ${value}\n`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
15
31
|
}
|
|
16
32
|
}
|
|
17
33
|
exports.Local = Local;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../../src/commands/turbine/connector/keys/list/local.ts"],"names":[],"mappings":";;;AAAA,sCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../../src/commands/turbine/connector/keys/list/local.ts"],"names":[],"mappings":";;;AAAA,sCAAiC;AACjC,wCAA8C;AAC9C,yCAA8B;AAC9B,+CAAwC;AACxC,qCAAmC;AACnC,uCAAiC;AAEjC,qCAAqC;AACrC,MAAa,KAAM,SAAQ,WAAI;IAQ7B,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEvB,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEvD,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAO,EAAC,WAAW,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAA;QAErE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,IAAA,qBAAW,EAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAEhI,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;YAC5B,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;YAC3D,4CAA4C;YAC5C,IAAI,MAAM,IAAA,iBAAU,EAAC,SAAS,CAAC,EAAE;gBAC/B,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE;oBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC,CAAA;iBACrC;aACF;SACF;IACH,CAAC;;AA/BH,sBAgCC;AA/BQ,iBAAW,GAAG,wBAAwB,CAAA;AAEtC,WAAK,mCACP,WAAI,CAAC,SAAS,KACjB,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,IAC9B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Base } from '@sw-tsdk/core';
|
|
2
|
+
export declare class Generate extends Base {
|
|
3
|
+
static description: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
username: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
6
|
+
password: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
7
|
+
'key-name': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
8
|
+
'turbine-url': import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
9
|
+
'bypass-certificate-check': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
11
|
+
'log-level': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Generate = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@oclif/core");
|
|
6
|
+
const core_2 = require("@sw-tsdk/core");
|
|
7
|
+
const turbine_1 = require("@sw-tsdk/turbine");
|
|
8
|
+
const node_path_1 = require("node:path");
|
|
9
|
+
const promises_1 = require("node:fs/promises");
|
|
10
|
+
const fs_extra_1 = require("fs-extra");
|
|
11
|
+
const promises_2 = require("node:fs/promises");
|
|
12
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
13
|
+
const node_fs_1 = require("node:fs");
|
|
14
|
+
// noinspection JSUnusedGlobalSymbols
|
|
15
|
+
class Generate extends core_2.Base {
|
|
16
|
+
async run() {
|
|
17
|
+
var _a;
|
|
18
|
+
const { flags } = await this.parse(Generate);
|
|
19
|
+
const { username, password, 'bypass-certificate-check': bypassCertificateCheck, } = flags;
|
|
20
|
+
let { 'key-name': keyName, } = flags;
|
|
21
|
+
if (!keyName) {
|
|
22
|
+
const storagePath = (0, node_path_1.join)(this.config.configDir, 'keys');
|
|
23
|
+
const directories = await (0, promises_1.readdir)(storagePath, { withFileTypes: true });
|
|
24
|
+
const allKeys = directories.filter(x => x.isDirectory() && (0, node_fs_1.readdirSync)((0, node_path_1.join)(storagePath, x.name)).some(y => y.endsWith('.key')));
|
|
25
|
+
const answers = await inquirer_1.default.prompt([{
|
|
26
|
+
type: 'list',
|
|
27
|
+
name: 'keyName',
|
|
28
|
+
message: 'Choose a key.',
|
|
29
|
+
choices: allKeys,
|
|
30
|
+
}]);
|
|
31
|
+
keyName = answers.keyName;
|
|
32
|
+
}
|
|
33
|
+
const storagePath = (0, node_path_1.join)(this.config.configDir, 'keys', keyName);
|
|
34
|
+
const privateKeyPath = (0, node_path_1.join)(storagePath, 'cosign.key');
|
|
35
|
+
if (!await (0, core_2.fileExists)(privateKeyPath)) {
|
|
36
|
+
core_1.CliUx.ux.error(`Could not find key: ${keyName}.`);
|
|
37
|
+
}
|
|
38
|
+
const baseUrl = flags['turbine-url'];
|
|
39
|
+
const turbine = await turbine_1.Turbine.get(baseUrl, bypassCertificateCheck);
|
|
40
|
+
if (password && turbine) {
|
|
41
|
+
await turbine.login(username, password);
|
|
42
|
+
}
|
|
43
|
+
core_1.CliUx.ux.action.start('Generating the signing key...');
|
|
44
|
+
await (0, fs_extra_1.ensureDir)(storagePath);
|
|
45
|
+
core_1.CliUx.ux.action.stop();
|
|
46
|
+
const publicKeyPath = (0, node_path_1.join)(storagePath, 'cosign.pub');
|
|
47
|
+
if (!await (0, core_2.fileExists)(publicKeyPath)) {
|
|
48
|
+
core_1.CliUx.ux.error(`Could not find file public key: ${keyName}`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const publicKey = await (0, promises_2.readFile)(publicKeyPath);
|
|
52
|
+
const publicKeyContents = publicKey.toString();
|
|
53
|
+
if (!/BEGIN PUBLIC KEY/.test(publicKeyContents)) {
|
|
54
|
+
core_1.CliUx.ux.error(`Invalid public key: ${keyName}`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
core_1.CliUx.ux.action.start('Uploading the key...');
|
|
58
|
+
const success = await (turbine === null || turbine === void 0 ? void 0 : turbine.uploadKey(keyName, publicKeyContents.toString()));
|
|
59
|
+
if (success) {
|
|
60
|
+
const hostPath = (0, node_path_1.join)(storagePath, 'hosts.json');
|
|
61
|
+
await (0, fs_extra_1.ensureFile)(hostPath);
|
|
62
|
+
const hosts = (_a = await (0, fs_extra_1.readJson)(hostPath, { throws: false })) !== null && _a !== void 0 ? _a : {};
|
|
63
|
+
hosts[new URL(baseUrl).host] = { lastPushed: new Date() };
|
|
64
|
+
await (0, fs_extra_1.writeJson)(hostPath, hosts);
|
|
65
|
+
}
|
|
66
|
+
core_1.CliUx.ux.action.stop(`${success ? 'done' : 'failed'}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.Generate = Generate;
|
|
70
|
+
Generate.description = 'Use to generate and store signing keys in Turbine';
|
|
71
|
+
Generate.flags = Object.assign(Object.assign({}, core_2.Base.BaseFlags), { username: core_1.Flags.string({ char: 'u', description: 'Turbine username', default: '' }), password: core_1.Flags.string({ char: 'p', description: 'Turbine password (ENV: TURBINE_PASSWORD)', default: '', env: 'TURBINE_PASSWORD' }), 'key-name': core_1.Flags.string({ description: 'name used for the key (default: username)', default: '' }), 'turbine-url': core_1.Flags.string({ description: 'the url of the turbine instance [https://turbine.acme.com]', required: true }), 'bypass-certificate-check': core_1.Flags.boolean({ char: 'b', description: 'disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)', env: 'TURBINE_BYPASS_CERTIFICATE_CHECK' }), help: core_1.Flags.help({ char: 'h' }) });
|
|
72
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../../src/commands/turbine/connector/keys/push.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2.0.1-next.
|
|
1
|
+
{"version":"2.0.1-next.95+c09e96a","commands":{"turbine:login":{"id":"turbine:login","description":"Use to login to Turbine","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"username":{"name":"username","type":"option","char":"u","description":"Turbine username","multiple":false},"password":{"name":"password","type":"option","char":"p","description":"Turbine password (ENV: TURBINE_PASSWORD)","multiple":false},"turbine-url":{"name":"turbine-url","type":"option","description":"the url of the turbine instance [https://turbine.acme.com]","required":true,"multiple":false},"bypass-certificate-check":{"name":"bypass-certificate-check","type":"boolean","char":"b","description":"disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"turbine:connector:push":{"id":"turbine:connector:push","description":"Use to push an integration to Turbine","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"file":{"name":"file","type":"option","char":"f","description":"path of the file to be uploaded to Turbine","required":true,"multiple":false},"username":{"name":"username","type":"option","char":"u","description":"Turbine username","multiple":false,"default":""},"password":{"name":"password","type":"option","char":"p","description":"Turbine password (ENV: TURBINE_PASSWORD)","multiple":false,"default":""},"turbine-url":{"name":"turbine-url","type":"option","description":"the url of the turbine instance [https://turbine.acme.com]","required":true,"multiple":false},"bypass-certificate-check":{"name":"bypass-certificate-check","type":"boolean","char":"b","description":"disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"turbine:connector:keys:generate":{"id":"turbine:connector:keys:generate","description":"Use to generate and store signing keys in Turbine","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"username":{"name":"username","type":"option","char":"u","description":"Turbine username","multiple":false,"default":""},"password":{"name":"password","type":"option","char":"p","description":"Turbine password (ENV: TURBINE_PASSWORD)","multiple":false,"default":""},"signing-password":{"name":"signing-password","type":"option","description":"password used for the private key (ENV: TURBINE_SIGNING_PASSWORD)","multiple":false,"default":""},"key-name":{"name":"key-name","type":"option","description":"name used for the key (default: username)","multiple":false},"turbine-url":{"name":"turbine-url","type":"option","description":"the url of the turbine instance [https://turbine.acme.com]","required":true,"multiple":false},"bypass-certificate-check":{"name":"bypass-certificate-check","type":"boolean","char":"b","description":"disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"turbine:connector:keys:push":{"id":"turbine:connector:keys:push","description":"Use to generate and store signing keys in Turbine","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"username":{"name":"username","type":"option","char":"u","description":"Turbine username","multiple":false,"default":""},"password":{"name":"password","type":"option","char":"p","description":"Turbine password (ENV: TURBINE_PASSWORD)","multiple":false,"default":""},"key-name":{"name":"key-name","type":"option","description":"name used for the key (default: username)","multiple":false,"default":""},"turbine-url":{"name":"turbine-url","type":"option","description":"the url of the turbine instance [https://turbine.acme.com]","required":true,"multiple":false},"bypass-certificate-check":{"name":"bypass-certificate-check","type":"boolean","char":"b","description":"disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"turbine:connector:keys:list:local":{"id":"turbine:connector:keys:list:local","description":"Use to list local keys","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"turbine:connector:keys:list:remote":{"id":"turbine:connector:keys:list:remote","description":"Use to list remote keys","strict":true,"pluginName":"@sw-tsdk/plugin-turbine","pluginAlias":"@sw-tsdk/plugin-turbine","pluginType":"core","aliases":[],"flags":{"log-level":{"name":"log-level","type":"option","hidden":true,"multiple":false,"options":["debug"]},"username":{"name":"username","type":"option","char":"u","description":"Turbine username","multiple":false},"password":{"name":"password","type":"option","char":"p","description":"Turbine password (ENV: TURBINE_PASSWORD)","multiple":false},"turbine-url":{"name":"turbine-url","type":"option","description":"the url of the turbine instance [https://turbine.acme.com]","required":true,"multiple":false},"bypass-certificate-check":{"name":"bypass-certificate-check","type":"boolean","char":"b","description":"disable certificate validation for Turbine instance (ENV: TURBINE_BYPASS_CERTIFICATE_CHECK)","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]}}}
|
package/package.json
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@oclif/core": "1.16.4",
|
|
8
|
-
"@sw-tsdk/common": "^2.0.1-next.
|
|
9
|
-
"@sw-tsdk/connector": "^2.0.1-next.
|
|
10
|
-
"@sw-tsdk/core": "^2.0.1-next.
|
|
11
|
-
"@sw-tsdk/docker": "^2.0.1-next.
|
|
12
|
-
"@sw-tsdk/turbine": "^2.0.1-next.
|
|
8
|
+
"@sw-tsdk/common": "^2.0.1-next.95+c09e96a",
|
|
9
|
+
"@sw-tsdk/connector": "^2.0.1-next.95+c09e96a",
|
|
10
|
+
"@sw-tsdk/core": "^2.0.1-next.95+c09e96a",
|
|
11
|
+
"@sw-tsdk/docker": "^2.0.1-next.95+c09e96a",
|
|
12
|
+
"@sw-tsdk/turbine": "^2.0.1-next.95+c09e96a",
|
|
13
13
|
"@swimlane/cosign": "1.3.1",
|
|
14
14
|
"date-fns": "2.29.3",
|
|
15
15
|
"fs-extra": "10.1.0",
|
|
@@ -66,6 +66,6 @@
|
|
|
66
66
|
"posttest": "yarn lint",
|
|
67
67
|
"dev:setup": "npm link"
|
|
68
68
|
},
|
|
69
|
-
"version": "2.0.1-next.
|
|
70
|
-
"gitHead": "
|
|
69
|
+
"version": "2.0.1-next.95+c09e96a",
|
|
70
|
+
"gitHead": "c09e96a6d90998ad63c8d234a5a303269ccc2577"
|
|
71
71
|
}
|