@catladder/cli 0.0.0-new-mongodb-bda2e4e6 → 0.0.0-new-mongodb-7687c300

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.
@@ -42,13 +42,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
42
42
  exports.__esModule = true;
43
43
  exports.projectConfigSecrets = void 0;
44
44
  /* eslint-disable no-constant-condition */
45
+ var pipeline_1 = require("@catladder/pipeline");
45
46
  var common_tags_1 = require("common-tags");
46
47
  var lodash_1 = require("lodash");
47
- var constants_1 = require("../../../../config/constants");
48
48
  var getProjectConfig_1 = require("../../../../config/getProjectConfig");
49
49
  var editAsFile_1 = require("../../../../utils/editAsFile");
50
50
  var gitlab_1 = require("../../../../utils/gitlab");
51
- var passwordstore_1 = require("../../../../utils/passwordstore");
52
51
  var promise_1 = require("../../../../utils/promise");
53
52
  var autocompletions_1 = require("./utils/autocompletions");
54
53
  /* for convenience, parse json objects. that makes it easier to edit secrets that are object */
@@ -85,16 +84,19 @@ var getEnvVarsToEdit = function (instance, env, componentName) { return __awaite
85
84
  return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(instance, env, componentName)];
86
85
  case 2:
87
86
  allEnvVars = _a.sent();
88
- return [2 /*return*/, Object.fromEntries(secretEnvVarKeys.map(function (key) { return [key, allEnvVars[key]]; }))];
87
+ return [2 /*return*/, Object.fromEntries(secretEnvVarKeys.map(function (key) {
88
+ var value = allEnvVars[key];
89
+ // due to some quirky way to resolve these variables, unset variables have the $CL_ prefix, so we remove thouse here
90
+ var variableIsNotSet = value === "$" + (0, pipeline_1.getSecretVarName)(env, componentName, key);
91
+ return [key, variableIsNotSet ? "🚨 FILL ME" : value];
92
+ }))];
89
93
  }
90
94
  });
91
95
  }); };
92
96
  var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, void 0, void 0, function () {
93
- 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, e_1;
94
- var _m;
95
- var _o, _p;
96
- return __generator(this, function (_q) {
97
- switch (_q.label) {
97
+ 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;
98
+ return __generator(this, function (_k) {
99
+ switch (_k.label) {
98
100
  case 0:
99
101
  _b = (_a = Object).fromEntries;
100
102
  return [4 /*yield*/, Promise.all(Object.entries(envAndComponents).map(function (_a) {
@@ -127,9 +129,9 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
127
129
  });
128
130
  }))];
129
131
  case 1:
130
- valuesToEdit = _b.apply(_a, [_q.sent()]);
132
+ valuesToEdit = _b.apply(_a, [_k.sent()]);
131
133
  hasErrors = true;
132
- _q.label = 2;
134
+ _k.label = 2;
133
135
  case 2:
134
136
  if (!hasErrors) return [3 /*break*/, 12];
135
137
  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)
@@ -139,16 +141,16 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
139
141
  })
140
142
  .join("\n")))];
141
143
  case 3:
142
- valuesToEdit = _q.sent();
144
+ valuesToEdit = _k.sent();
143
145
  // check for errors
144
146
  hasErrors = false;
145
147
  _i = 0, _c = Object.entries(envAndComponents);
146
- _q.label = 4;
148
+ _k.label = 4;
147
149
  case 4:
148
150
  if (!(_i < _c.length)) return [3 /*break*/, 11];
149
151
  _d = _c[_i], componentName = _d[0], envs = _d[1];
150
152
  _e = 0, envs_1 = envs;
151
- _q.label = 5;
153
+ _k.label = 5;
152
154
  case 5:
153
155
  if (!(_e < envs_1.length)) return [3 /*break*/, 10];
154
156
  env = envs_1[_e];
@@ -157,7 +159,7 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
157
159
  : [];
158
160
  return [4 /*yield*/, (0, getProjectConfig_1.getEnvironment)(env, componentName)];
159
161
  case 6:
160
- secretEnvVarKeys = (_q.sent()).secretEnvVarKeys;
162
+ secretEnvVarKeys = (_k.sent()).secretEnvVarKeys;
161
163
  extranous = (0, lodash_1.difference)(usedKeys, secretEnvVarKeys);
