@catladder/cli 1.16.3 → 1.17.2
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 -1
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +24 -19
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/apps/cli/commands/project/setup/setupAccessTokens.js +23 -14
- package/dist/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/config/getProjectConfig.d.ts +1 -0
- package/dist/config/getProjectConfig.js +21 -10
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/gitlab.d.ts +1 -0
- package/dist/utils/gitlab.js +17 -1
- package/dist/utils/gitlab.js.map +1 -1
- package/package.json +2 -2
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +19 -6
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +7 -5
- package/src/config/getProjectConfig.ts +23 -12
- package/src/utils/gitlab.ts +11 -0
- package/dist/utils/formatEnvVars.d.ts +0 -2
- package/dist/utils/formatEnvVars.js +0 -10
- package/dist/utils/formatEnvVars.js.map +0 -1
- package/src/utils/formatEnvVars.ts +0 -7
package/dist/utils/gitlab.d.ts
CHANGED
|
@@ -17,5 +17,6 @@ declare type GitlabVariable = {
|
|
|
17
17
|
environment_scope: string;
|
|
18
18
|
};
|
|
19
19
|
export declare const getAllVariables: ((vorpal: CommandInstance) => Promise<Array<GitlabVariable>>) & memoizee.Memoized<(vorpal: CommandInstance) => Promise<Array<GitlabVariable>>>;
|
|
20
|
+
export declare const getVariableValueByRawName: (vorpal: CommandInstance, rawName: string) => Promise<string>;
|
|
20
21
|
export declare const upsertAllVariables: (vorpal: CommandInstance, variables: Record<string, any>, env: string, componentName: string) => Promise<void>;
|
|
21
22
|
export {};
|
package/dist/utils/gitlab.js
CHANGED
|
@@ -48,7 +48,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
48
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
49
|
};
|
|
50
50
|
exports.__esModule = true;
|
|
51
|
-
exports.upsertAllVariables = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
51
|
+
exports.upsertAllVariables = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
52
52
|
var child_process_promise_1 = require("child-process-promise");
|
|
53
53
|
var pipeline_1 = require("@catladder/pipeline");
|
|
54
54
|
var lodash_1 = require("lodash");
|
|
@@ -145,6 +145,9 @@ var doGitlabRequest = function (vorpal, path, data, update) {
|
|
|
145
145
|
if (result.status >= 200 && result.status < 400) {
|
|
146
146
|
return [2 /*return*/, result.json()];
|
|
147
147
|
}
|
|
148
|
+
if (result.status === 404) {
|
|
149
|
+
throw new Error("not found");
|
|
150
|
+
}
|
|
148
151
|
_a = Error.bind;
|
|
149
152
|
_c = (_b = "Could not send request to gitlab api ".concat(path, ": ").concat(result.status, " \"").concat(result.statusText, "\".\nResponse: ")).concat;
|
|
150
153
|
_e = (_d = JSON).stringify;
|
|
@@ -196,6 +199,19 @@ exports.getAllVariables = (0, memoizee_1["default"])(function (vorpal) { return
|
|
|
196
199
|
}
|
|
197
200
|
});
|
|
198
201
|
}); }, { promise: true });
|
|
202
|
+
var getVariableValueByRawName = function (vorpal, rawName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
203
|
+
var allVariables;
|
|
204
|
+
var _a;
|
|
205
|
+
return __generator(this, function (_b) {
|
|
206
|
+
switch (_b.label) {
|
|
207
|
+
case 0: return [4 /*yield*/, (0, exports.getAllVariables)(vorpal)];
|
|
208
|
+
case 1:
|
|
209
|
+
allVariables = _b.sent();
|
|
210
|
+
return [2 /*return*/, (_a = allVariables.find(function (v) { return v.key === rawName; })) === null || _a === void 0 ? void 0 : _a.value];
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
}); };
|
|
214
|
+
exports.getVariableValueByRawName = getVariableValueByRawName;
|
|
199
215
|
var maskableRegex = new RegExp("^[a-zA-Z0-9_+=/@:.~-]{8,}$"); // SEE https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/spec/frontend/ci_variable_list/components/ci_variable_modal_spec.js#L20
|
|
200
216
|
var isMaskable = function (value) { return maskableRegex.test(value); };
|
|
201
217
|
var createVariable = function (vorpal, projectId, key, value) { return __awaiter(void 0, void 0, void 0, function () {
|
package/dist/utils/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"catladder": "./bin/catladder"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@catladder/pipeline": "1.
|
|
19
|
+
"@catladder/pipeline": "1.17.2",
|
|
20
20
|
"@kubernetes/client-node": "^0.16.2",
|
|
21
21
|
"child-process-promise": "^2.2.1",
|
|
22
22
|
"command-exists-promise": "^2.0.2",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"eslint": "^8.7.0",
|
|
56
56
|
"typescript": "^4.5.4"
|
|
57
57
|
},
|
|
58
|
-
"version": "1.
|
|
58
|
+
"version": "1.17.2"
|
|
59
59
|
}
|
|
@@ -3,14 +3,13 @@ import { spawn } from "child-process-promise";
|
|
|
3
3
|
import { writeFile } from "fs-extra";
|
|
4
4
|
import { withFile } from "tmp-promise";
|
|
5
5
|
import Vorpal from "vorpal";
|
|
6
|
-
import { GOOGLE_CLOUD_SQL_PASS_PATH } from "../../../../config/constants";
|
|
7
6
|
import {
|
|
8
7
|
getEnvVars,
|
|
8
|
+
getGitlabVar,
|
|
9
9
|
getPipelineContextByChoice,
|
|
10
10
|
getProjectConfig,
|
|
11
11
|
parseChoice,
|
|
12
12
|
} from "../../../../config/getProjectConfig";
|
|
13
|
-
import { readPass } from "../../../../utils/passwordstore";
|
|
14
13
|
import { envAndComponents } from "./utils/autocompletions";
|
|
15
14
|
|
|
16
15
|
export default async (vorpal: Vorpal) =>
|
|
@@ -30,8 +29,8 @@ export default async (vorpal: Vorpal) =>
|
|
|
30
29
|
message: "Local port: ",
|
|
31
30
|
});
|
|
32
31
|
|
|
33
|
-
const
|
|
34
|
-
|
|
32
|
+
const envVars = await getEnvVars(this, env, componentName);
|
|
33
|
+
const POSTGRESQL_PASSWORD = envVars?.POSTGRESQL_PASSWORD;
|
|
35
34
|
|
|
36
35
|
const context = await getPipelineContextByChoice(env, componentName);
|
|
37
36
|
if (!isOfDeployType(context.componentConfig.deploy, "kubernetes")) {
|
|
@@ -59,9 +58,23 @@ export default async (vorpal: Vorpal) =>
|
|
|
59
58
|
|
|
60
59
|
const instanceName = `${projectId}:${region}:${instanceId}=tcp:${localPort}`;
|
|
61
60
|
|
|
62
|
-
const
|
|
61
|
+
const cloudsqlProxyCredentials = await getGitlabVar(
|
|
62
|
+
this,
|
|
63
|
+
env,
|
|
64
|
+
componentName,
|
|
65
|
+
"cloudsqlProxyCredentials"
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
if (!cloudsqlProxyCredentials) {
|
|
69
|
+
// we store cloudsqlProxyCredentials on gitlab, but its currently get pushed via bitwarden due to legacy reasons
|
|
70
|
+
// this will be fixed with when https://git.panter.ch/catladder/catladder/-/merge_requests/32/ is merged
|
|
71
|
+
this.log(
|
|
72
|
+
"cloudsqlProxyCredentials env var missing in gitlab. Please contact gilde-ci-cd about that."
|
|
73
|
+
);
|
|
74
|
+
throw new Error("cloudsqlProxyCredentials missing in secrets");
|
|
75
|
+
}
|
|
63
76
|
await withFile(async ({ path: tmpFilePath }) => {
|
|
64
|
-
await writeFile(tmpFilePath,
|
|
77
|
+
await writeFile(tmpFilePath, cloudsqlProxyCredentials);
|
|
65
78
|
|
|
66
79
|
await spawn(
|
|
67
80
|
"cloud_sql_proxy",
|
|
@@ -6,12 +6,14 @@ export const setupAccessTokens = async (instance: CommandInstance) => {
|
|
|
6
6
|
const { id: projectId, web_url: projectWebUrl } = await getProjectInfo(
|
|
7
7
|
instance
|
|
8
8
|
);
|
|
9
|
-
|
|
10
|
-
instance,
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
try {
|
|
10
|
+
await doGitlabRequest(instance, `projects/${projectId}/variables/GL_TOKEN`);
|
|
11
|
+
} catch (e) {
|
|
12
|
+
if (e.message !== "not found") {
|
|
13
|
+
throw e;
|
|
14
|
+
}
|
|
15
|
+
// not found
|
|
13
16
|
|
|
14
|
-
if (!variables.find((v: any) => v.key === "GL_TOKEN")) {
|
|
15
17
|
instance.log(
|
|
16
18
|
"I need add a GL_TOKEN to the project, so that semantic release will work\n"
|
|
17
19
|
);
|
|
@@ -3,10 +3,11 @@ import {
|
|
|
3
3
|
getAllEnvs,
|
|
4
4
|
getEnvironment as _getEnvironment,
|
|
5
5
|
createContext,
|
|
6
|
+
getSecretVarName,
|
|
6
7
|
} from "@catladder/pipeline";
|
|
7
8
|
|
|
8
|
-
import { CommandInstance } from "vorpal";
|
|
9
|
-
import { getAllVariables } from "../utils/gitlab";
|
|
9
|
+
import { Command, CommandInstance } from "vorpal";
|
|
10
|
+
import { getAllVariables, getVariableValueByRawName } from "../utils/gitlab";
|
|
10
11
|
import memoizee from "memoizee";
|
|
11
12
|
import { getGitRoot } from "../utils/projects";
|
|
12
13
|
import { readYaml } from "../utils/files";
|
|
@@ -101,6 +102,16 @@ export const getEnvironment = async (env: string, componentName: string) => {
|
|
|
101
102
|
return _getEnvironment(config, componentName, env);
|
|
102
103
|
};
|
|
103
104
|
|
|
105
|
+
export const getGitlabVar = async (
|
|
106
|
+
vorpal: CommandInstance,
|
|
107
|
+
env: string,
|
|
108
|
+
componentName: string,
|
|
109
|
+
variableName: string
|
|
110
|
+
) => {
|
|
111
|
+
const rawVariableName = getSecretVarName(env, componentName, variableName);
|
|
112
|
+
return await getVariableValueByRawName(vorpal, rawVariableName);
|
|
113
|
+
};
|
|
114
|
+
|
|
104
115
|
const resolveSecrets = async (
|
|
105
116
|
vorpal: CommandInstance,
|
|
106
117
|
allEnvVars: Record<string, string>
|
|
@@ -109,16 +120,15 @@ const resolveSecrets = async (
|
|
|
109
120
|
|
|
110
121
|
return Object.fromEntries(
|
|
111
122
|
Object.entries(allEnvVars).map(([key, value]) => {
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
} else {
|
|
120
|
-
return [key, ""];
|
|
123
|
+
const containsSecret = String(value)?.includes?.("$CL_");
|
|
124
|
+
if (containsSecret) {
|
|
125
|
+
for (const variable of allVariablesInGitlab) {
|
|
126
|
+
value = value.replace(
|
|
127
|
+
new RegExp("\\$" + variable.key, "g"),
|
|
128
|
+
variable.value
|
|
129
|
+
);
|
|
121
130
|
}
|
|
131
|
+
return [key, value];
|
|
122
132
|
}
|
|
123
133
|
return [key, value];
|
|
124
134
|
})
|
|
@@ -131,6 +141,7 @@ export const getEnvVars = async (
|
|
|
131
141
|
componentName: string
|
|
132
142
|
) => {
|
|
133
143
|
const envionment = await getEnvironment(env, componentName);
|
|
134
|
-
|
|
144
|
+
// in the pipeline the secrets alreadyy exists and bash will expand them
|
|
145
|
+
// but here we need to manually load them
|
|
135
146
|
return resolveSecrets(vorpal, envionment.envVars);
|
|
136
147
|
};
|
package/src/utils/gitlab.ts
CHANGED
|
@@ -73,6 +73,9 @@ export const doGitlabRequest = async <T = any>(
|
|
|
73
73
|
if (result.status >= 200 && result.status < 400) {
|
|
74
74
|
return result.json();
|
|
75
75
|
}
|
|
76
|
+
if (result.status === 404) {
|
|
77
|
+
throw new Error("not found");
|
|
78
|
+
}
|
|
76
79
|
|
|
77
80
|
throw new Error(
|
|
78
81
|
`Could not send request to gitlab api ${path}: ${result.status} "${
|
|
@@ -125,6 +128,14 @@ export const getAllVariables = memoizee(
|
|
|
125
128
|
{ promise: true }
|
|
126
129
|
);
|
|
127
130
|
|
|
131
|
+
export const getVariableValueByRawName = async (
|
|
132
|
+
vorpal: CommandInstance,
|
|
133
|
+
rawName: string
|
|
134
|
+
) => {
|
|
135
|
+
const allVariables = await getAllVariables(vorpal);
|
|
136
|
+
return allVariables.find((v) => v.key === rawName)?.value;
|
|
137
|
+
};
|
|
138
|
+
|
|
128
139
|
const maskableRegex = new RegExp("^[a-zA-Z0-9_+=/@:.~-]{8,}$"); // SEE https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/spec/frontend/ci_variable_list/components/ci_variable_modal_spec.js#L20
|
|
129
140
|
const isMaskable = (value: string): boolean => maskableRegex.test(value);
|
|
130
141
|
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
var lodash_1 = require("lodash");
|
|
4
|
-
exports["default"] = (function (envVars) {
|
|
5
|
-
if (envVars === void 0) { envVars = {}; }
|
|
6
|
-
return (0, lodash_1.mapValues)(envVars, function (value) {
|
|
7
|
-
return (0, lodash_1.isObject)(value) ? JSON.stringify(value) : "".concat(value);
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=formatEnvVars.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatEnvVars.js","sourceRoot":"","sources":["../../src/utils/formatEnvVars.ts"],"names":[],"mappings":";;AAAA,iCAA6C;AAE7C,sBAAe,UAAC,OAAY;IAAZ,wBAAA,EAAA,YAAY;IAC1B,OAAO,IAAA,kBAAS,EAAC,OAAO,EAAE,UAAA,KAAK;QAC7B,OAAA,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAG,KAAK,CAAE;IAApD,CAAoD,CACrD,CAAC;AACJ,CAAC,EAAC"}
|