@catladder/cli 1.5.8 → 1.9.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/dist/apps/cli/commands/project/commandCloudSqlProxy.js +3 -0
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/apps/cli/commands/project/commandConfigSecrets.js +145 -105
- package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/apps/cli/commands/project/commandInitGitlab.js +88 -22
- package/dist/apps/cli/commands/project/commandInitGitlab.js.map +1 -1
- package/dist/apps/cli/commands/project/utils/autocompletions.js +1 -1
- package/dist/apps/cli/commands/project/utils/autocompletions.js.map +1 -1
- package/dist/config/getProjectConfig.d.ts +5 -2
- package/dist/config/getProjectConfig.js +24 -6
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +5 -0
- package/src/apps/cli/commands/project/commandConfigSecrets.ts +123 -126
- package/src/apps/cli/commands/project/commandInitGitlab.ts +8 -65
- package/src/apps/cli/commands/project/utils/autocompletions.ts +2 -2
- package/src/config/getProjectConfig.ts +22 -6
|
@@ -84,8 +84,11 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
84
84
|
if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
85
85
|
throw new Error("currently only supported for kubernetes deployment");
|
|
86
86
|
}
|
|
87
|
+
this.log("");
|
|
87
88
|
this.log("postgres-PW: ".concat(POSTGRESQL_PASSWORD));
|
|
88
89
|
this.log("");
|
|
90
|
+
this.log("POSTGRESQL_URL=postgresql://postgres:".concat(POSTGRESQL_PASSWORD, "@localhost:").concat(localPort, "/").concat(context.environment.envVars.KUBE_APP_NAME, "?schema=public"));
|
|
91
|
+
this.log("");
|
|
89
92
|
values = context.componentConfig.deploy.values;
|
|
90
93
|
projectId = ((_c = values === null || values === void 0 ? void 0 : values.cloudsql) === null || _c === void 0 ? void 0 : _c.projectId) ||
|
|
91
94
|
((_d = context.componentConfig.deploy.cluster) === null || _d === void 0 ? void 0 : _d.projectId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAqD;AACrD,+DAA8C;AAC9C,qCAAqC;AACrC,2CAAuC;AAEvC,0DAA0E;AAC1E,wEAK6C;AAC7C,iEAA2D;AAC3D,2DAA2D;AAE3D,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CAAC,wCAAwC,EAAE,uBAAuB,CAAC,CAAA;qBAC1E,YAAY,CAAA;gBAAC,qBAAM,IAAA,kCAAgB,GAAE,EAAA;oBAFxC,sBAAA,cAEgB,SAAwB,EAAC;qBACtC,MAAM,CAAC,UAAgB,EAAgB;;wBAAd,YAAY,kBAAA;;;;;;;oCAC9B,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;oCAE1C,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;oCAAjC,MAAM,GAAG,SAAwB;oCAGjB,qBAAM,IAAI,CAAC,MAAM,CAAC;4CACtC,IAAI,EAAE,QAAQ;4CACd,IAAI,EAAE,WAAW;4CACjB,SAAO,EAAE,OAAO;4CAChB,OAAO,EAAE,cAAc;yCACxB,CAAC,EAAA;;oCALM,SAAS,GAAK,CAAA,SAKpB,CAAA,UALe;oCAOY,qBAAM,IAAA,6BAAU,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;oCAAjE,mBAAmB,GAAG,MAAA,CAAC,SAA0C,CAAC,0CACpE,mBAAmB;oCAEP,qBAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,aAAa,CAAC,EAAA;;oCAA9D,OAAO,GAAG,SAAoD;oCACpE,IAAI,CAAC,IAAA,yBAAc,EAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;wCACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;qCACvE;oCACD,IAAI,CAAC,GAAG,CAAC,uBAAgB,mBAAmB,CAAE,CAAC,CAAC;oCAChD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCAEP,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;oCAE/C,SAAS,GACb,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,SAAS;yCAC3B,MAAA,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAC;oCAE9C,iBAAiB,GAAG,UAAG,MAAM,CAAC,YAAY,cAAI,MAAM,CAAC,OAAO,cAAI,GAAG,CAAE,CAAC;oCACtE,UAAU,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,UAAU,KAAI,iBAAiB,CAAC;oCAE/D,aAAa,GAAG,cAAc,CAAC;oCAC/B,MAAM,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,MAAM,KAAI,aAAa,CAAC;oCAEnD,YAAY,GAAG,UAAG,SAAS,cAAI,MAAM,cAAI,UAAU,kBAAQ,SAAS,CAAE,CAAC;oCAEjD,qBAAM,IAAA,wBAAQ,EAAC,sCAA0B,CAAC,EAAA;;oCAAhE,mBAAmB,GAAG,SAA0C;oCACtE,qBAAM,IAAA,sBAAQ,EAAC,UAAO,EAAqB;gDAAb,WAAW,UAAA;;;;gEACvC,qBAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,mBAAmB,CAAC,EAAA;;4DAAjD,SAAiD,CAAC;4DAElD,qBAAM,IAAA,6BAAK,EACT,iBAAiB,EACjB,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAC7D;oEACE,KAAK,EAAE,SAAS;oEAChB,KAAK,EAAE,IAAI;iEACZ,CACF,EAAA;;4DAPD,SAOC,CAAC;;;;;yCACH,CAAC,EAAA;;oCAXF,SAWE,CAAC;;;;;iBACJ,CAAC,EAAA;;;KAAA,EAAC"}
|
|
1
|
+
{"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,17 +53,23 @@ var autocompletions_1 = require("./utils/autocompletions");
|
|
|
53
53
|
/* for convenience, parse json objects. that makes it easier to edit secrets that are object */
|
|
54
54
|
var resolveJson = function (v) {
|
|
55
55
|
return Object.fromEntries(Object.entries(v).map(function (_a) {
|
|
56
|
-
var
|
|
56
|
+
var componentName = _a[0], envs = _a[1];
|
|
57
57
|
return [
|
|
58
|
-
|
|
59
|
-
Object.fromEntries(Object.entries(
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
58
|
+
componentName,
|
|
59
|
+
Object.fromEntries(Object.entries(envs).map(function (_a) {
|
|
60
|
+
var env = _a[0], secrets = _a[1];
|
|
61
|
+
return [
|
|
62
|
+
env,
|
|
63
|
+
Object.fromEntries(Object.entries(secrets).map(function (_a) {
|
|
64
|
+
var key = _a[0], value = _a[1];
|
|
65
|
+
try {
|
|
66
|
+
return [key, JSON.parse(value)];
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
return [key, value];
|
|
70
|
+
}
|
|
71
|
+
})),
|
|
72
|
+
];
|
|
67
73
|
})),
|
|
68
74
|
];
|
|
69
75
|
}));
|
|
@@ -82,52 +88,78 @@ var getEnvVarsToEdit = function (instance, env, componentName) { return __awaite
|
|
|
82
88
|
}
|
|
83
89
|
});
|
|
84
90
|
}); };
|
|
85
|
-
var doItFor = function (instance,
|
|
86
|
-
var valuesToEdit, _a, _b, hasErrors, _i,
|
|
87
|
-
var
|
|
88
|
-
var
|
|
89
|
-
return __generator(this, function (
|
|
90
|
-
switch (
|
|
91
|
+
var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, void 0, void 0, function () {
|
|
92
|
+
var valuesToEdit, _a, _b, hasErrors, _i, _c, _d, componentName, envs, _e, envs_1, env, usedKeys, secretEnvVarKeys, extranous, missing, shouldContinue, _f, _g, _h, componentName, envs, _j, envs_2, env, context, _k, _l;
|
|
93
|
+
var _m;
|
|
94
|
+
var _o, _p;
|
|
95
|
+
return __generator(this, function (_q) {
|
|
96
|
+
switch (_q.label) {
|
|
91
97
|
case 0:
|
|
92
98
|
_b = (_a = Object).fromEntries;
|
|
93
|
-
return [4 /*yield*/, Promise.all(
|
|
94
|
-
var _a;
|
|
95
|
-
return
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
99
|
+
return [4 /*yield*/, Promise.all(Object.entries(envAndComponents).map(function (_a) {
|
|
100
|
+
var componentName = _a[0], envs = _a[1];
|
|
101
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
102
|
+
var _b, _c, _d;
|
|
103
|
+
return __generator(this, function (_e) {
|
|
104
|
+
switch (_e.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
_b = [componentName];
|
|
107
|
+
_d = (_c = Object).fromEntries;
|
|
108
|
+
return [4 /*yield*/, Promise.all(envs.map(function (env) { return __awaiter(void 0, void 0, void 0, function () {
|
|
109
|
+
var _a;
|
|
110
|
+
return __generator(this, function (_b) {
|
|
111
|
+
switch (_b.label) {
|
|
112
|
+
case 0:
|
|
113
|
+
_a = [env];
|
|
114
|
+
return [4 /*yield*/, getEnvVarsToEdit(instance, env, componentName)];
|
|
115
|
+
case 1: return [2 /*return*/, _a.concat([
|
|
116
|
+
_b.sent()
|
|
117
|
+
])];
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}); }))];
|
|
121
|
+
case 1: return [2 /*return*/, _b.concat([
|
|
122
|
+
_d.apply(_c, [_e.sent()])
|
|
123
|
+
])];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
104
126
|
});
|
|
105
|
-
})
|
|
127
|
+
}))];
|
|
106
128
|
case 1:
|
|
107
|
-
valuesToEdit = _b.apply(_a, [
|
|
129
|
+
valuesToEdit = _b.apply(_a, [_q.sent()]);
|
|
108
130
|
hasErrors = true;
|
|
109
|
-
|
|
131
|
+
_q.label = 2;
|
|
110
132
|
case 2:
|
|
111
|
-
if (!hasErrors) return [3 /*break*/,
|
|
112
|
-
return [4 /*yield*/, (0, editAsFile_1.editAsFile)(resolveJson(valuesToEdit), (0, common_tags_1.stripIndents)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Please fill in all secrets for: ", "\n\n "], ["\n Please fill in all secrets for: ", "\n\n "])),
|
|
133
|
+
if (!hasErrors) return [3 /*break*/, 12];
|
|
134
|
+
return [4 /*yield*/, (0, editAsFile_1.editAsFile)(resolveJson(valuesToEdit), (0, common_tags_1.stripIndents)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Please fill in all secrets for: \n\n ", "\n\n "], ["\n Please fill in all secrets for: \n\n ", "\n\n "])), Object.entries(envAndComponents)
|
|
135
|
+
.map(function (_a) {
|
|
136
|
+
var componentName = _a[0], envs = _a[1];
|
|
137
|
+
return "- ".concat(componentName, ": ").concat(envs.join(", "));
|
|
138
|
+
})
|
|
139
|
+
.join("\n")))];
|
|
113
140
|
case 3:
|
|
114
|
-
valuesToEdit =
|
|
141
|
+
valuesToEdit = _q.sent();
|
|
115
142
|
// check for errors
|
|
116
143
|
hasErrors = false;
|
|
117
|
-
_i = 0,
|
|
118
|
-
|
|
144
|
+
_i = 0, _c = Object.entries(envAndComponents);
|
|
145
|
+
_q.label = 4;
|
|
119
146
|
case 4:
|
|
120
|
-
if (!(_i <
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
147
|
+
if (!(_i < _c.length)) return [3 /*break*/, 11];
|
|
148
|
+
_d = _c[_i], componentName = _d[0], envs = _d[1];
|
|
149
|
+
_e = 0, envs_1 = envs;
|
|
150
|
+
_q.label = 5;
|
|
151
|
+
case 5:
|
|
152
|
+
if (!(_e < envs_1.length)) return [3 /*break*/, 10];
|
|
153
|
+
env = envs_1[_e];
|
|
154
|
+
usedKeys = valuesToEdit[componentName][env]
|
|
155
|
+
? Object.keys(valuesToEdit[componentName][env])
|
|
124
156
|
: [];
|
|
125
157
|
return [4 /*yield*/, (0, getProjectConfig_1.getEnvironment)(env, componentName)];
|
|
126
|
-
case
|
|
127
|
-
secretEnvVarKeys = (
|
|
158
|
+
case 6:
|
|
159
|
+
secretEnvVarKeys = (_q.sent()).secretEnvVarKeys;
|
|
128
160
|
extranous = (0, lodash_1.difference)(usedKeys, secretEnvVarKeys);
|
|
129
161
|
missing = (0, lodash_1.difference)(secretEnvVarKeys, usedKeys);
|
|
130
|
-
if (!(extranous.length > 0 || missing.length > 0)) return [3 /*break*/,
|
|
162
|
+
if (!(extranous.length > 0 || missing.length > 0)) return [3 /*break*/, 9];
|
|
131
163
|
instance.log("");
|
|
132
164
|
instance.log("\uD83D\uDE3F Oh no! There is something wrong with \"".concat(componentName, "\""));
|
|
133
165
|
instance.log("");
|
|
@@ -142,54 +174,65 @@ var doItFor = function (instance, env, components) { return __awaiter(void 0, vo
|
|
|
142
174
|
instance.log("");
|
|
143
175
|
}
|
|
144
176
|
return [4 /*yield*/, (0, promise_1.delay)(1000)];
|
|
145
|
-
case
|
|
146
|
-
|
|
177
|
+
case 7:
|
|
178
|
+
_q.sent();
|
|
147
179
|
return [4 /*yield*/, instance.prompt({
|
|
148
180
|
"default": true,
|
|
149
181
|
message: "Try again? 🤔",
|
|
150
182
|
name: "shouldContinue",
|
|
151
183
|
type: "confirm"
|
|
152
184
|
})];
|
|
153
|
-
case
|
|
154
|
-
shouldContinue = (
|
|
185
|
+
case 8:
|
|
186
|
+
shouldContinue = (_q.sent()).shouldContinue;
|
|
155
187
|
if (!shouldContinue) {
|
|
156
188
|
throw new Error("abort");
|
|
157
189
|
}
|
|
158
190
|
hasErrors = true;
|
|
159
|
-
|
|
160
|
-
case
|
|
191
|
+
_q.label = 9;
|
|
192
|
+
case 9:
|
|
193
|
+
_e++;
|
|
194
|
+
return [3 /*break*/, 5];
|
|
195
|
+
case 10:
|
|
161
196
|
_i++;
|
|
162
197
|
return [3 /*break*/, 4];
|
|
163
|
-
case
|
|
164
|
-
case 10:
|
|
165
|
-
_c = 0, components_2 = components;
|
|
166
|
-
_j.label = 11;
|
|
167
|
-
case 11:
|
|
168
|
-
if (!(_c < components_2.length)) return [3 /*break*/, 17];
|
|
169
|
-
componentName = components_2[_c];
|
|
170
|
-
return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, valuesToEdit[componentName], env, componentName)];
|
|
198
|
+
case 11: return [3 /*break*/, 2];
|
|
171
199
|
case 12:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
|
|
200
|
+
_f = 0, _g = Object.entries(envAndComponents);
|
|
201
|
+
_q.label = 13;
|
|
175
202
|
case 13:
|
|
176
|
-
|
|
203
|
+
if (!(_f < _g.length)) return [3 /*break*/, 21];
|
|
204
|
+
_h = _g[_f], componentName = _h[0], envs = _h[1];
|
|
205
|
+
_j = 0, envs_2 = envs;
|
|
206
|
+
_q.label = 14;
|
|
207
|
+
case 14:
|
|
208
|
+
if (!(_j < envs_2.length)) return [3 /*break*/, 20];
|
|
209
|
+
env = envs_2[_j];
|
|
210
|
+
return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, valuesToEdit[componentName][env], env, componentName)];
|
|
211
|
+
case 15:
|
|
212
|
+
_q.sent();
|
|
213
|
+
if (!(0, passwordstore_1.hasBitwarden)()) return [3 /*break*/, 19];
|
|
214
|
+
return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
|
|
215
|
+
case 16:
|
|
216
|
+
context = _q.sent();
|
|
177
217
|
if (!(context.componentConfig.deploy &&
|
|
178
|
-
((
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
218
|
+
((_p = (_o = context.componentConfig.deploy.values) === null || _o === void 0 ? void 0 : _o.cloudsql) === null || _p === void 0 ? void 0 : _p.enabled))) return [3 /*break*/, 19];
|
|
219
|
+
_k = gitlab_1.upsertAllVariables;
|
|
220
|
+
_l = [instance];
|
|
221
|
+
_m = {};
|
|
182
222
|
return [4 /*yield*/, (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH)];
|
|
183
|
-
case
|
|
184
|
-
|
|
223
|
+
case 17: return [4 /*yield*/, _k.apply(void 0, _l.concat([(_m.cloudsqlProxyCredentials = _q.sent(),
|
|
224
|
+
_m), env,
|
|
185
225
|
componentName]))];
|
|
186
|
-
case
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
case
|
|
190
|
-
|
|
191
|
-
return [3 /*break*/,
|
|
192
|
-
case
|
|
226
|
+
case 18:
|
|
227
|
+
_q.sent();
|
|
228
|
+
_q.label = 19;
|
|
229
|
+
case 19:
|
|
230
|
+
_j++;
|
|
231
|
+
return [3 /*break*/, 14];
|
|
232
|
+
case 20:
|
|
233
|
+
_f++;
|
|
234
|
+
return [3 /*break*/, 13];
|
|
235
|
+
case 21: return [2 /*return*/];
|
|
193
236
|
}
|
|
194
237
|
});
|
|
195
238
|
}); };
|
|
@@ -199,7 +242,7 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
199
242
|
switch (_c.label) {
|
|
200
243
|
case 0:
|
|
201
244
|
_b = (_a = vorpal
|
|
202
|
-
.command("project-config-secrets
|
|
245
|
+
.command("project-config-secrets [envComponent]", "setup/update secrets stored in pass"))
|
|
203
246
|
.autocomplete;
|
|
204
247
|
return [4 /*yield*/, (0, autocompletions_1.allEnvsAndAllComponents)()];
|
|
205
248
|
case 1:
|
|
@@ -207,26 +250,38 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
207
250
|
.action(function (_a) {
|
|
208
251
|
var envComponent = _a.envComponent;
|
|
209
252
|
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
var _b,
|
|
211
|
-
|
|
212
|
-
|
|
253
|
+
var allEnvAndcomponents, _b, env_1, componentName, components;
|
|
254
|
+
var _c;
|
|
255
|
+
return __generator(this, function (_d) {
|
|
256
|
+
switch (_d.label) {
|
|
213
257
|
case 0:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getProjectComponents)()];
|
|
258
|
+
if (!!envComponent) return [3 /*break*/, 3];
|
|
259
|
+
return [4 /*yield*/, (0, getProjectConfig_1.getAllComponentsWithAllEnvsHierarchical)()];
|
|
217
260
|
case 1:
|
|
218
|
-
|
|
219
|
-
return [4 /*yield*/, doItFor(this,
|
|
261
|
+
allEnvAndcomponents = _d.sent();
|
|
262
|
+
return [4 /*yield*/, doItFor(this, allEnvAndcomponents)];
|
|
220
263
|
case 2:
|
|
221
|
-
|
|
222
|
-
|
|
264
|
+
_d.sent();
|
|
265
|
+
return [3 /*break*/, 8];
|
|
223
266
|
case 3:
|
|
224
|
-
|
|
225
|
-
return [
|
|
267
|
+
_b = (0, getProjectConfig_1.parseChoice)(envComponent), env_1 = _b.env, componentName = _b.componentName;
|
|
268
|
+
if (!!componentName) return [3 /*break*/, 6];
|
|
269
|
+
return [4 /*yield*/, (0, getProjectConfig_1.getProjectComponents)()];
|
|
226
270
|
case 4:
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
case 5:
|
|
271
|
+
components = _d.sent();
|
|
272
|
+
return [4 /*yield*/, doItFor(this, Object.fromEntries(components.map(function (c) { return [c, [env_1]]; })))];
|
|
273
|
+
case 5:
|
|
274
|
+
_d.sent();
|
|
275
|
+
_d.label = 6;
|
|
276
|
+
case 6:
|
|
277
|
+
if (!componentName) return [3 /*break*/, 8];
|
|
278
|
+
return [4 /*yield*/, doItFor(this, (_c = {},
|
|
279
|
+
_c[componentName] = [env_1],
|
|
280
|
+
_c))];
|
|
281
|
+
case 7:
|
|
282
|
+
_d.sent();
|
|
283
|
+
_d.label = 8;
|
|
284
|
+
case 8: return [2 /*return*/];
|
|
230
285
|
}
|
|
231
286
|
});
|
|
232
287
|
});
|
|
@@ -234,21 +289,6 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
234
289
|
return [2 /*return*/];
|
|
235
290
|
}
|
|
236
291
|
});
|
|
237
|
-
}); });
|
|
238
|
-
async function createNewEnvInPass(env: any, secretEnvVarsMapping: ISecrets) {
|
|
239
|
-
// const passPath = await getPassPath(env);
|
|
240
|
-
this.log(
|
|
241
|
-
"Your selected env is not yet in pass. Do you want to copy it from another env? "
|
|
242
|
-
);
|
|
243
|
-
const noAnswer = "No, I will create a new one from scratch.";
|
|
244
|
-
const { sourceEnv } = await this.prompt({
|
|
245
|
-
type: "list",
|
|
246
|
-
name: "sourceEnv",
|
|
247
|
-
choices: [...(await envAndComponents()).filter((e) => e !== env), noAnswer],
|
|
248
|
-
message: "Do you want to copy an env?",
|
|
249
|
-
});
|
|
250
|
-
// TODO: reimplenent
|
|
251
|
-
}
|
|
252
|
-
*/
|
|
292
|
+
}); });
|
|
253
293
|
var templateObject_1;
|
|
254
294
|
//# sourceMappingURL=commandConfigSecrets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,2CAA2C;AAC3C,iCAAoC;AAEpC,0DAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,20 +49,22 @@ var getProjectConfig_1 = require("../../../../config/getProjectConfig");
|
|
|
49
49
|
var cluster_1 = require("../../../../utils/cluster");
|
|
50
50
|
var gitlab_1 = require("../../../../utils/gitlab");
|
|
51
51
|
var ensureNamespace_1 = __importDefault(require("./utils/ensureNamespace"));
|
|
52
|
+
var open_1 = __importDefault(require("open"));
|
|
52
53
|
exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
54
|
return __generator(this, function (_a) {
|
|
54
55
|
return [2 /*return*/, vorpal
|
|
55
56
|
.command("project-init-gitlab", "Initializes the gitlab repo, e.g. connects the cluster to it")
|
|
56
57
|
.action(function () {
|
|
57
58
|
return __awaiter(this, void 0, void 0, function () {
|
|
58
|
-
var allContext, _i, allContext_1, context, deployConfig, fullName, namespace, serviceAccountName, KUBE_URL, e_1, tokenName, KUBE_CA_PEM, KUBE_TOKEN, vars;
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
var allContext, _i, allContext_1, context, deployConfig, fullName, namespace, serviceAccountName, KUBE_URL, e_1, tokenName, KUBE_CA_PEM, KUBE_TOKEN, vars, _a, projectId, projectWebUrl, variables, understood, GL_TOKEN, deploy_tokens;
|
|
60
|
+
var _this = this;
|
|
61
|
+
return __generator(this, function (_b) {
|
|
62
|
+
switch (_b.label) {
|
|
61
63
|
case 0: return [4 /*yield*/, (0, getProjectConfig_1.getAllPipelineContexts)()];
|
|
62
64
|
case 1:
|
|
63
|
-
allContext =
|
|
65
|
+
allContext = _b.sent();
|
|
64
66
|
_i = 0, allContext_1 = allContext;
|
|
65
|
-
|
|
67
|
+
_b.label = 2;
|
|
66
68
|
case 2:
|
|
67
69
|
if (!(_i < allContext_1.length)) return [3 /*break*/, 19];
|
|
68
70
|
context = allContext_1[_i];
|
|
@@ -72,47 +74,47 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
72
74
|
this.log("connecting ".concat(context.environment.shortName, ":").concat(context.componentName, " ").concat(fullName));
|
|
73
75
|
return [4 /*yield*/, (0, cluster_1.connectToCluster)(fullName)];
|
|
74
76
|
case 3:
|
|
75
|
-
|
|
77
|
+
_b.sent();
|
|
76
78
|
return [4 /*yield*/, (0, ensureNamespace_1["default"])(context)];
|
|
77
79
|
case 4:
|
|
78
|
-
namespace =
|
|
80
|
+
namespace = _b.sent();
|
|
79
81
|
serviceAccountName = "cl-".concat(context.componentName, "-deploy");
|
|
80
82
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'"], ["TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'"]))).then(function (s) { return s.stdout.trim(); })];
|
|
81
83
|
case 5:
|
|
82
|
-
KUBE_URL =
|
|
83
|
-
|
|
84
|
+
KUBE_URL = _b.sent();
|
|
85
|
+
_b.label = 6;
|
|
84
86
|
case 6:
|
|
85
|
-
|
|
87
|
+
_b.trys.push([6, 10, , 11]);
|
|
86
88
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["kubectl delete serviceaccount --namespace ", " ", ""], ["kubectl delete serviceaccount --namespace ", " ", ""])), namespace, serviceAccountName)];
|
|
87
89
|
case 7:
|
|
88
|
-
|
|
90
|
+
_b.sent();
|
|
89
91
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["kubectl delete rolebinding --namespace ", " ", ""], ["kubectl delete rolebinding --namespace ", " ", ""])), namespace, serviceAccountName)];
|
|
90
92
|
case 8:
|
|
91
|
-
|
|
93
|
+
_b.sent();
|
|
92
94
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["kubectl delete role --namespace ", " ", ""], ["kubectl delete role --namespace ", " ", ""])), namespace, serviceAccountName)];
|
|
93
95
|
case 9:
|
|
94
|
-
|
|
96
|
+
_b.sent();
|
|
95
97
|
return [3 /*break*/, 11];
|
|
96
98
|
case 10:
|
|
97
|
-
e_1 =
|
|
99
|
+
e_1 = _b.sent();
|
|
98
100
|
return [3 /*break*/, 11];
|
|
99
101
|
case 11: return [4 /*yield*/, (0, zx_1.$)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["kubectl create serviceaccount --namespace ", " ", ""], ["kubectl create serviceaccount --namespace ", " ", ""])), namespace, serviceAccountName)];
|
|
100
102
|
case 12:
|
|
101
|
-
|
|
103
|
+
_b.sent();
|
|
102
104
|
// upsert role in the ns
|
|
103
105
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ", "\n name: ", "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"jobs\", \"cronjobs\"]\n verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"] # You can also use [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ", "\n namespace: ", "\nsubjects:\n - kind: ServiceAccount\n name: ", "\n namespace: ", "\nroleRef:\n kind: Role\n name: ", "\n apiGroup: rbac.authorization.k8s.io\nEOF\n "], ["cat <<EOF | kubectl apply -f -\nkind: Role\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n namespace: ", "\n name: ", "\nrules:\n- apiGroups: [\"\", \"extensions\", \"apps\", \"networking.k8s.io\", \"batch\"]\n resources: [\"deployments\", \"replicasets\", \"statefulsets\", \"pods\", \"secrets\", \"configmaps\", \"services\", \"ingresses\", \"serviceaccounts\", \"jobs\", \"cronjobs\"]\n verbs: [\"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\"] # You can also use [\"*\"]\n---\nkind: RoleBinding\napiVersion: rbac.authorization.k8s.io/v1\nmetadata:\n name: ", "\n namespace: ", "\nsubjects:\n - kind: ServiceAccount\n name: ", "\n namespace: ", "\nroleRef:\n kind: Role\n name: ", "\n apiGroup: rbac.authorization.k8s.io\nEOF\n "])), namespace, serviceAccountName, serviceAccountName, namespace, serviceAccountName, namespace, serviceAccountName)];
|
|
104
106
|
case 13:
|
|
105
107
|
// upsert role in the ns
|
|
106
|
-
|
|
108
|
+
_b.sent();
|
|
107
109
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["kubectl get serviceaccount --namespace ", " ", " -o jsonpath='{.secrets[0].name}'"], ["kubectl get serviceaccount --namespace ", " ", " -o jsonpath='{.secrets[0].name}'"])), namespace, serviceAccountName)];
|
|
108
110
|
case 14:
|
|
109
|
-
tokenName =
|
|
111
|
+
tokenName = _b.sent();
|
|
110
112
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['ca\\.crt']}\""], ["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['ca\\\\.crt']}\""])), tokenName, namespace).then(function (c) { return c.stdout.trim(); })];
|
|
111
113
|
case 15:
|
|
112
|
-
KUBE_CA_PEM =
|
|
114
|
+
KUBE_CA_PEM = _b.sent();
|
|
113
115
|
return [4 /*yield*/, (0, zx_1.$)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['token']}\" | base64 --decode"], ["kubectl get secret ", " --namespace ", " -o jsonpath=\"{['data']['token']}\" | base64 --decode"])), tokenName, namespace).then(function (c) { return c.stdout.trim(); })];
|
|
114
116
|
case 16:
|
|
115
|
-
KUBE_TOKEN =
|
|
117
|
+
KUBE_TOKEN = _b.sent();
|
|
116
118
|
vars = {
|
|
117
119
|
KUBE_TOKEN: KUBE_TOKEN,
|
|
118
120
|
KUBE_CA_PEM: KUBE_CA_PEM,
|
|
@@ -120,12 +122,76 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
|
|
|
120
122
|
};
|
|
121
123
|
return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(this, vars, context.environment.shortName, context.componentName)];
|
|
122
124
|
case 17:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
+
_b.sent();
|
|
126
|
+
_b.label = 18;
|
|
125
127
|
case 18:
|
|
126
128
|
_i++;
|
|
127
129
|
return [3 /*break*/, 2];
|
|
128
|
-
case 19: return [
|
|
130
|
+
case 19: return [4 /*yield*/, (0, gitlab_1.getProjectInfo)(this)];
|
|
131
|
+
case 20:
|
|
132
|
+
_a = _b.sent(), projectId = _a.id, projectWebUrl = _a.web_url;
|
|
133
|
+
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/variables"))];
|
|
134
|
+
case 21:
|
|
135
|
+
variables = _b.sent();
|
|
136
|
+
if (!!variables.find(function (v) { return v.key === "GL_TOKEN"; })) return [3 /*break*/, 25];
|
|
137
|
+
this.log("I need add a GL_TOKEN to the project, so that semantic release will work\n");
|
|
138
|
+
this.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");
|
|
139
|
+
this.log("\n");
|
|
140
|
+
return [4 /*yield*/, this.prompt({
|
|
141
|
+
"default": true,
|
|
142
|
+
message: "Understood and open gitlab now? 🤔",
|
|
143
|
+
name: "understood",
|
|
144
|
+
type: "confirm"
|
|
145
|
+
})];
|
|
146
|
+
case 22:
|
|
147
|
+
understood = (_b.sent()).understood;
|
|
148
|
+
if (!understood) {
|
|
149
|
+
this.log("continuing anyway...");
|
|
150
|
+
}
|
|
151
|
+
(0, open_1["default"])("".concat(projectWebUrl, "/-/settings/access_tokens"));
|
|
152
|
+
this.log("\n");
|
|
153
|
+
this.log("Enter your copied token now: ");
|
|
154
|
+
this.log("\n");
|
|
155
|
+
return [4 /*yield*/, this.prompt({
|
|
156
|
+
type: "password",
|
|
157
|
+
name: "GL_TOKEN",
|
|
158
|
+
message: "Access Token: "
|
|
159
|
+
})];
|
|
160
|
+
case 23:
|
|
161
|
+
GL_TOKEN = (_b.sent()).GL_TOKEN;
|
|
162
|
+
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/variables"), {
|
|
163
|
+
key: "GL_TOKEN",
|
|
164
|
+
value: GL_TOKEN
|
|
165
|
+
})];
|
|
166
|
+
case 24:
|
|
167
|
+
_b.sent();
|
|
168
|
+
_b.label = 25;
|
|
169
|
+
case 25: return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/deploy_tokens"))];
|
|
170
|
+
case 26:
|
|
171
|
+
deploy_tokens = _b.sent();
|
|
172
|
+
if (!!deploy_tokens.find(function (v) { return v.name === "gitlab-deploy-token"; })) return [3 /*break*/, 28];
|
|
173
|
+
this.log("I will setup the 'GitLab Deploy Token', so Kubernetes can pull images from this project.");
|
|
174
|
+
return [4 /*yield*/, (0, gitlab_1.doGitlabRequest)(this, "projects/".concat(projectId, "/deploy_tokens"), {
|
|
175
|
+
id: projectId,
|
|
176
|
+
name: "gitlab-deploy-token",
|
|
177
|
+
scopes: ["read_registry"]
|
|
178
|
+
})];
|
|
179
|
+
case 27:
|
|
180
|
+
_b.sent();
|
|
181
|
+
_b.label = 28;
|
|
182
|
+
case 28:
|
|
183
|
+
this.log("gitlab is ready! 🥂");
|
|
184
|
+
this.log("\n");
|
|
185
|
+
this.log("do not forget to make sure that:");
|
|
186
|
+
[
|
|
187
|
+
"you have __health route in place",
|
|
188
|
+
"lint and test are defined",
|
|
189
|
+
"eat your vegetables",
|
|
190
|
+
"be awesome 🤩",
|
|
191
|
+
].forEach(function (tip) { return _this.log(" - ".concat(tip)); });
|
|
192
|
+
this.log("\n");
|
|
193
|
+
this.log("\n");
|
|
194
|
+
return [2 /*return*/];
|
|
129
195
|
}
|
|
130
196
|
});
|
|
131
197
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandInitGitlab.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandInitGitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"commandInitGitlab.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandInitGitlab.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,7 @@ var envAndComponents = function () { return __awaiter(void 0, void 0, void 0, fu
|
|
|
67
67
|
var allEnvAndcomponents;
|
|
68
68
|
return __generator(this, function (_a) {
|
|
69
69
|
switch (_a.label) {
|
|
70
|
-
case 0: return [4 /*yield*/, (0, getProjectConfig_1.
|
|
70
|
+
case 0: return [4 /*yield*/, (0, getProjectConfig_1.getAllComponentsWithAllEnvsFlat)()];
|
|
71
71
|
case 1:
|
|
72
72
|
allEnvAndcomponents = _a.sent();
|
|
73
73
|
return [2 /*return*/, allEnvAndcomponents.reduce(function (acc, _a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompletions.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/utils/autocompletions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA4E;AAC5E,2EAGgD;AAEzC,IAAM,OAAO,GAAG;;;;oBACN,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,IAAI,CAAC,MAAM,EAAE;oBACX,sBAAO,EAAE,EAAC;iBACX;gBACD,sBAAO,IAAA,oCAAyB,EAAC,MAAM,CAAC,EAAC;;;KAC1C,CAAC;AANW,QAAA,OAAO,WAMlB;AAEK,IAAM,gBAAgB,GAAG;;;;oBACF,qBAAM,IAAA,
|
|
1
|
+
{"version":3,"file":"autocompletions.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/project/utils/autocompletions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA4E;AAC5E,2EAGgD;AAEzC,IAAM,OAAO,GAAG;;;;oBACN,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,IAAI,CAAC,MAAM,EAAE;oBACX,sBAAO,EAAE,EAAC;iBACX;gBACD,sBAAO,IAAA,oCAAyB,EAAC,MAAM,CAAC,EAAC;;;KAC1C,CAAC;AANW,QAAA,OAAO,WAMlB;AAEK,IAAM,gBAAgB,GAAG;;;;oBACF,qBAAM,IAAA,kDAA+B,GAAE,EAAA;;gBAA7D,mBAAmB,GAAG,SAAuC;gBAEnE,sBAAO,mBAAmB,CAAC,MAAM,CAC/B,UAAC,GAAG,EAAE,EAAsB;4BAApB,GAAG,SAAA,EAAE,aAAa,mBAAA;wBAAO,uCAAI,GAAG,UAAE,GAAG,GAAG,GAAG,GAAG,aAAa;oBAAlC,CAAmC,EACpE,EAAE,CACH,EAAC;;;KACH,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,IAAM,uBAAuB,GAAG;;;;;;gBACzB,qBAAM,IAAA,eAAO,GAAE,EAAA;;6DAAhB,CAAC,SAAe,CAAC;gBAAM,qBAAM,IAAA,wBAAgB,GAAE,EAAA;oBAA1D,6DAAiC,CAAC,SAAwB,CAAC,WAAE;;;KAC9D,CAAC;AAFW,QAAA,uBAAuB,2BAElC"}
|
|
@@ -10,10 +10,13 @@ export declare const parseChoice: (envComponent: string) => {
|
|
|
10
10
|
componentName: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const getPipelineContextByChoice: (env: string, componentName: string) => Promise<import("@catladder/pipeline").Context>;
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const getAllComponentsWithAllEnvsFlat: () => Promise<Array<{
|
|
14
14
|
env: string;
|
|
15
15
|
componentName: string;
|
|
16
|
-
}
|
|
16
|
+
}>>;
|
|
17
|
+
export declare const getAllComponentsWithAllEnvsHierarchical: () => Promise<{
|
|
18
|
+
[componentName: string]: string[];
|
|
19
|
+
}>;
|
|
17
20
|
export declare const getAllPipelineContexts: () => Promise<import("@catladder/pipeline").Context[]>;
|
|
18
21
|
export declare const getEnvironment: (env: string, componentName: string) => Promise<import("@catladder/pipeline").Environment>;
|
|
19
22
|
export declare const getEnvVars: (vorpal: CommandInstance, env: string, componentName: string) => Promise<{
|