@catladder/cli 0.0.0-main-7156ef41 → 0.0.0-main-13db1c9e
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/dist/apps/catci/catci.js +17 -2
- package/dist/apps/catci/catci.js.map +1 -1
- package/dist/apps/catci/commands/security/commands.js +28 -18
- package/dist/apps/catci/commands/security/commands.js.map +1 -1
- package/dist/bundles/catci/index.js +45 -20
- package/dist/bundles/catenv/index.js +1 -1
- package/dist/bundles/cli/index.js +4 -2
- package/dist/gcloud/serviceAccounts.js +3 -1
- package/dist/gcloud/serviceAccounts.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/apps/catci/catci.ts +7 -1
- package/src/apps/catci/commands/security/commands.ts +100 -85
- package/src/gcloud/serviceAccounts.ts +2 -1
package/dist/apps/catci/catci.js
CHANGED
|
@@ -35,6 +35,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
38
47
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
49
|
};
|
|
@@ -43,9 +52,12 @@ exports.runCatCi = void 0;
|
|
|
43
52
|
var vorpal_1 = __importDefault(require("vorpal"));
|
|
44
53
|
var packageInfos_1 = __importDefault(require("../../packageInfos"));
|
|
45
54
|
var commands_1 = __importDefault(require("./commands/security/commands"));
|
|
55
|
+
function reconstructArgs(args) {
|
|
56
|
+
return __spreadArray([args[0]], args.slice(1).map(function (arg) { return "\"".concat(arg, "\""); }), true).join(" ");
|
|
57
|
+
}
|
|
46
58
|
function runCatCi() {
|
|
47
59
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var vorpal, isInteractive;
|
|
60
|
+
var vorpal, isInteractive, args;
|
|
49
61
|
return __generator(this, function (_a) {
|
|
50
62
|
switch (_a.label) {
|
|
51
63
|
case 0:
|
|
@@ -57,7 +69,10 @@ function runCatCi() {
|
|
|
57
69
|
if (!isInteractive) return [3 /*break*/, 1];
|
|
58
70
|
vorpal.log("Catladder CI Tools \uD83D\uDE3B\uD83D\uDD28 version ".concat(packageInfos_1["default"].version)).show();
|
|
59
71
|
return [3 /*break*/, 3];
|
|
60
|
-
case 1:
|
|
72
|
+
case 1:
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
args = reconstructArgs(process.argv.slice(2));
|
|
75
|
+
return [4 /*yield*/, vorpal.exec(args)];
|
|
61
76
|
case 2:
|
|
62
77
|
_a.sent();
|
|
63
78
|
process.exit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catci.js","sourceRoot":"","sources":["../../../src/apps/catci/catci.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catci.js","sourceRoot":"","sources":["../../../src/apps/catci/catci.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,oEAA6C;AAC7C,0EAA4D;AAE5D,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO,eAAC,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,YAAI,GAAG,OAAG,EAAV,CAAU,CAAC,QAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,SAAsB,QAAQ;;;;;;oBACtB,MAAM,GAAG,IAAI,mBAAM,EAAE,CAAC;oBAE5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAW,CAAC,OAAO,CAAC,CAAC;oBAE1E,IAAA,qBAAgB,EAAC,MAAM,CAAC,CAAC;oBAEnB,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;yBAC3C,aAAa,EAAb,wBAAa;oBACf,MAAM,CAAC,GAAG,CAAC,8DAAmC,yBAAW,CAAC,OAAO,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC;;;oBAE5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACf,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,qBAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAAvB,SAAuB,CAAC;oBACxB,OAAO,CAAC,IAAI,EAAE,CAAC;;;;;;CAElB;AAjBD,4BAiBC"}
|
|
@@ -39,6 +39,7 @@ exports.__esModule = true;
|
|
|
39
39
|
var evaluateSecurityAudit_1 = require("./evaluateSecurityAudit");
|
|
40
40
|
var rest_1 = require("@gitbeaker/rest");
|
|
41
41
|
var createSecurityAuditMergeRequest_1 = require("./createSecurityAuditMergeRequest");
|
|
42
|
+
var ts_results_es_1 = require("ts-results-es");
|
|
42
43
|
var GITLAB_HOST = "https://git.panter.ch";
|
|
43
44
|
function default_1(vorpal) {
|
|
44
45
|
commandCiJob(vorpal);
|
|
@@ -46,13 +47,28 @@ function default_1(vorpal) {
|
|
|
46
47
|
commandCreate(vorpal);
|
|
47
48
|
}
|
|
48
49
|
exports["default"] = default_1;
|
|
50
|
+
function resultAsExitCode(func) {
|
|
51
|
+
var _this = this;
|
|
52
|
+
return function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
53
|
+
var result;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, func(args)];
|
|
57
|
+
case 1:
|
|
58
|
+
result = _a.sent();
|
|
59
|
+
process.exitCode = result.isErr() ? 1 : 0;
|
|
60
|
+
return [2 /*return*/];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}); };
|
|
64
|
+
}
|
|
49
65
|
function commandCiJob(vorpal) {
|
|
50
66
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
67
|
var _this = this;
|
|
52
68
|
return __generator(this, function (_a) {
|
|
53
69
|
vorpal
|
|
54
70
|
.command("security-audit-ci-job <path> <token> <mainBranch> <projectId> <userId>", "Evaluates security audit document. If the document can't be evaluated or does not exist, creates a new MR with security audit document template.\n\n<path> root path of a project with security audit document (".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, ")\n<token> gitlab token with 'api' scopes and permissions to create a new branch\n<main-branch> main branch name\n<project-id> project id to create security audit for\n<user-id> gitlab user id that will be assignee of the audit\n"))
|
|
55
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
71
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
56
72
|
var evaluation, token, mainBranch, projectId, userId, api, mr;
|
|
57
73
|
return __generator(this, function (_a) {
|
|
58
74
|
switch (_a.label) {
|
|
@@ -77,26 +93,22 @@ function commandCiJob(vorpal) {
|
|
|
77
93
|
mr = _a.sent();
|
|
78
94
|
if (mr.isErr()) {
|
|
79
95
|
console.error("could not create merge request with security audit template: ".concat(mr.error));
|
|
80
|
-
|
|
81
|
-
return [2 /*return*/];
|
|
96
|
+
return [2 /*return*/, mr];
|
|
82
97
|
}
|
|
83
98
|
console.log("security audit merge request created successfully");
|
|
84
99
|
console.log("please finish the MR by updating SECURITY.md document: ".concat(mr.value.web_url));
|
|
85
|
-
|
|
86
|
-
return [2 /*return*/];
|
|
100
|
+
return [2 /*return*/, (0, ts_results_es_1.Err)("merge request created")];
|
|
87
101
|
case 3:
|
|
88
102
|
if (evaluation.value.score.answeredTopics === 0) {
|
|
89
103
|
console.error("audit document has no answered topics");
|
|
90
104
|
console.error("please answer security topics in ".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, " by adding responsible people and check/cross in the table"));
|
|
91
|
-
|
|
92
|
-
return [2 /*return*/];
|
|
105
|
+
return [2 /*return*/, (0, ts_results_es_1.Err)("audit document has no answered topics")];
|
|
93
106
|
}
|
|
94
|
-
process.exitCode = 0;
|
|
95
107
|
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(evaluation.value));
|
|
96
|
-
return [2 /*return
|
|
108
|
+
return [2 /*return*/, (0, ts_results_es_1.Ok)({})];
|
|
97
109
|
}
|
|
98
110
|
});
|
|
99
|
-
}); });
|
|
111
|
+
}); }));
|
|
100
112
|
return [2 /*return*/];
|
|
101
113
|
});
|
|
102
114
|
});
|
|
@@ -107,7 +119,7 @@ function commandEvaluate(vorpal) {
|
|
|
107
119
|
return __generator(this, function (_a) {
|
|
108
120
|
vorpal
|
|
109
121
|
.command("security-audit-evaluate <path>", "Evaluates security audit document in given <path>")
|
|
110
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
122
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
111
123
|
var result;
|
|
112
124
|
return __generator(this, function (_a) {
|
|
113
125
|
switch (_a.label) {
|
|
@@ -119,15 +131,14 @@ function commandEvaluate(vorpal) {
|
|
|
119
131
|
if (result.isErr()) {
|
|
120
132
|
console.error(result.error);
|
|
121
133
|
console.error("please make sure the security audit document ".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, " is in the repository"));
|
|
122
|
-
process.exitCode = 1;
|
|
123
134
|
}
|
|
124
135
|
else {
|
|
125
136
|
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(result.value));
|
|
126
137
|
}
|
|
127
|
-
return [2 /*return
|
|
138
|
+
return [2 /*return*/, result];
|
|
128
139
|
}
|
|
129
140
|
});
|
|
130
|
-
}); });
|
|
141
|
+
}); }));
|
|
131
142
|
return [2 /*return*/];
|
|
132
143
|
});
|
|
133
144
|
});
|
|
@@ -138,7 +149,7 @@ function commandCreate(vorpal) {
|
|
|
138
149
|
return __generator(this, function (_a) {
|
|
139
150
|
vorpal
|
|
140
151
|
.command("security-audit-create <token> <mainBranch> <projectId> <userId>", "Creates a MR in given project with the latest security audit template document\n\n<token> gitlab token with 'api' scopes and permissions to create a new branch\n<main-branch> main branch name\n<project-id> project id to create security audit for\n<user-id> gitlab user id that will be assignee of the audit\n")
|
|
141
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
152
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
142
153
|
var token, mainBranch, projectId, userId, api, result;
|
|
143
154
|
return __generator(this, function (_a) {
|
|
144
155
|
switch (_a.label) {
|
|
@@ -158,16 +169,15 @@ function commandCreate(vorpal) {
|
|
|
158
169
|
result = _a.sent();
|
|
159
170
|
if (result.isErr()) {
|
|
160
171
|
console.error("could not create security audit merge request: ".concat(result.error));
|
|
161
|
-
process.exitCode = 1;
|
|
162
172
|
}
|
|
163
173
|
else {
|
|
164
174
|
console.log("security audit merge request created successfully");
|
|
165
175
|
console.log("please finish the MR by updating SECURITY.md document: ".concat(result.value.web_url));
|
|
166
176
|
}
|
|
167
|
-
return [2 /*return
|
|
177
|
+
return [2 /*return*/, result];
|
|
168
178
|
}
|
|
169
179
|
});
|
|
170
|
-
}); });
|
|
180
|
+
}); }));
|
|
171
181
|
return [2 /*return*/];
|
|
172
182
|
});
|
|
173
183
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../src/apps/catci/commands/security/commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAGiC;AACjC,wCAAyC;AACzC,qFAG2C;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../src/apps/catci/commands/security/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
42
42
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
46
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
47
|
+
if (ar || !(i in from)) {
|
|
48
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
49
|
+
ar[i] = from[i];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
53
|
+
};
|
|
45
54
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
55
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
56
|
};
|
|
@@ -50,9 +59,12 @@ exports.runCatCi = void 0;
|
|
|
50
59
|
var vorpal_1 = __importDefault(__nccwpck_require__(1491));
|
|
51
60
|
var packageInfos_1 = __importDefault(__nccwpck_require__(1628));
|
|
52
61
|
var commands_1 = __importDefault(__nccwpck_require__(6518));
|
|
62
|
+
function reconstructArgs(args) {
|
|
63
|
+
return __spreadArray([args[0]], args.slice(1).map(function (arg) { return "\"".concat(arg, "\""); }), true).join(" ");
|
|
64
|
+
}
|
|
53
65
|
function runCatCi() {
|
|
54
66
|
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
-
var vorpal, isInteractive;
|
|
67
|
+
var vorpal, isInteractive, args;
|
|
56
68
|
return __generator(this, function (_a) {
|
|
57
69
|
switch (_a.label) {
|
|
58
70
|
case 0:
|
|
@@ -64,7 +76,10 @@ function runCatCi() {
|
|
|
64
76
|
if (!isInteractive) return [3 /*break*/, 1];
|
|
65
77
|
vorpal.log("Catladder CI Tools \uD83D\uDE3B\uD83D\uDD28 version ".concat(packageInfos_1["default"].version)).show();
|
|
66
78
|
return [3 /*break*/, 3];
|
|
67
|
-
case 1:
|
|
79
|
+
case 1:
|
|
80
|
+
process.exitCode = 1;
|
|
81
|
+
args = reconstructArgs(process.argv.slice(2));
|
|
82
|
+
return [4 /*yield*/, vorpal.exec(args)];
|
|
68
83
|
case 2:
|
|
69
84
|
_a.sent();
|
|
70
85
|
process.exit();
|
|
@@ -221,6 +236,7 @@ exports.__esModule = true;
|
|
|
221
236
|
var evaluateSecurityAudit_1 = __nccwpck_require__(5849);
|
|
222
237
|
var rest_1 = __nccwpck_require__(1084);
|
|
223
238
|
var createSecurityAuditMergeRequest_1 = __nccwpck_require__(6828);
|
|
239
|
+
var ts_results_es_1 = __nccwpck_require__(2807);
|
|
224
240
|
var GITLAB_HOST = "https://git.panter.ch";
|
|
225
241
|
function default_1(vorpal) {
|
|
226
242
|
commandCiJob(vorpal);
|
|
@@ -228,13 +244,28 @@ function default_1(vorpal) {
|
|
|
228
244
|
commandCreate(vorpal);
|
|
229
245
|
}
|
|
230
246
|
exports["default"] = default_1;
|
|
247
|
+
function resultAsExitCode(func) {
|
|
248
|
+
var _this = this;
|
|
249
|
+
return function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
250
|
+
var result;
|
|
251
|
+
return __generator(this, function (_a) {
|
|
252
|
+
switch (_a.label) {
|
|
253
|
+
case 0: return [4 /*yield*/, func(args)];
|
|
254
|
+
case 1:
|
|
255
|
+
result = _a.sent();
|
|
256
|
+
process.exitCode = result.isErr() ? 1 : 0;
|
|
257
|
+
return [2 /*return*/];
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}); };
|
|
261
|
+
}
|
|
231
262
|
function commandCiJob(vorpal) {
|
|
232
263
|
return __awaiter(this, void 0, void 0, function () {
|
|
233
264
|
var _this = this;
|
|
234
265
|
return __generator(this, function (_a) {
|
|
235
266
|
vorpal
|
|
236
267
|
.command("security-audit-ci-job <path> <token> <mainBranch> <projectId> <userId>", "Evaluates security audit document. If the document can't be evaluated or does not exist, creates a new MR with security audit document template.\n\n<path> root path of a project with security audit document (".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, ")\n<token> gitlab token with 'api' scopes and permissions to create a new branch\n<main-branch> main branch name\n<project-id> project id to create security audit for\n<user-id> gitlab user id that will be assignee of the audit\n"))
|
|
237
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
268
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
238
269
|
var evaluation, token, mainBranch, projectId, userId, api, mr;
|
|
239
270
|
return __generator(this, function (_a) {
|
|
240
271
|
switch (_a.label) {
|
|
@@ -259,26 +290,22 @@ function commandCiJob(vorpal) {
|
|
|
259
290
|
mr = _a.sent();
|
|
260
291
|
if (mr.isErr()) {
|
|
261
292
|
console.error("could not create merge request with security audit template: ".concat(mr.error));
|
|
262
|
-
|
|
263
|
-
return [2 /*return*/];
|
|
293
|
+
return [2 /*return*/, mr];
|
|
264
294
|
}
|
|
265
295
|
console.log("security audit merge request created successfully");
|
|
266
296
|
console.log("please finish the MR by updating SECURITY.md document: ".concat(mr.value.web_url));
|
|
267
|
-
|
|
268
|
-
return [2 /*return*/];
|
|
297
|
+
return [2 /*return*/, (0, ts_results_es_1.Err)("merge request created")];
|
|
269
298
|
case 3:
|
|
270
299
|
if (evaluation.value.score.answeredTopics === 0) {
|
|
271
300
|
console.error("audit document has no answered topics");
|
|
272
301
|
console.error("please answer security topics in ".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, " by adding responsible people and check/cross in the table"));
|
|
273
|
-
|
|
274
|
-
return [2 /*return*/];
|
|
302
|
+
return [2 /*return*/, (0, ts_results_es_1.Err)("audit document has no answered topics")];
|
|
275
303
|
}
|
|
276
|
-
process.exitCode = 0;
|
|
277
304
|
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(evaluation.value));
|
|
278
|
-
return [2 /*return
|
|
305
|
+
return [2 /*return*/, (0, ts_results_es_1.Ok)({})];
|
|
279
306
|
}
|
|
280
307
|
});
|
|
281
|
-
}); });
|
|
308
|
+
}); }));
|
|
282
309
|
return [2 /*return*/];
|
|
283
310
|
});
|
|
284
311
|
});
|
|
@@ -289,7 +316,7 @@ function commandEvaluate(vorpal) {
|
|
|
289
316
|
return __generator(this, function (_a) {
|
|
290
317
|
vorpal
|
|
291
318
|
.command("security-audit-evaluate <path>", "Evaluates security audit document in given <path>")
|
|
292
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
319
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
293
320
|
var result;
|
|
294
321
|
return __generator(this, function (_a) {
|
|
295
322
|
switch (_a.label) {
|
|
@@ -301,15 +328,14 @@ function commandEvaluate(vorpal) {
|
|
|
301
328
|
if (result.isErr()) {
|
|
302
329
|
console.error(result.error);
|
|
303
330
|
console.error("please make sure the security audit document ".concat(createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME, " is in the repository"));
|
|
304
|
-
process.exitCode = 1;
|
|
305
331
|
}
|
|
306
332
|
else {
|
|
307
333
|
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(result.value));
|
|
308
334
|
}
|
|
309
|
-
return [2 /*return
|
|
335
|
+
return [2 /*return*/, result];
|
|
310
336
|
}
|
|
311
337
|
});
|
|
312
|
-
}); });
|
|
338
|
+
}); }));
|
|
313
339
|
return [2 /*return*/];
|
|
314
340
|
});
|
|
315
341
|
});
|
|
@@ -320,7 +346,7 @@ function commandCreate(vorpal) {
|
|
|
320
346
|
return __generator(this, function (_a) {
|
|
321
347
|
vorpal
|
|
322
348
|
.command("security-audit-create <token> <mainBranch> <projectId> <userId>", "Creates a MR in given project with the latest security audit template document\n\n<token> gitlab token with 'api' scopes and permissions to create a new branch\n<main-branch> main branch name\n<project-id> project id to create security audit for\n<user-id> gitlab user id that will be assignee of the audit\n")
|
|
323
|
-
.action(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
349
|
+
.action(resultAsExitCode(function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
324
350
|
var token, mainBranch, projectId, userId, api, result;
|
|
325
351
|
return __generator(this, function (_a) {
|
|
326
352
|
switch (_a.label) {
|
|
@@ -340,16 +366,15 @@ function commandCreate(vorpal) {
|
|
|
340
366
|
result = _a.sent();
|
|
341
367
|
if (result.isErr()) {
|
|
342
368
|
console.error("could not create security audit merge request: ".concat(result.error));
|
|
343
|
-
process.exitCode = 1;
|
|
344
369
|
}
|
|
345
370
|
else {
|
|
346
371
|
console.log("security audit merge request created successfully");
|
|
347
372
|
console.log("please finish the MR by updating SECURITY.md document: ".concat(result.value.web_url));
|
|
348
373
|
}
|
|
349
|
-
return [2 /*return
|
|
374
|
+
return [2 /*return*/, result];
|
|
350
375
|
}
|
|
351
376
|
});
|
|
352
|
-
}); });
|
|
377
|
+
}); }));
|
|
353
378
|
return [2 /*return*/];
|
|
354
379
|
});
|
|
355
380
|
});
|
|
@@ -40920,7 +40920,7 @@ exports.readConfigSync = readConfigSync;
|
|
|
40920
40920
|
|
|
40921
40921
|
exports.__esModule = true;
|
|
40922
40922
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
40923
|
-
exports.PIPELINE_IMAGE_TAG = "main-
|
|
40923
|
+
exports.PIPELINE_IMAGE_TAG = "main-13db1c9e" || 0;
|
|
40924
40924
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
40925
40925
|
|
|
40926
40926
|
/***/ }),
|
|
@@ -7713,7 +7713,9 @@ var upsertGcloudServiceAccount = function (context, account) { return __awaiter(
|
|
|
7713
7713
|
case 11:
|
|
7714
7714
|
_a++;
|
|
7715
7715
|
return [3 /*break*/, 9];
|
|
7716
|
-
case 12: return [4 /*yield*/, (0, child_process_promise_1.exec)(
|
|
7716
|
+
case 12: return [4 /*yield*/, (0, child_process_promise_1.exec)(
|
|
7717
|
+
// on some platforms /dev/stdout is not available without the pipe
|
|
7718
|
+
"gcloud iam service-accounts keys create /dev/stdout --iam-account=".concat(fullIdentifier, " | cat")).then(function (o) { return o.stdout; })];
|
|
7717
7719
|
case 13: return [2 /*return*/, _b.sent()];
|
|
7718
7720
|
}
|
|
7719
7721
|
});
|
|
@@ -355848,7 +355850,7 @@ exports.readConfigSync = readConfigSync;
|
|
|
355848
355850
|
|
|
355849
355851
|
exports.__esModule = true;
|
|
355850
355852
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
355851
|
-
exports.PIPELINE_IMAGE_TAG = "main-
|
|
355853
|
+
exports.PIPELINE_IMAGE_TAG = "main-13db1c9e" || 0;
|
|
355852
355854
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
355853
355855
|
|
|
355854
355856
|
/***/ }),
|
|
@@ -109,7 +109,9 @@ var upsertGcloudServiceAccount = function (context, account) { return __awaiter(
|
|
|
109
109
|
case 11:
|
|
110
110
|
_a++;
|
|
111
111
|
return [3 /*break*/, 9];
|
|
112
|
-
case 12: return [4 /*yield*/, (0, child_process_promise_1.exec)(
|
|
112
|
+
case 12: return [4 /*yield*/, (0, child_process_promise_1.exec)(
|
|
113
|
+
// on some platforms /dev/stdout is not available without the pipe
|
|
114
|
+
"gcloud iam service-accounts keys create /dev/stdout --iam-account=".concat(fullIdentifier, " | cat")).then(function (o) { return o.stdout; })];
|
|
113
115
|
case 13: return [2 /*return*/, _b.sent()];
|
|
114
116
|
}
|
|
115
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceAccounts.js","sourceRoot":"","sources":["../../src/gcloud/serviceAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+DAA6C;AAC7C,iCAAoC;AAEpC,0CAAqD;AAE9C,IAAM,aAAa,GAAG,UAAO,cAAsB;;;;;;gBAEtD,qBAAM,IAAA,4BAAI,EAAC,+CAAwC,cAAc,CAAE,CAAC,EAAA;;gBAApE,SAAoE,CAAC;gBACrE,sBAAO,IAAI,EAAC;;;gBAEZ,sBAAO,KAAK,EAAC;;;;KAEhB,CAAC;AAPW,QAAA,aAAa,iBAOxB;AASF,IAAM,0BAA0B,GAAG,UACjC,OAAgB,EAChB,OAAuB;;;;;gBAEf,SAAS,GAA4C,OAAO,UAAnD,EAAE,IAAI,GAAsC,OAAO,KAA7C,EAAE,WAAW,GAAyB,OAAO,YAAhC,EAAE,KAAK,GAAkB,OAAO,MAAzB,EAAE,WAAW,GAAK,OAAO,YAAZ,CAAa;gBAG/D,UAAU,GAAG,UAAG,IAAI,MAAG,CAAC;gBACxB,UAAU,GAAG,WAAI,OAAO,CAAC,WAAW,CAAC,SAAS,cAAI,OAAO,CAAC,aAAa,CAAE,CAAC;gBAC1E,gBAAgB,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9D,UAAU,GAAG,UAAG,OAAO,CAAC,UAAU,CAAC,YAAY,cAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAE,CAAC;gBAEhF,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAEvD,QAAQ,GAAG,UAAG,UAAU,SAAG,MAAM,SAAG,UAAU,CAAE,CAAC;gBAEjD,eAAe,GAAG,UAAG,OAAO,CAAC,UAAU,CAAC,YAAY,cAAI,OAAO,CAAC,UAAU,CAAC,OAAO,cAAI,OAAO,CAAC,WAAW,CAAC,SAAS,cAAI,OAAO,CAAC,aAAa,gBAAM,WAAW,CAAE,CAAC;gBAEhK,cAAc,GAAG,UAAG,QAAQ,cAAI,SAAS,6BAA0B,CAAC;gBAEzD,qBAAM,IAAA,qBAAa,EAAC,cAAc,CAAC,EAAA;;gBAA9C,QAAQ,GAAG,SAAmC;qBAEhD,CAAC,QAAQ,EAAT,wBAAS;gBACX,qBAAM,IAAA,4BAAI,EACR,6CAAsC,QAAQ,+BAAoB,eAAe,4BAAgB,SAAS,iCAAqB,WAAW,OAAG,CAC9I,EAAA;;gBAFD,SAEC,CAAC;;;gBAEE,UAAU,GAAG,yBAAkB,cAAc,CAAE,CAAC;sBAC9B,EAAL,eAAK;;;qBAAL,CAAA,mBAAK,CAAA;gBAAb,IAAI;gBACb,qBAAM,IAAA,4BAAI,EACR,iDAA0C,SAAS,uBAAa,UAAU,qBAAW,IAAI,MAAG,CAC7F,EAAA;;gBAFD,SAEC,CAAC;;;gBAHe,IAAK,CAAA;;oBASX,qBAAM,IAAA,4BAAI,EACrB,8DAAuD,cAAc,qCAAkC,CACxG,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAApB,CAAoB,CAAC,EAAA;;gBAF7B,IAAI,GAAG,SAEsB;sBAEb,EAAJ,aAAI;;;qBAAJ,CAAA,kBAAI,CAAA;gBAAX,GAAG;gBACZ,qBAAM,IAAA,4BAAI,EACR,kDAA2C,GAAG,CAAC,IAAI,oCAA0B,cAAc,CAAE,CAC9F,EAAA;;gBAFD,SAEC,CAAC;;;gBAHc,IAAI,CAAA;;qBAMf,qBAAM,IAAA,4BAAI,
|
|
1
|
+
{"version":3,"file":"serviceAccounts.js","sourceRoot":"","sources":["../../src/gcloud/serviceAccounts.ts"],"names":[],"mappings":"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"}
|