@catladder/cli 0.0.0-new-cli-80ac360a → 0.0.0-new-cli-a65ec262
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 +2 -2
- package/dist/bundles/catenv/index.js +4341 -27
- package/dist/bundles/cli/index.js +15981 -771
- package/dist/cli/src/apps/catenv/catenv.d.ts +1 -0
- package/dist/cli/src/apps/catenv/catenv.js +1 -1
- package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
- package/dist/cli/src/apps/catenv/printVariables.js +0 -10
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/catenv.js +13 -16
- package/dist/cli/src/catenv.js.map +1 -1
- package/dist/cli/src/cli.js +24 -5
- package/dist/cli/src/cli.js.map +1 -1
- package/dist/cli/src/commands/cloudSQL/commandRestoreDb.js +1 -1
- package/dist/cli/src/commands/cloudSQL/commandRestoreDb.js.map +1 -1
- package/dist/cli/src/commands/fun/commandDadjoke.js +1 -1
- package/dist/cli/src/commands/fun/commandDadjoke.js.map +1 -1
- package/dist/cli/src/commands/fun/commandStarwars.js +1 -1
- package/dist/cli/src/commands/fun/commandStarwars.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeCurrentContext.js +1 -1
- package/dist/cli/src/commands/general/commandKubeGetShell.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListNamespaces.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListPods.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListSecrets.js +1 -1
- package/dist/cli/src/commands/general/commandKubePortForward.js +1 -1
- package/dist/cli/src/commands/general/commandKubeStopPortforward.js +1 -1
- package/dist/cli/src/commands/index.d.ts +3 -0
- package/dist/cli/src/commands/index.js +23 -1
- package/dist/cli/src/commands/index.js.map +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.js +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.js +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.js +1 -1
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js +1 -1
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/cli/src/commands/project/commandConfigSecrets.js +1 -1
- package/dist/cli/src/commands/project/commandDeletePods.js +1 -1
- package/dist/cli/src/commands/project/commandDeleteProject.js +1 -1
- package/dist/cli/src/commands/project/commandEnvVars.js +1 -1
- package/dist/cli/src/commands/project/commandGetMyTotalWorktime.js +1 -1
- package/dist/cli/src/commands/project/commandGetMyTotalWorktime.js.map +1 -1
- package/dist/cli/src/commands/project/commandGetShell.js +1 -1
- package/dist/cli/src/commands/project/commandGitlabCi.js +2 -2
- package/dist/cli/src/commands/project/commandListPods.js +1 -1
- package/dist/cli/src/commands/project/commandNamespace.js +1 -1
- package/dist/cli/src/commands/project/commandOpenEnv.js +1 -1
- package/dist/cli/src/commands/project/commandOpenGit.js +1 -1
- package/dist/cli/src/commands/project/commandOpenLogs.js +1 -1
- package/dist/cli/src/commands/project/commandPauseProject.js +1 -1
- package/dist/cli/src/commands/project/commandPortForward.js +1 -1
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js +1 -1
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js.map +1 -1
- package/dist/cli/src/commands/project/commandRenewToken.js +1 -1
- package/dist/cli/src/commands/project/commandSecretsClearBackups.js +1 -1
- package/dist/cli/src/commands/project/commandSecurityEvaluate.js +2 -2
- package/dist/cli/src/commands/project/commandSecurityEvaluate.js.map +1 -1
- package/dist/cli/src/commands/project/commandSetup.js +1 -1
- package/dist/cli/src/commands/project/commandTriggerCronjob.js +2 -2
- package/dist/cli/src/commands/project/commandTriggerCronjob.js.map +1 -1
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.d.ts +27 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.js +83 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.js.map +1 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.d.ts +22 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.js +60 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.js.map +1 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.d.ts +7 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.js +35 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.js.map +1 -0
- package/dist/cli/src/completion.js +49 -36
- package/dist/cli/src/completion.js.map +1 -1
- package/dist/cli/src/security/auditDocument.js.map +1 -0
- package/dist/cli/src/security/createSecurityAuditMergeRequest.js.map +1 -0
- package/dist/cli/src/security/evaluateSecurityAudit.js.map +1 -0
- package/dist/pipeline/src/build/types.d.ts +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +1 -1
- package/dist/pipeline/src/deploy/types/index.d.ts +2 -2
- package/dist/pipeline/src/types/config.d.ts +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -6
- package/scripts/bundle +0 -2
- package/src/apps/catenv/catenv.ts +4 -2
- package/src/apps/catenv/printVariables.ts +0 -8
- package/src/catenv.ts +18 -19
- package/src/cli.ts +29 -5
- package/src/commands/cloudSQL/commandRestoreDb.ts +1 -1
- package/src/commands/fun/commandDadjoke.ts +1 -1
- package/src/commands/fun/commandStarwars.ts +1 -1
- package/src/commands/general/commandKubeCurrentContext.ts +1 -1
- package/src/commands/general/commandKubeGetShell.ts +1 -1
- package/src/commands/general/commandKubeListNamespaces.ts +1 -1
- package/src/commands/general/commandKubeListPods.ts +1 -1
- package/src/commands/general/commandKubeListSecrets.ts +1 -1
- package/src/commands/general/commandKubePortForward.ts +1 -1
- package/src/commands/general/commandKubeStopPortforward.ts +1 -1
- package/src/commands/index.ts +5 -0
- package/src/commands/mongodb/commandMongoDestroyMember.ts +1 -1
- package/src/commands/mongodb/commandMongoGetShell.ts +1 -1
- package/src/commands/mongodb/commandMongoPortForward.ts +1 -1
- package/src/commands/project/commandCloudSqlProxy.ts +1 -1
- package/src/commands/project/commandConfigSecrets.ts +1 -1
- package/src/commands/project/commandDeletePods.ts +1 -1
- package/src/commands/project/commandDeleteProject.ts +1 -1
- package/src/commands/project/commandEnvVars.ts +1 -1
- package/src/commands/project/commandGetMyTotalWorktime.ts +1 -1
- package/src/commands/project/commandGetShell.ts +1 -1
- package/src/commands/project/commandGitlabCi.ts +2 -2
- package/src/commands/project/commandListPods.ts +1 -1
- package/src/commands/project/commandNamespace.ts +1 -1
- package/src/commands/project/commandOpenEnv.ts +1 -1
- package/src/commands/project/commandOpenGit.ts +1 -1
- package/src/commands/project/commandOpenLogs.ts +1 -1
- package/src/commands/project/commandPauseProject.ts +1 -1
- package/src/commands/project/commandPortForward.ts +1 -1
- package/src/commands/project/commandProjectRestoreDb.ts +1 -1
- package/src/commands/project/commandRenewToken.ts +1 -1
- package/src/commands/project/commandSecretsClearBackups.ts +1 -1
- package/src/commands/project/commandSecurityEvaluate.ts +2 -2
- package/src/commands/project/commandSetup.ts +1 -1
- package/src/commands/project/commandTriggerCronjob.ts +2 -2
- package/src/commands/security/commandSecurityAuditCiJob.ts +91 -0
- package/src/commands/security/commandSecurityAuditCreate.ts +58 -0
- package/src/commands/security/commandSecurityAuditEvaluate.ts +30 -0
- package/src/completion.ts +53 -45
- package/bin/catci +0 -3
- package/bin/catci-dev +0 -3
- package/dist/bundles/catci/index.js +0 -71714
- package/dist/cli/src/apps/catci/catci.d.ts +0 -1
- package/dist/cli/src/apps/catci/catci.js +0 -33
- package/dist/cli/src/apps/catci/catci.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/auditDocument.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/commands.d.ts +0 -2
- package/dist/cli/src/apps/catci/commands/security/commands.js +0 -118
- package/dist/cli/src/apps/catci/commands/security/commands.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js.map +0 -1
- package/dist/cli/src/catci.d.ts +0 -1
- package/dist/cli/src/catci.js +0 -7
- package/dist/cli/src/catci.js.map +0 -1
- package/src/apps/catci/catci.ts +0 -26
- package/src/apps/catci/commands/security/commands.ts +0 -161
- package/src/catci.ts +0 -3
- /package/dist/cli/src/{apps/catci/commands/security → security}/auditDocument.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/auditDocument.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/topics.json +0 -0
- /package/src/{apps/catci/commands/security → security}/auditDocument.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/topics.json +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function runCatCi(): Promise<void>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __importDefault = this && this.__importDefault || function (mod) {
|
|
4
|
-
return mod && mod.__esModule ? mod : {
|
|
5
|
-
"default": mod
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", {
|
|
9
|
-
value: true
|
|
10
|
-
});
|
|
11
|
-
exports.runCatCi = void 0;
|
|
12
|
-
const vorpal_1 = __importDefault(require("vorpal"));
|
|
13
|
-
const packageInfos_1 = __importDefault(require("../../packageInfos"));
|
|
14
|
-
const commands_1 = __importDefault(require("./commands/security/commands"));
|
|
15
|
-
function reconstructArgs(args) {
|
|
16
|
-
return [args[0], ...args.slice(1).map(arg => `"${arg}"`)].join(" ");
|
|
17
|
-
}
|
|
18
|
-
async function runCatCi() {
|
|
19
|
-
const vorpal = new vorpal_1.default();
|
|
20
|
-
process.exitCode = 0;
|
|
21
|
-
vorpal.delimiter("catci $").history("catci").version(packageInfos_1.default.version);
|
|
22
|
-
(0, commands_1.default)(vorpal);
|
|
23
|
-
const isInteractive = process.argv.length <= 2;
|
|
24
|
-
if (isInteractive) {
|
|
25
|
-
vorpal.log(`Catladder CI Tools 😻🔨 version ${packageInfos_1.default.version}`).show();
|
|
26
|
-
} else {
|
|
27
|
-
process.exitCode = 1;
|
|
28
|
-
const args = reconstructArgs(process.argv.slice(2));
|
|
29
|
-
await vorpal.exec(args);
|
|
30
|
-
process.exit();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.runCatCi = runCatCi;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"catci.js","sourceRoot":"","sources":["../../../../../src/apps/catci/catci.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,sEAA6C;AAC7C,4EAA4D;AAE5D,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAEM,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAE5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAC;IAE1E,IAAA,kBAAgB,EAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,mCAAmC,sBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAjBD,4BAiBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auditDocument.js","sourceRoot":"","sources":["../../../../../../../src/apps/catci/commands/security/auditDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
const evaluateSecurityAudit_1 = require("./evaluateSecurityAudit");
|
|
7
|
-
const rest_1 = require("@gitbeaker/rest");
|
|
8
|
-
const createSecurityAuditMergeRequest_1 = require("./createSecurityAuditMergeRequest");
|
|
9
|
-
const ts_results_es_1 = require("ts-results-es");
|
|
10
|
-
const GITLAB_HOST = "https://git.panter.ch";
|
|
11
|
-
function default_1(vorpal) {
|
|
12
|
-
commandCiJob(vorpal);
|
|
13
|
-
commandEvaluate(vorpal);
|
|
14
|
-
commandCreate(vorpal);
|
|
15
|
-
}
|
|
16
|
-
exports.default = default_1;
|
|
17
|
-
function resultAsExitCode(func) {
|
|
18
|
-
return async args => {
|
|
19
|
-
const result = await func(args);
|
|
20
|
-
process.exitCode = result.isErr() ? 1 : 0;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
async function commandCiJob(vorpal) {
|
|
24
|
-
vorpal.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.
|
|
25
|
-
|
|
26
|
-
<path> root path of a project with security audit document (${createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME})
|
|
27
|
-
<token> gitlab token with 'api' scopes and permissions to create a new branch
|
|
28
|
-
<main-branch> main branch name
|
|
29
|
-
<project-id> project id to create security audit for
|
|
30
|
-
<user-id> gitlab user id that will be assignee of the audit
|
|
31
|
-
`).action(resultAsExitCode(async args => {
|
|
32
|
-
const evaluation = await (0, evaluateSecurityAudit_1.evaluateSecurityAudit)({
|
|
33
|
-
path: args.path
|
|
34
|
-
});
|
|
35
|
-
if (evaluation.isErr()) {
|
|
36
|
-
console.log("could not evaluate security audit document");
|
|
37
|
-
console.log("creating new merge request with security audit template...");
|
|
38
|
-
const {
|
|
39
|
-
token,
|
|
40
|
-
mainBranch,
|
|
41
|
-
projectId,
|
|
42
|
-
userId
|
|
43
|
-
} = args;
|
|
44
|
-
const api = new rest_1.Gitlab({
|
|
45
|
-
host: GITLAB_HOST,
|
|
46
|
-
token
|
|
47
|
-
});
|
|
48
|
-
const mr = await (0, createSecurityAuditMergeRequest_1.createSecurityAuditMergeRequest)({
|
|
49
|
-
api,
|
|
50
|
-
mainBranch,
|
|
51
|
-
projectId,
|
|
52
|
-
userId: parseInt(userId)
|
|
53
|
-
});
|
|
54
|
-
if (mr.isErr()) {
|
|
55
|
-
console.error(`could not create merge request with security audit template: ${mr.error}`);
|
|
56
|
-
return mr;
|
|
57
|
-
}
|
|
58
|
-
console.log("security audit merge request created successfully");
|
|
59
|
-
console.log(`please finish the MR by updating SECURITY.md document: ${mr.value.web_url}`);
|
|
60
|
-
return (0, ts_results_es_1.Err)("merge request created");
|
|
61
|
-
}
|
|
62
|
-
if (evaluation.value.score.answeredTopics === 0) {
|
|
63
|
-
console.error("audit document has no answered topics");
|
|
64
|
-
console.error(`please answer security topics in ${createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME} by adding responsible people and check/cross in the table`);
|
|
65
|
-
return (0, ts_results_es_1.Err)("audit document has no answered topics");
|
|
66
|
-
}
|
|
67
|
-
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(evaluation.value));
|
|
68
|
-
return (0, ts_results_es_1.Ok)({});
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
async function commandEvaluate(vorpal) {
|
|
72
|
-
vorpal.command("security-audit-evaluate <path>", "Evaluates security audit document in given <path>").action(resultAsExitCode(async args => {
|
|
73
|
-
console.log("evaluating security audit document...");
|
|
74
|
-
const result = await (0, evaluateSecurityAudit_1.evaluateSecurityAudit)({
|
|
75
|
-
path: args.path
|
|
76
|
-
});
|
|
77
|
-
if (result.isErr()) {
|
|
78
|
-
console.error(result.error);
|
|
79
|
-
console.error(`please make sure the security audit document ${createSecurityAuditMergeRequest_1.SECURITY_AUDIT_FILE_NAME} is in the repository`);
|
|
80
|
-
} else {
|
|
81
|
-
console.log((0, evaluateSecurityAudit_1.makeSecurityAuditOverview)(result.value));
|
|
82
|
-
}
|
|
83
|
-
return result;
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
async function commandCreate(vorpal) {
|
|
87
|
-
vorpal.command("security-audit-create <token> <mainBranch> <projectId> <userId>", `Creates a MR in given project with the latest security audit template document
|
|
88
|
-
|
|
89
|
-
<token> gitlab token with 'api' scopes and permissions to create a new branch
|
|
90
|
-
<main-branch> main branch name
|
|
91
|
-
<project-id> project id to create security audit for
|
|
92
|
-
<user-id> gitlab user id that will be assignee of the audit
|
|
93
|
-
`).action(resultAsExitCode(async args => {
|
|
94
|
-
const {
|
|
95
|
-
token,
|
|
96
|
-
mainBranch,
|
|
97
|
-
projectId,
|
|
98
|
-
userId
|
|
99
|
-
} = args;
|
|
100
|
-
const api = new rest_1.Gitlab({
|
|
101
|
-
host: GITLAB_HOST,
|
|
102
|
-
token
|
|
103
|
-
});
|
|
104
|
-
const result = await (0, createSecurityAuditMergeRequest_1.createSecurityAuditMergeRequest)({
|
|
105
|
-
api,
|
|
106
|
-
mainBranch,
|
|
107
|
-
projectId,
|
|
108
|
-
userId: parseInt(userId)
|
|
109
|
-
});
|
|
110
|
-
if (result.isErr()) {
|
|
111
|
-
console.error(`could not create security audit merge request: ${result.error}`);
|
|
112
|
-
} else {
|
|
113
|
-
console.log("security audit merge request created successfully");
|
|
114
|
-
console.log(`please finish the MR by updating SECURITY.md document: ${result.value.web_url}`);
|
|
115
|
-
}
|
|
116
|
-
return result;
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../../../src/apps/catci/commands/security/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSecurityAuditMergeRequest.js","sourceRoot":"","sources":["../../../../../../../src/apps/catci/commands/security/createSecurityAuditMergeRequest.ts"],"names":[],"mappings":";;;AACA,iDAA4C;AAC5C,mDAA+C;AAE/C,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7E,OAAO,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,QAAQ,GAAG,qDAAqD,CAAC;AAC1D,QAAA,wBAAwB,GAAG,aAAsB,CAAC;AAExD,KAAK,UAAU,+BAA+B,CAAC,EACpD,SAAS,EACT,UAAU,EACV,MAAM,EACN,GAAG,GAMJ;IACC,MAAM,GAAG,GAAG,CACV,MAAM,sBAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC1B,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;QACpB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,gBAAgB;KACzB,CAAC,CACH,CACF,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,8CAAuD,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAE5B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,UAAU;QACZ,OAAO,IAAA,mBAAG,EACR,0DAA0D,UAAU,CAAC,OAAO,EAAE,CAC/E,CAAC;IAEJ,MAAM,aAAa,GAAG,sBAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,4BAAY,GAAE,CAAC,CAAC,MAAM,CAC5D,GAAG,EAAE,CAAC,iDAA0D,CACjE,CAAC;IACF,IAAI,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,aAAa,CAAC;IAEhD,MAAM,MAAM,GAAG,CACb,MAAM,sBAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC1B,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,SAAS,EACT,mBAAmB,CAAC,sBAAsB,CAAC,EAC3C,UAAU,CACX,CACF,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,yBAAkC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAElC,MAAM,MAAM,GAAG,CACb,MAAM,sBAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,CAChB,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,IAAI,EACjB,6DAA6D,EAC7D;QACE;YACE,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,gCAAwB;YAClC,OAAO,EAAE,aAAa,CAAC,KAAK;YAC5B,QAAQ,EAAE,MAAM;SACjB;KACF,CACF,CACF,CACF,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAkC,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAElC,MAAM,EAAE,GAAG,CACT,MAAM,sBAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC1B,GAAG,CAAC,aAAa,CAAC,MAAM,CACtB,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,IAAI,EACjB,UAAU,EACV,QAAQ,EACR;QACE,WAAW,EAAE,yDAAyD,gCAAwB,KAAK;QACnG,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,gBAAgB;QACxB,kBAAkB,EAAE,IAAI;KACzB,CACF,CACF,CACF,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAyC,CAAC,CAAC;IAE1D,OAAO,EAAE,CAAC;AACZ,CAAC;AArFD,0EAqFC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluateSecurityAudit.js","sourceRoot":"","sources":["../../../../../../../src/apps/catci/commands/security/evaluateSecurityAudit.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AACvC,+BAA4B;AAC5B,0CAAuC;AACvC,uFAA6E;AAE7E,mDAAmD;AAE5C,KAAK,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAoB;IACpE,OAAO,CACL,MAAM,sBAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,0DAAwB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,IAAA,gCAAgB,EAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CACH,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,0DAAwB,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AATD,sDASC;AAED,SAAgB,yBAAyB,CAAC,UAA8B;IACtE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1E,OAAO;oBACW,UAAU,CAAC,KAAK,CAAC,WAAW;sBAC1B,UAAU,CAAC,KAAK,CAAC,aAAa;uBAC7B,UAAU,CAAC,KAAK,CAAC,cAAc;qBACjC,UAAU,CAAC,KAAK,CAAC,aAAa;cACrC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAC/C,UAAU,CAAC,KAAK,CAAC,MACnB,MAAM,CAAC;AACR,CAAC;AAXD,8DAWC"}
|
package/dist/cli/src/catci.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/cli/src/catci.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"catci.js","sourceRoot":"","sources":["../../../src/catci.ts"],"names":[],"mappings":";;AAAA,8CAA8C;AAE9C,IAAA,gBAAQ,GAAE,CAAC"}
|
package/src/apps/catci/catci.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Vorpal from "vorpal";
|
|
2
|
-
import packageInfo from "../../packageInfos";
|
|
3
|
-
import securityCommands from "./commands/security/commands";
|
|
4
|
-
|
|
5
|
-
function reconstructArgs(args: string[]): string {
|
|
6
|
-
return [args[0], ...args.slice(1).map((arg) => `"${arg}"`)].join(" ");
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export async function runCatCi() {
|
|
10
|
-
const vorpal = new Vorpal();
|
|
11
|
-
|
|
12
|
-
process.exitCode = 0;
|
|
13
|
-
vorpal.delimiter("catci $").history("catci").version(packageInfo.version);
|
|
14
|
-
|
|
15
|
-
securityCommands(vorpal);
|
|
16
|
-
|
|
17
|
-
const isInteractive = process.argv.length <= 2;
|
|
18
|
-
if (isInteractive) {
|
|
19
|
-
vorpal.log(`Catladder CI Tools 😻🔨 version ${packageInfo.version}`).show();
|
|
20
|
-
} else {
|
|
21
|
-
process.exitCode = 1;
|
|
22
|
-
const args = reconstructArgs(process.argv.slice(2));
|
|
23
|
-
await vorpal.exec(args);
|
|
24
|
-
process.exit();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import {
|
|
3
|
-
evaluateSecurityAudit,
|
|
4
|
-
makeSecurityAuditOverview,
|
|
5
|
-
} from "./evaluateSecurityAudit";
|
|
6
|
-
import { Gitlab } from "@gitbeaker/rest";
|
|
7
|
-
import {
|
|
8
|
-
SECURITY_AUDIT_FILE_NAME,
|
|
9
|
-
createSecurityAuditMergeRequest,
|
|
10
|
-
} from "./createSecurityAuditMergeRequest";
|
|
11
|
-
import { Err, Ok, type Result } from "ts-results-es";
|
|
12
|
-
|
|
13
|
-
const GITLAB_HOST = "https://git.panter.ch";
|
|
14
|
-
|
|
15
|
-
export default function (vorpal: Vorpal) {
|
|
16
|
-
commandCiJob(vorpal);
|
|
17
|
-
commandEvaluate(vorpal);
|
|
18
|
-
commandCreate(vorpal);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
type ActionFunc = (args: Vorpal.Args) => Promise<void>;
|
|
22
|
-
|
|
23
|
-
function resultAsExitCode(
|
|
24
|
-
func: (args: Vorpal.Args) => Promise<Result<unknown, unknown>>,
|
|
25
|
-
): ActionFunc {
|
|
26
|
-
return async (args: Vorpal.Args) => {
|
|
27
|
-
const result = await func(args);
|
|
28
|
-
process.exitCode = result.isErr() ? 1 : 0;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async function commandCiJob(vorpal: Vorpal) {
|
|
33
|
-
vorpal
|
|
34
|
-
.command(
|
|
35
|
-
"security-audit-ci-job <path> <token> <mainBranch> <projectId> <userId>",
|
|
36
|
-
`Evaluates security audit document. If the document can't be evaluated or does not exist, creates a new MR with security audit document template.
|
|
37
|
-
|
|
38
|
-
<path> root path of a project with security audit document (${SECURITY_AUDIT_FILE_NAME})
|
|
39
|
-
<token> gitlab token with 'api' scopes and permissions to create a new branch
|
|
40
|
-
<main-branch> main branch name
|
|
41
|
-
<project-id> project id to create security audit for
|
|
42
|
-
<user-id> gitlab user id that will be assignee of the audit
|
|
43
|
-
`,
|
|
44
|
-
)
|
|
45
|
-
.action(
|
|
46
|
-
resultAsExitCode(async (args) => {
|
|
47
|
-
const evaluation = await evaluateSecurityAudit({ path: args.path });
|
|
48
|
-
|
|
49
|
-
if (evaluation.isErr()) {
|
|
50
|
-
console.log("could not evaluate security audit document");
|
|
51
|
-
console.log(
|
|
52
|
-
"creating new merge request with security audit template...",
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
const { token, mainBranch, projectId, userId } = args;
|
|
56
|
-
const api = new Gitlab({
|
|
57
|
-
host: GITLAB_HOST,
|
|
58
|
-
token,
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
const mr = await createSecurityAuditMergeRequest({
|
|
62
|
-
api,
|
|
63
|
-
mainBranch,
|
|
64
|
-
projectId,
|
|
65
|
-
userId: parseInt(userId),
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
if (mr.isErr()) {
|
|
69
|
-
console.error(
|
|
70
|
-
`could not create merge request with security audit template: ${mr.error}`,
|
|
71
|
-
);
|
|
72
|
-
return mr;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
console.log("security audit merge request created successfully");
|
|
76
|
-
console.log(
|
|
77
|
-
`please finish the MR by updating SECURITY.md document: ${mr.value.web_url}`,
|
|
78
|
-
);
|
|
79
|
-
return Err("merge request created" as const);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (evaluation.value.score.answeredTopics === 0) {
|
|
83
|
-
console.error("audit document has no answered topics");
|
|
84
|
-
console.error(
|
|
85
|
-
`please answer security topics in ${SECURITY_AUDIT_FILE_NAME} by adding responsible people and check/cross in the table`,
|
|
86
|
-
);
|
|
87
|
-
return Err("audit document has no answered topics" as const);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
console.log(makeSecurityAuditOverview(evaluation.value));
|
|
91
|
-
return Ok({});
|
|
92
|
-
}),
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
async function commandEvaluate(vorpal: Vorpal) {
|
|
97
|
-
vorpal
|
|
98
|
-
.command(
|
|
99
|
-
"security-audit-evaluate <path>",
|
|
100
|
-
"Evaluates security audit document in given <path>",
|
|
101
|
-
)
|
|
102
|
-
.action(
|
|
103
|
-
resultAsExitCode(async (args) => {
|
|
104
|
-
console.log("evaluating security audit document...");
|
|
105
|
-
|
|
106
|
-
const result = await evaluateSecurityAudit({ path: args.path });
|
|
107
|
-
if (result.isErr()) {
|
|
108
|
-
console.error(result.error);
|
|
109
|
-
console.error(
|
|
110
|
-
`please make sure the security audit document ${SECURITY_AUDIT_FILE_NAME} is in the repository`,
|
|
111
|
-
);
|
|
112
|
-
} else {
|
|
113
|
-
console.log(makeSecurityAuditOverview(result.value));
|
|
114
|
-
}
|
|
115
|
-
return result;
|
|
116
|
-
}),
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
async function commandCreate(vorpal: Vorpal) {
|
|
121
|
-
vorpal
|
|
122
|
-
.command(
|
|
123
|
-
"security-audit-create <token> <mainBranch> <projectId> <userId>",
|
|
124
|
-
`Creates a MR in given project with the latest security audit template document
|
|
125
|
-
|
|
126
|
-
<token> gitlab token with 'api' scopes and permissions to create a new branch
|
|
127
|
-
<main-branch> main branch name
|
|
128
|
-
<project-id> project id to create security audit for
|
|
129
|
-
<user-id> gitlab user id that will be assignee of the audit
|
|
130
|
-
`,
|
|
131
|
-
)
|
|
132
|
-
.action(
|
|
133
|
-
resultAsExitCode(async (args) => {
|
|
134
|
-
const { token, mainBranch, projectId, userId } = args;
|
|
135
|
-
|
|
136
|
-
const api = new Gitlab({
|
|
137
|
-
host: GITLAB_HOST,
|
|
138
|
-
token,
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
const result = await createSecurityAuditMergeRequest({
|
|
142
|
-
api,
|
|
143
|
-
mainBranch,
|
|
144
|
-
projectId,
|
|
145
|
-
userId: parseInt(userId),
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
if (result.isErr()) {
|
|
149
|
-
console.error(
|
|
150
|
-
`could not create security audit merge request: ${result.error}`,
|
|
151
|
-
);
|
|
152
|
-
} else {
|
|
153
|
-
console.log("security audit merge request created successfully");
|
|
154
|
-
console.log(
|
|
155
|
-
`please finish the MR by updating SECURITY.md document: ${result.value.web_url}`,
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
return result;
|
|
159
|
-
}),
|
|
160
|
-
);
|
|
161
|
-
}
|
package/src/catci.ts
DELETED
|
File without changes
|
|
File without changes
|
/package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.d.ts
RENAMED
|
File without changes
|
/package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|