@catladder/cli 1.16.3 → 1.17.0
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/setup/setupAccessTokens.js +23 -14
- package/dist/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/config/getProjectConfig.js +8 -9
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/gitlab.js +3 -0
- package/dist/utils/gitlab.js.map +1 -1
- package/package.json +2 -2
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +7 -5
- package/src/config/getProjectConfig.ts +10 -10
- package/src/utils/gitlab.ts +3 -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/README.md
CHANGED
|
@@ -13,11 +13,12 @@ or npm users
|
|
|
13
13
|
_Note: if you have `@panter/catladder` installed upgrade it to >=4.0.0 before installing `@catladder/cli`_
|
|
14
14
|
|
|
15
15
|
## Getting started
|
|
16
|
+
|
|
16
17
|
You'll need
|
|
18
|
+
|
|
17
19
|
- Google Cloud SDK ([see installation instructions](https://cloud.google.com/sdk/docs/install))
|
|
18
20
|
- Kubectl ([see installation instructions](https://kubernetes.io/docs/tasks/tools/))
|
|
19
21
|
- Cloud SQL Auth proxy ([see installation instructions](https://cloud.google.com/sql/docs/postgres/sql-proxy#install))
|
|
20
|
-
- Bitwarden CLI ([see installation instructions](https://bitwarden.com/help/article/cli/))
|
|
21
22
|
|
|
22
23
|
Afterwards you need to connect to your cluster, e.g. `gcloud container clusters get-credentials clustername --zone google-zone --project google-project-id`
|
|
23
24
|
In most cases you'll find the details on the Google Cloud [cluster overview ](https://console.cloud.google.com/kubernetes/list?project=skynet-164509)
|
|
@@ -43,16 +43,25 @@ exports.setupAccessTokens = void 0;
|
|
|
43
43
|
var open_1 = __importDefault(require("open"));
|
|
44
44
|
var gitlab_1 = require("../../../../../utils/gitlab");
|
|
45
45
|
var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var _a, projectId, projectWebUrl,
|
|
46
|
+
var _a, projectId, projectWebUrl, e_1, understood, GL_TOKEN, deploy_tokens;
|
|
47
47
|
return __generator(this, function (_b) {
|
|
48
48
|
switch (_b.label) {
|
|
49
49
|
case 0: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(instance)];
|
|
50
50
|
case 1:
|
|
51
51
|
_a = _b.sent(), projectId = _a.id, projectWebUrl = _a.web_url;
|
|
52
|
-
|
|
52
|
+
_b.label = 2;
|
|
53
53
|
case 2:
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
_b.trys.push([2, 4, , 8]);
|
|
55
|
+
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/variables/GL_TOKEN"))];
|
|
56
|
+
case 3:
|
|
57
|
+
_b.sent();
|
|
58
|
+
return [3 /*break*/, 8];
|
|
59
|
+
case 4:
|
|
60
|
+
e_1 = _b.sent();
|
|
61
|
+
if (e_1.message !== "not found") {
|
|
62
|
+
throw e_1;
|
|
63
|
+
}
|
|
64
|
+
// not found
|
|
56
65
|
instance.log("I need add a GL_TOKEN to the project, so that semantic release will work\n");
|
|
57
66
|
instance.log("👉 Please please create a project access token in gitlab and copy its value into clipboard\n\n - name: something like 'semantic-release'\n - expires: leave empty\n - scopes: api, read_repository");
|
|
58
67
|
instance.log("\n");
|
|
@@ -62,7 +71,7 @@ var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, v
|
|
|
62
71
|
name: "understood",
|
|
63
72
|
type: "confirm"
|
|
64
73
|
})];
|
|
65
|
-
case
|
|
74
|
+
case 5:
|
|
66
75
|
understood = (_b.sent()).understood;
|
|
67
76
|
if (!understood) {
|
|
68
77
|
instance.log("continuing anyway...");
|
|
@@ -76,29 +85,29 @@ var setupAccessTokens = function (instance) { return __awaiter(void 0, void 0, v
|
|
|
76
85
|
name: "GL_TOKEN",
|
|
77
86
|
message: "Access Token: "
|
|
78
87
|
})];
|
|
79
|
-
case
|
|
88
|
+
case 6:
|
|
80
89
|
GL_TOKEN = (_b.sent()).GL_TOKEN;
|
|
81
90
|
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/variables"), {
|
|
82
91
|
key: "GL_TOKEN",
|
|
83
92
|
value: GL_TOKEN
|
|
84
93
|
})];
|
|
85
|
-
case 5:
|
|
86
|
-
_b.sent();
|
|
87
|
-
_b.label = 6;
|
|
88
|
-
case 6: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
|
|
89
94
|
case 7:
|
|
95
|
+
_b.sent();
|
|
96
|
+
return [3 /*break*/, 8];
|
|
97
|
+
case 8: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"))];
|
|
98
|
+
case 9:
|
|
90
99
|
deploy_tokens = _b.sent();
|
|
91
|
-
if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/,
|
|
100
|
+
if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 11];
|
|
92
101
|
instance.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
|
|
93
102
|
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(instance, "projects/".concat(projectId, "/deploy_tokens"), {
|
|
94
103
|
id: projectId,
|
|
95
104
|
name: "gitlab-deploy-token",
|
|
96
105
|
scopes: ["read_registry"]
|
|
97
106
|
})];
|
|
98
|
-
case
|
|
107
|
+
case 10:
|
|
99
108
|
_b.sent();
|
|
100
|
-
_b.label =
|
|
101
|
-
case
|
|
109
|
+
_b.label = 11;
|
|
110
|
+
case 11: return [2 /*return*/];
|
|
102
111
|
}
|
|
103
112
|
});
|
|
104
113
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupAccessTokens.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupAccessTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AAExB,sDAA8E;AAEvE,IAAM,iBAAiB,GAAG,UAAO,QAAyB;;;;oBACb,qBAAM,IAAA,uBAAc,EACpE,QAAQ,CACT,EAAA;;gBAFK,KAA4C,SAEjD,EAFW,SAAS,QAAA,EAAW,aAAa,aAAA
|
|
1
|
+
{"version":3,"file":"setupAccessTokens.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/setup/setupAccessTokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AAExB,sDAA8E;AAEvE,IAAM,iBAAiB,GAAG,UAAO,QAAyB;;;;oBACb,qBAAM,IAAA,uBAAc,EACpE,QAAQ,CACT,EAAA;;gBAFK,KAA4C,SAEjD,EAFW,SAAS,QAAA,EAAW,aAAa,aAAA;;;;gBAI3C,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,wBAAqB,CAAC,EAAA;;gBAA3E,SAA2E,CAAC;;;;gBAE5E,IAAI,GAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC7B,MAAM,GAAC,CAAC;iBACT;gBACD,YAAY;gBAEZ,QAAQ,CAAC,GAAG,CACV,4EAA4E,CAC7E,CAAC;gBACF,QAAQ,CAAC,GAAG,CACV,oMAAoM,CACrM,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEI,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBAC3C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,oCAAoC;wBAC7C,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB,CAAC,EAAA;;gBALM,UAAU,GAAK,CAAA,SAKrB,CAAA,WALgB;gBAMlB,IAAI,CAAC,UAAU,EAAE;oBACf,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;iBACtC;gBACD,IAAA,iBAAI,EAAC,UAAG,aAAa,8BAA2B,CAAC,CAAC;gBAElD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEnB,QAAQ,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAE9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACE,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBACzC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,gBAAgB;qBAC1B,CAAC,EAAA;;gBAJM,QAAQ,GAAK,CAAA,SAInB,CAAA,SAJc;gBAKhB,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,eAAY,EAAE;wBACjE,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,QAAQ;qBAChB,CAAC,EAAA;;gBAHF,SAGE,CAAC;;oBAGiB,qBAAM,IAAA,wBAAe,EACzC,QAAQ,EACR,mBAAY,SAAS,mBAAgB,CACtC,EAAA;;gBAHK,aAAa,GAAG,SAGrB;qBAGC,CAAC,aAAa,CAAC,IAAI,CACjB,UAAC,CAAmB,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAhC,CAAgC,CAC1D,EAFD,yBAEC;gBAED,QAAQ,CAAC,GAAG,CACV,0FAA0F,CAC3F,CAAC;gBAEF,qBAAM,IAAA,wBAAe,EAAC,QAAQ,EAAE,mBAAY,SAAS,mBAAgB,EAAE;wBACrE,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE,CAAC,eAAe,CAAC;qBAC1B,CAAC,EAAA;;gBAJF,SAIE,CAAC;;;;;KAEN,CAAC;AAnEW,QAAA,iBAAiB,qBAmE5B"}
|
|
@@ -201,16 +201,13 @@ var resolveSecrets = function (vorpal, allEnvVars) { return __awaiter(void 0, vo
|
|
|
201
201
|
return [2 /*return*/, Object.fromEntries(Object.entries(allEnvVars).map(function (_a) {
|
|
202
202
|
var _b, _c;
|
|
203
203
|
var key = _a[0], value = _a[1];
|
|
204
|
-
var
|
|
205
|
-
if (
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return [key, found.value];
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
return [key, ""];
|
|
204
|
+
var containsSecret = (_c = (_b = String(value)) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, "$CL_");
|
|
205
|
+
if (containsSecret) {
|
|
206
|
+
for (var _i = 0, allVariablesInGitlab_1 = allVariablesInGitlab; _i < allVariablesInGitlab_1.length; _i++) {
|
|
207
|
+
var variable = allVariablesInGitlab_1[_i];
|
|
208
|
+
value = value.replace(new RegExp("\\$" + variable.key, "g"), variable.value);
|
|
213
209
|
}
|
|
210
|
+
return [key, value];
|
|
214
211
|
}
|
|
215
212
|
return [key, value];
|
|
216
213
|
}))];
|
|
@@ -224,6 +221,8 @@ var getEnvVars = function (vorpal, env, componentName) { return __awaiter(void 0
|
|
|
224
221
|
case 0: return [4 /*yield*/, (0, exports.getEnvironment)(env, componentName)];
|
|
225
222
|
case 1:
|
|
226
223
|
envionment = _a.sent();
|
|
224
|
+
// in the pipeline the secrets alreadyy exists and bash will expand them
|
|
225
|
+
// but here we need to manually load them
|
|
227
226
|
return [2 /*return*/, resolveSecrets(vorpal, envionment.envVars)];
|
|
228
227
|
}
|
|
229
228
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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"}
|