162
164
  missing = (0, lodash_1.difference)(secretEnvVarKeys, usedKeys);
163
165
  if (!(extranous.length > 0 || missing.length > 0)) return [3 /*break*/, 9];
@@ -176,7 +178,7 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
176
178
  }
177
179
  return [4 /*yield*/, (0, promise_1.delay)(1000)];
178
180
  case 7:
179
- _q.sent();
181
+ _k.sent();
180
182
  return [4 /*yield*/, instance.prompt({
181
183
  "default": true,
182
184
  message: "Try again? 🤔",
@@ -184,12 +186,12 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
184
186
  type: "confirm"
185
187
  })];
186
188
  case 8:
187
- shouldContinue = (_q.sent()).shouldContinue;
189
+ shouldContinue = (_k.sent()).shouldContinue;
188
190
  if (!shouldContinue) {
189
191
  throw new Error("abort");
190
192
  }
191
193
  hasErrors = true;
192
- _q.label = 9;
194
+ _k.label = 9;
193
195
  case 9:
194
196
  _e++;
195
197
  return [3 /*break*/, 5];
@@ -201,52 +203,27 @@ var doItFor = function (instance, envAndComponents) { return __awaiter(void 0, v
201
203
  instance.log("upserting all variables, please wait...");
202
204
  instance.log("");
203
205
  _f = 0, _g = Object.entries(envAndComponents);
204
- _q.label = 13;
206
+ _k.label = 13;
205
207
  case 13:
206
- if (!(_f < _g.length)) return [3 /*break*/, 25];
208
+ if (!(_f < _g.length)) return [3 /*break*/, 18];
207
209
  _h = _g[_f], componentName = _h[0], envs = _h[1];
208
210
  _j = 0, envs_2 = envs;
209
- _q.label = 14;
211
+ _k.label = 14;
210
212
  case 14:
211
- if (!(_j < envs_2.length)) return [3 /*break*/, 24];
213
+ if (!(_j < envs_2.length)) return [3 /*break*/, 17];
212
214
  env = envs_2[_j];
213
215
  return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, valuesToEdit[componentName][env], env, componentName)];
214
216
  case 15:
215
- _q.sent();
216
- if (!(0, passwordstore_1.hasBitwarden)()) return [3 /*break*/, 22];
217
- _q.label = 16;
218
- case 16:
219
- _q.trys.push([16, 21, , 22]);
220
- return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
221
- case 17:
222
- context = _q.sent();
223
- if (!(context.componentConfig.deploy &&
224
- context.componentConfig.deploy.type === "kubernetes" &&
225
- ((_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*/, 20];
226
- _k = gitlab_1.upsertAllVariables;
227
- _l = [instance];
228
- _m = {};
229
- return [4 /*yield*/, (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH)];
230
- case 18: return [4 /*yield*/, _k.apply(void 0, _l.concat([(_m.cloudsqlProxyCredentials = _q.sent(),
231
- _m), env,
232
- componentName]))];
233
- case 19:
234
- _q.sent();
235
- _q.label = 20;
236
- case 20: return [3 /*break*/, 22];
237
- case 21:
238
- e_1 = _q.sent();
239
- return [3 /*break*/, 22];
240
- case 22:
217
+ _k.sent();
241
218
  instance.log("✅ " + env + ":" + componentName);
242
- _q.label = 23;
243
- case 23:
219
+ _k.label = 16;
220
+ case 16:
244
221
  _j++;
245
222
  return [3 /*break*/, 14];
246
- case 24:
223
+ case 17:
247
224
  _f++;
248
225
  return [3 /*break*/, 13];
249
- case 25:
226
+ case 18:
250
227
  instance.log("done! 😻");
251
228
  instance.log("");
252
229
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  exports.__esModule = true;
39
- var child_process_promise_1 = require("child-process-promise");
40
- var constants_1 = require("../../../../config/constants");
41
39
  var getProjectConfig_1 = require("../../../../config/getProjectConfig");
42
- var passwordstore_1 = require("../../../../utils/passwordstore");
43
40
  var autocompletions_1 = require("./utils/autocompletions");
44
41
  exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
45
42
  var _a, _b;
@@ -54,7 +51,7 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
54
51
  .action(function copyDB(_a) {
55
52
  var envComponent = _a.envComponent;
56
53
  return __awaiter(this, void 0, void 0, function () {
57
- var _b, env, componentName, _c, customerName, appName, shouldContinue, GOOGLE_CLOUD_SQL_REGION, POSTGRESQL_PASSWORD, LOCAL_PORT, instanceName, cloudsqlCredentials, POSTGRESQL_URL, matches, localDBName, copyDBScript;
54
+ var _b, env, componentName, _c, customerName, appName, shouldContinue;
58
55
  return __generator(this, function (_d) {
59
56
  switch (_d.label) {
60
57
  case 0:
@@ -72,25 +69,6 @@ exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void
72
69
  if (!shouldContinue) {
73
70
  return [2 /*return*/];
74
71
  }
75
- // TODO: reimpleent with new config
76
- throw new Error("needs reimplementation with new config");
77
- case 3:
78
- POSTGRESQL_PASSWORD = (_d.sent()).POSTGRESQL_PASSWORD;
79
- LOCAL_PORT = 54321;
80
- instanceName = "".concat("xxxxxx reimplement shoulld be project id", ":").concat(GOOGLE_CLOUD_SQL_REGION, ":").concat(customerName, "-").concat(appName, "-").concat(env, "=tcp:").concat(LOCAL_PORT);
81
- return [4 /*yield*/, (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH)];
82
- case 4:
83
- cloudsqlCredentials = _d.sent();
84
- POSTGRESQL_URL = process.env.POSTGRESQL_URL;
85
- matches = new RegExp(/\w+:\/\/.*@.*\/(\w*)()/g).exec(POSTGRESQL_URL);
86
- if (!matches) {
87
- throw new Error("Could not determine db name.");
88
- }
89
- localDBName = matches[1];
90
- copyDBScript = "\n set -e\n credtmp=$(mktemp /tmp/cred.XXXXXX)\n echo '".concat(cloudsqlCredentials, "' > $credtmp\n echo \"Opening connection...\"\n cloud_sql_proxy -instances ").concat(instanceName, " -credential_file $credtmp &> /dev/null &\n PROXY_PID=$!\n\n echo -n \"Waiting for proxy\"\n until echo > /dev/tcp/localhost/").concat(LOCAL_PORT, "; do\n sleep 0.2\n echo -n \".\"\n done 2>/dev/null\n echo\n\n dumptmp=$(mktemp /tmp/dump.XXXXXX)\n\n echo \"Dumping file to $dumptmp\"\n pg_dump --dbname=postgres://postgres:").concat(POSTGRESQL_PASSWORD, "@localhost:").concat(LOCAL_PORT, "/").concat(componentName, " --no-owner --no-privileges > $dumptmp\n psql -q -c \"drop database ").concat(localDBName, "\" 1> /dev/null\n psql -q -c \"create database ").concat(localDBName, "\" 1> /dev/null\n echo \"Restoring dump...\"\n psql -q ").concat(localDBName, " < $dumptmp 1> /dev/null\n\n echo \"Clean up...\"\n set +e\n kill -9 $PROXY_PID\n wait $PROXY_PID 2> /dev/null\n rm $credtmp\n rm $dumptmp\n echo \"\n\uD83D\uDC31 Done!\"\n ");
91
- return [4 /*yield*/, (0, child_process_promise_1.spawn)(copyDBScript, [], { shell: "bash", stdio: "inherit" })];
92
- case 5:
93
- _d.sent();
94
72
  return [2 /*return*/];
95
73
  }
96
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"commandCopyDB.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCopyDB.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA8C;AAE9C,0DAA0E;AAC1E,wEAI6C;AAC7C,iEAA2D;AAC3D,2DAA2D;AAE3D,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CACN,wBAAwB,EACxB,2CAA2C,CAC5C,CAAA;qBACA,YAAY,CAAA;gBAAC,qBAAM,IAAA,kCAAgB,GAAE,EAAA;oBALxC,sBAAA,cAKgB,SAAwB,EAAC;qBACtC,MAAM,CAAC,SAAe,MAAM,CAAC,EAAgB;wBAAd,YAAY,kBAAA;;;;;;oCACpC,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;oCACvB,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;oCAApD,KAA4B,SAAwB,EAAlD,YAAY,kBAAA,EAAE,OAAO,aAAA;oCAEF,qBAAM,IAAI,CAAC,MAAM,CAAC;4CAC3C,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,gBAAgB;4CACtB,OAAO,EACL,sFAAsF;yCACzF,CAAC,EAAA;;oCALM,cAAc,GAAK,CAAA,SAKzB,CAAA,eALoB;oCAOtB,IAAI,CAAC,cAAc,EAAE;wCACnB,sBAAO;qCACR;oCAED,mCAAmC;oCACnC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;;oCAElD,mBAAmB,GAAK,CAAA,SAI/B,CAAA,oBAJ0B;oCAMrB,UAAU,GAAG,KAAK,CAAC;oCAEnB,YAAY,GAAG,UAAG,0CAA0C,cAAI,uBAAuB,cAAI,YAAY,cAAI,OAAO,cAAI,GAAG,kBAAQ,UAAU,CAAE,CAAC;oCACxH,qBAAM,IAAA,wBAAQ,EAAC,sCAA0B,CAAC,EAAA;;oCAAhE,mBAAmB,GAAG,SAA0C;oCAE9D,cAAc,GAAK,OAAO,CAAC,GAAG,eAAhB,CAAiB;oCACjC,OAAO,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CACxD,cAAc,CACf,CAAC;oCACF,IAAI,CAAC,OAAO,EAAE;wCACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;qCACjD;oCACK,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oCAEzB,YAAY,GAAG,gFAGb,mBAAmB,kGAEE,YAAY,yJAIP,UAAU,mOASL,mBAAmB,wBAAc,UAAU,cAAI,aAAa,sFACvE,WAAW,iEACT,WAAW,8EAE/B,WAAW,0NASpB,CAAC;oCAEF,qBAAM,IAAA,6BAAK,EAAC,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAA;;oCAAlE,SAAkE,CAAC;;;;;iBACpE,CAAC,EAAA;;;KAAA,EAAC"}
1
+ {"version":3,"file":"commandCopyDB.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCopyDB.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAI6C;AAE7C,2DAA2D;AAE3D,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CACN,wBAAwB,EACxB,2CAA2C,CAC5C,CAAA;qBACA,YAAY,CAAA;gBAAC,qBAAM,IAAA,kCAAgB,GAAE,EAAA;oBALxC,sBAAA,cAKgB,SAAwB,EAAC;qBACtC,MAAM,CAAC,SAAe,MAAM,CAAC,EAAgB;wBAAd,YAAY,kBAAA;;;;;;oCACpC,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;oCACvB,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;oCAApD,KAA4B,SAAwB,EAAlD,YAAY,kBAAA,EAAE,OAAO,aAAA;oCAEF,qBAAM,IAAI,CAAC,MAAM,CAAC;4CAC3C,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,gBAAgB;4CACtB,OAAO,EACL,sFAAsF;yCACzF,CAAC,EAAA;;oCALM,cAAc,GAAK,CAAA,SAKzB,CAAA,eALoB;oCAOtB,IAAI,CAAC,cAAc,EAAE;wCACnB,sBAAO;qCACR;;;;;iBA6DF,CAAC,EAAA;;;KAAA,EAAC"}
@@ -1,3 +1,2 @@
1
1
  export declare const GRAFANA_PROXY_LOCAL_PORT = 9090;
2
2
  export declare const GRAFANA_PROXY_TARGET_PORT = 9090;
3
- export declare const GOOGLE_CLOUD_SQL_PASS_PATH = "cloud-sql-proxy-credentials";
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.GOOGLE_CLOUD_SQL_PASS_PATH = exports.GRAFANA_PROXY_TARGET_PORT = exports.GRAFANA_PROXY_LOCAL_PORT = void 0;
3
+ exports.GRAFANA_PROXY_TARGET_PORT = exports.GRAFANA_PROXY_LOCAL_PORT = void 0;
4
4
  exports.GRAFANA_PROXY_LOCAL_PORT = 9090;
5
5
  exports.GRAFANA_PROXY_TARGET_PORT = 9090;
6
- exports.GOOGLE_CLOUD_SQL_PASS_PATH = "cloud-sql-proxy-credentials";
7
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAChC,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAEjC,QAAA,0BAA0B,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAChC,QAAA,yBAAyB,GAAG,IAAI,CAAC"}