@catladder/cli 0.0.0-fix-scripts-set-e-ae9c708f → 0.0.0-fix-values-as-files-73f39da5

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.
Files changed (59) hide show
  1. package/README.md +2 -1
  2. package/dist/apps/cli/commands/general/index.js +17 -9
  3. package/dist/apps/cli/commands/general/index.js.map +1 -1
  4. package/dist/apps/cli/commands/general/portForward.js +5 -6
  5. package/dist/apps/cli/commands/general/portForward.js.map +1 -1
  6. package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +24 -19
  7. package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
  8. package/dist/apps/cli/commands/project/commandConfigSecrets.js +21 -14
  9. package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  10. package/dist/apps/cli/commands/project/commandDeletePods.js +4 -3
  11. package/dist/apps/cli/commands/project/commandDeletePods.js.map +1 -1
  12. package/dist/apps/cli/commands/project/commandTriggerCronjob.js +2 -2
  13. package/dist/apps/cli/commands/project/commandTriggerCronjob.js.map +1 -1
  14. package/dist/apps/cli/commands/project/index.js +0 -2
  15. package/dist/apps/cli/commands/project/index.js.map +1 -1
  16. package/dist/apps/cli/commands/project/setup/setupAccessTokens.js +23 -14
  17. package/dist/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
  18. package/dist/apps/cli/commands/project/utils/ensureNamespace.js +6 -8
  19. package/dist/apps/cli/commands/project/utils/ensureNamespace.js.map +1 -1
  20. package/dist/apps/cli/config/writeConfig.js +1 -4
  21. package/dist/apps/cli/config/writeConfig.js.map +1 -1
  22. package/dist/config/getProjectConfig.d.ts +3 -3
  23. package/dist/config/getProjectConfig.js +58 -31
  24. package/dist/config/getProjectConfig.js.map +1 -1
  25. package/dist/k8sApi/index.d.ts +7 -5
  26. package/dist/k8sApi/index.js +23 -9
  27. package/dist/k8sApi/index.js.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dist/utils/cluster.js +0 -2
  30. package/dist/utils/cluster.js.map +1 -1
  31. package/dist/utils/gitlab.d.ts +1 -0
  32. package/dist/utils/gitlab.js +17 -1
  33. package/dist/utils/gitlab.js.map +1 -1
  34. package/dist/utils/projects/index.js +7 -8
  35. package/dist/utils/projects/index.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/apps/cli/commands/general/index.ts +6 -7
  38. package/src/apps/cli/commands/general/portForward.ts +2 -1
  39. package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +19 -6
  40. package/src/apps/cli/commands/project/commandConfigSecrets.ts +19 -16
  41. package/src/apps/cli/commands/project/commandDeletePods.ts +2 -1
  42. package/src/apps/cli/commands/project/commandTriggerCronjob.ts +3 -3
  43. package/src/apps/cli/commands/project/index.ts +0 -2
  44. package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +7 -5
  45. package/src/apps/cli/commands/project/utils/ensureNamespace.ts +2 -1
  46. package/src/apps/cli/config/writeConfig.ts +0 -2
  47. package/src/config/getProjectConfig.ts +52 -28
  48. package/src/k8sApi/index.ts +20 -8
  49. package/src/utils/cluster.ts +0 -2
  50. package/src/utils/gitlab.ts +11 -0
  51. package/src/utils/projects/index.ts +3 -1
  52. package/dist/apps/cli/commands/project/commandReloadConfig.d.ts +0 -3
  53. package/dist/apps/cli/commands/project/commandReloadConfig.js +0 -62
  54. package/dist/apps/cli/commands/project/commandReloadConfig.js.map +0 -1
  55. package/dist/utils/formatEnvVars.d.ts +0 -2
  56. package/dist/utils/formatEnvVars.js +0 -10
  57. package/dist/utils/formatEnvVars.js.map +0 -1
  58. package/src/apps/cli/commands/project/commandReloadConfig.ts +0 -12
  59. package/src/utils/formatEnvVars.ts +0 -7
@@ -42,7 +42,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
42
42
  exports.__esModule = true;
43
43
  exports.connectToCluster = exports.getCurrentConnectedClusterName = exports.getCurrentContext = void 0;
44
44
  var zx_1 = require("zx");
45
- var k8sApi_1 = require("../k8sApi");
46
45
  var getCurrentContext = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
47
46
  switch (_a.label) {
48
47
  case 0: return [4 /*yield*/, (0, zx_1.$)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["kubectl config current-context"], ["kubectl config current-context"])))];
@@ -65,7 +64,6 @@ var connectToCluster = function (fullname) { return __awaiter(void 0, void 0, vo
65
64
  case 0: return [4 /*yield*/, (0, zx_1.$)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["kubectl config use-context ", ""], ["kubectl config use-context ", ""])), fullname)];
66
65
  case 1:
67
66
  _a.sent();
68
- (0, k8sApi_1.reload)();
69
67
  return [2 /*return*/];
70
68
  }
71
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/utils/cluster.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;AACvB,oCAAmC;AAE5B,IAAM,iBAAiB,GAAG;;gBAC9B,yBAAM,MAAC,oGAAA,gCAAgC,MAAA;gBAAxC,sBAAA,CAAC,SAAuC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAA;;SAAA,CAAC;AAD7C,QAAA,iBAAiB,qBAC4B;AAEnD,IAAM,8BAA8B,GAAG;;;oBACrC,qBAAM,IAAA,yBAAiB,GAAE,EAAA;oBAAhC,sBAAO,SAAyB,EAAC;;;KAClC,CAAC;AAFW,QAAA,8BAA8B,kCAEzC;AAEK,IAAM,gBAAgB,GAAG,UAAO,QAAgB;;;oBACrD,yBAAM,MAAC,qGAAA,6BAA8B,EAAQ,EAAE,KAAV,QAAQ,GAAE;;gBAA/C,SAA+C,CAAC;gBAChD,IAAA,eAAM,GAAE,CAAC;;;;KACV,CAAC;AAHW,QAAA,gBAAgB,oBAG3B"}
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../src/utils/cluster.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;AAEhB,IAAM,iBAAiB,GAAG;;gBAC9B,yBAAM,MAAC,oGAAA,gCAAgC,MAAA;gBAAxC,sBAAA,CAAC,SAAuC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAA;;SAAA,CAAC;AAD7C,QAAA,iBAAiB,qBAC4B;AAEnD,IAAM,8BAA8B,GAAG;;;oBACrC,qBAAM,IAAA,yBAAiB,GAAE,EAAA;oBAAhC,sBAAO,SAAyB,EAAC;;;KAClC,CAAC;AAFW,QAAA,8BAA8B,kCAEzC;AAEK,IAAM,gBAAgB,GAAG,UAAO,QAAgB;;;oBACrD,yBAAM,MAAC,qGAAA,6BAA8B,EAAQ,EAAE,KAAV,QAAQ,GAAE;;gBAA/C,SAA+C,CAAC;;;;KACjD,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
@@ -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 {};
@@ -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 () {
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gDAAuD;AACvD,iCAAkC;AAClC,sDAAgC;AAChC,0DAA+B;AAC/B,8CAAwB;AAExB,6CAA4E;AAE5E,IAAM,SAAS,GAAG,8BAA8B,CAAC;AAE1C,IAAM,cAAc,GAAG;;gBAAY,qBAAM,IAAA,2BAAa,EAAC,SAAS,CAAC,EAAA;gBAA9B,sBAAA,SAA8B,EAAA;;SAAA,CAAC;AAA5D,QAAA,cAAc,kBAA8C;AAClE,IAAM,gBAAgB,GAAG,UAAO,MAAuB;;;;;gBAC5D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAC5E,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACtD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACY,qBAAM,MAAM,CAAC,MAAM,CAAC;wBAC7C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,QAAQ;qBACf,CAAC,EAAA;;gBALM,cAAc,GAAK,CAAA,SAKzB,CAAA,eALoB;gBAOtB,IAAA,iBAAI,EAAC,wDAAwD,CAAC,CAAC;gBAE/D,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAElC,qBAAM,MAAM,CAAC,MAAM,CAAC;wBAC5C,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,eAAe;wBACrB,SAAO,EAAE,EAAE;wBACX,OAAO,EAAE,6BAA6B;qBACvC,CAAC,EAAA;;gBALM,aAAa,GAAK,CAAA,SAKxB,CAAA,cALmB;qBAMjB,aAAa,EAAb,wBAAa;gBACf,qBAAM,IAAA,2BAAa,EAAC,SAAS,EAAE,aAAa,CAAC,EAAA;;gBAA7C,SAA6C,CAAC;;;;;KAEjD,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B;AACK,IAAM,cAAc,GAAG,UAAO,MAAuB;;;oBACpD,qBAAM,IAAA,sBAAc,GAAE,EAAA;;qBAAxB,CAAC,CAAC,SAAsB,CAAC,EAAzB,wBAAyB;gBAC3B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,CAAC,KAAK,CACX,4DAA4D,CAC7D,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjB;gBACD,qBAAM,IAAA,wBAAgB,EAAC,MAAM,CAAC,EAAA;;gBAA9B,SAA8B,CAAC;;oBAEjC,sBAAO,IAAA,2BAAa,EAAC,SAAS,CAAC,EAAC;;;KACjC,CAAC;AAXW,QAAA,cAAc,kBAWzB;AAEK,IAAM,eAAe,GAAG,UAC7B,MAAuB,EACvB,IAAY,EACZ,IAAqB,EACrB,MAAgB;IADhB,qBAAA,EAAA,gBAAqB;;;;;wBAGH,qBAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAA;;oBAAxC,SAAS,GAAG,SAA4B;oBAExC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAEzC,qBAAM,IAAA,uBAAK,EAAC,uCAAgC,IAAI,CAAE,EAAE;4BACjE,MAAM,QAAA;4BACN,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,eAAe,EAAE,SAAS;6BAC3B;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;yBAC3B,CAAC,EAAA;;oBAPI,MAAM,GAAG,SAOb;oBAEF,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;wBAC/C,sBAAO,MAAM,CAAC,IAAI,EAAE,EAAC;qBACtB;yBAES,KAAK;8EAC2B,IAAI,eAAK,MAAM,CAAC,MAAM,gBAC5D,MAAM,CAAC,UAAU;oBACF,KAAA,CAAA,KAAA,IAAI,CAAA,CAAC,SAAS,CAAA;oBAAC,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;wBAHrD,MAAM,cAAI,KAAK,WACb,cAEiB,cAAe,SAAmB,EAAE,IAAI,EAAE,CAAC,EAAC,EAAE,KAChE,CAAC;;;;CACH,CAAC;AA5BW,QAAA,eAAe,mBA4B1B;AAEK,IAAM,cAAc,GAAG,UAC5B,MAAuB;;;;oBAGrB,qBAAM,IAAA,4BAAI,EAAC,oCAAoC,CAAC,EAAA;;gBAD5C,kBAAkB,GAAG,CACzB,SAAgD,CACjD,CAAC,MAAM,CAAC,IAAI,EAAE;gBACT,WAAW,GAAG,gDAAgD,CAAC,IAAI,CACvE,kBAAkB,CACnB,CAAC;gBACc,qBAAM,IAAA,uBAAe,EACnC,MAAM,EACN,mBAAY,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAE,CACjD,EAAA;;gBAHK,OAAO,GAAG,SAGf;gBACD,sBAAO,OAAO,EAAC;;;KAChB,CAAC;AAdW,QAAA,cAAc,kBAczB;AAUW,QAAA,eAAe,GAAG,IAAA,qBAAQ,EACrC,UAAO,MAAuB;;;;oBACb,qBAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAA;;gBAAnC,EAAE,GAAK,CAAA,SAA4B,CAAA,GAAjC;gBACN,GAAG,GAA0B,EAAE,CAAC;gBAEhC,IAAI,GAAG,CAAC,CAAC;;oBAEF,qBAAM,IAAA,uBAAe,EAC5B,MAAM;gBACN,uBAAuB;gBACvB,mBAAY,EAAE,0CAAgC,IAAI,CAAE,CACrD,EAAA;;gBAJD,MAAM,GAAG,SAIR,CAAC;gBACF,IAAI,EAAE,CAAC;gBACP,GAAG,mCAAO,GAAG,SAAK,MAAM,OAAC,CAAC;;;oBACnB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC;;oBAC3B,sBAAO,GAAG,EAAC;;;KACZ,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;AAEF,IAAM,aAAa,GAAG,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,sIAAsI;AACtM,IAAM,UAAU,GAAG,UAAC,KAAa,IAAc,OAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAzB,CAAyB,CAAC;AAEzE,IAAM,cAAc,GAAG,UACrB,MAAuB,EACvB,SAAiB,EACjB,GAAW,EACX,KAAa;;;oBAEN,qBAAM,IAAA,uBAAe,EAAC,MAAM,EAAE,mBAAY,SAAS,eAAY,EAAE;oBACtE,GAAG,KAAA;oBACH,KAAK,OAAA;oBACL,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;iBAC1B,CAAC,EAAA;oBAJF,sBAAO,SAIL,EAAC;;;KACJ,CAAC;AAEF,IAAM,cAAc,GAAG,UACrB,MAAuB,EACvB,SAAiB,EACjB,GAAW,EACX,KAAa;;;oBAEN,qBAAM,IAAA,uBAAe,EAC1B,MAAM,EACN,mBAAY,SAAS,wBAAc,GAAG,CAAE,EACxC;oBACE,KAAK,OAAA;oBACL,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;iBAC1B,EACD,IAAI,CACL,EAAA;oBARD,sBAAO,SAQN,EAAC;;;KACH,CAAC;AACK,IAAM,kBAAkB,GAAG,UAChC,MAAuB,EACvB,SAA8B,EAC9B,GAAW,EACX,aAAqB;;;;oBAEN,qBAAM,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAA;;gBAAnC,EAAE,GAAK,CAAA,SAA4B,CAAA,GAAjC;sBAEgD,EAA/B,KAAA,MAAM,CAAC,OAAO,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;;;qBAA/B,CAAA,cAA+B,CAAA;gBAA/C,WAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBACd,OAAO,GAAG,IAAA,2BAAgB,EAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBACpD,cAAc,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAG,KAAK,CAAE,CAAC;;;;gBAE1E,qBAAM,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,EAAA;;gBAAzD,SAAyD,CAAC;;;;gBAE1D,qBAAM,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,EAAA;;gBAAzD,SAAyD,CAAC;;;gBAE1D,uBAAe,CAAC,KAAK,EAAE,CAAC;;;gBARD,IAA+B,CAAA;;;;;KAW3D,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/utils/gitlab.ts"],"names":[],"mappings":"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"}
@@ -39,15 +39,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
39
39
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
40
  }
41
41
  };
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
42
  exports.__esModule = true;
46
43
  exports.getProjectPodNames = exports.getProjectPvcs = exports.getProjectPods = exports.getProjectNamespace = exports.hasGitlabCiFile = exports.readRootGitlabCiFile = exports.getRootGitlabCiFile = exports.getGitRoot = void 0;
47
44
  var zx_1 = require("zx");
48
45
  var path_1 = require("path");
49
46
  var getProjectConfig_1 = require("../../config/getProjectConfig");
50
- var k8sApi_1 = __importDefault(require("../../k8sApi"));
47
+ var k8sApi_1 = require("../../k8sApi");
51
48
  var files_1 = require("../files");
52
49
  var getGitRoot = function () { return __awaiter(void 0, void 0, void 0, function () {
53
50
  return __generator(this, function (_a) {
@@ -109,13 +106,14 @@ var getProjectNamespace = function (envComponent) { return __awaiter(void 0, voi
109
106
  }); };
110
107
  exports.getProjectNamespace = getProjectNamespace;
111
108
  var getProjectPods = function (envComponent) { return __awaiter(void 0, void 0, void 0, function () {
112
- var namespace, res;
109
+ var namespace, k8sApi, res;
113
110
  return __generator(this, function (_a) {
114
111
  switch (_a.label) {
115
112
  case 0: return [4 /*yield*/, (0, exports.getProjectNamespace)(envComponent)];
116
113
  case 1:
117
114
  namespace = _a.sent();
118
- return [4 /*yield*/, k8sApi_1["default"].listNamespacedPod(namespace)];
115
+ k8sApi = (0, k8sApi_1.getk8sApi)();
116
+ return [4 /*yield*/, k8sApi.listNamespacedPod(namespace)];
119
117
  case 2:
120
118
  res = _a.sent();
121
119
  return [2 /*return*/, res.body.items];
@@ -124,13 +122,14 @@ var getProjectPods = function (envComponent) { return __awaiter(void 0, void 0,
124
122
  }); };
125
123
  exports.getProjectPods = getProjectPods;
126
124
  var getProjectPvcs = function (envComponent) { return __awaiter(void 0, void 0, void 0, function () {
127
- var namespace, res;
125
+ var namespace, k8sApi, res;
128
126
  return __generator(this, function (_a) {
129
127
  switch (_a.label) {
130
128
  case 0: return [4 /*yield*/, (0, exports.getProjectNamespace)(envComponent)];
131
129
  case 1:
132
130
  namespace = _a.sent();
133
- return [4 /*yield*/, k8sApi_1["default"].listNamespacedPersistentVolumeClaim(namespace)];
131
+ k8sApi = (0, k8sApi_1.getk8sApi)();
132
+ return [4 /*yield*/, k8sApi.listNamespacedPersistentVolumeClaim(namespace)];
134
133
  case 2:
135
134
  res = _a.sent();
136
135
  return [2 /*return*/, res.body.items];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/projects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;AACvB,6BAA4B;AAC5B,kEAA8E;AAC9E,wDAAkC;AAClC,kCAA2C;AAEpC,IAAM,UAAU,GAAG;;;oBAChB,yBAAM,MAAC,mGAAA,+BAA+B,MAAA;oBAA9C,sBAAO,CAAC,SAAsC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC;;;KAC/D,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,IAAM,mBAAmB,GAAG;;;;oBACjB,qBAAM,IAAA,kBAAU,GAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAClC,sBAAO,IAAA,WAAI,EAAC,OAAO,EAAE,gBAAgB,CAAC,EAAC;;;KACxC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEK,IAAM,oBAAoB,GAAG;;;YAClC,KAAA,uBAAe,CAAA;YAAC,qBAAM,IAAA,2BAAmB,GAAE,EAAA;gBAA3C,sBAAA,kBAAgB,SAA2B,EAAC,EAAA;;SAAA,CAAC;AADlC,QAAA,oBAAoB,wBACc;AAExC,IAAM,eAAe,GAAG;;;;oBACP,qBAAM,IAAA,4BAAoB,GAAE,EAAA;;gBAA5C,KAAgB,SAA4B,EAA3C,KAAK,QAAA,EAAE,IAAI,QAAA;gBAClB,IAAI,KAAK,EAAE;oBACT,sBAAO,KAAK,EAAC;iBACd;gBACD,sBAAO,IAAI,EAAC;;;KACb,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,IAAM,mBAAmB,GAAG,UAAO,YAAoB;;;;;gBACpD,GAAG,GAAK,IAAA,8BAAW,EAAC,YAAY,CAAC,IAA9B,CAA+B;gBAC3B,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,sBAAO,UAAG,MAAM,CAAC,YAAY,cAAI,MAAM,CAAC,OAAO,cAAI,GAAG,CAAE,EAAC;;;KAC1D,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,IAAM,cAAc,GAAG,UAAO,YAAoB;;;;oBACrC,qBAAM,IAAA,2BAAmB,EAAC,YAAY,CAAC,EAAA;;gBAAnD,SAAS,GAAG,SAAuC;gBAC7C,qBAAM,mBAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAA;;gBAA/C,GAAG,GAAG,SAAyC;gBAErD,sBAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC;;;KACvB,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,IAAM,cAAc,GAAG,UAAO,YAAoB;;;;oBACrC,qBAAM,IAAA,2BAAmB,EAAC,YAAY,CAAC,EAAA;;gBAAnD,SAAS,GAAG,SAAuC;gBAC7C,qBAAM,mBAAM,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAA;;gBAAjE,GAAG,GAAG,SAA2D;gBAEvE,sBAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC;;;KACvB,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,IAAM,kBAAkB,GAAG,UAAO,YAAoB;;;;oBAC9C,qBAAM,IAAA,sBAAc,EAAC,YAAY,CAAC,EAAA;;gBAAzC,IAAI,GAAG,SAAkC;gBAC/C,sBAAO,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAf,CAAe,CAAC,EAAC;;;KACzC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/projects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;AACvB,6BAA4B;AAC5B,kEAA8E;AAC9E,uCAAyC;AACzC,kCAA2C;AAEpC,IAAM,UAAU,GAAG;;;oBAChB,yBAAM,MAAC,mGAAA,+BAA+B,MAAA;oBAA9C,sBAAO,CAAC,SAAsC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC;;;KAC/D,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,IAAM,mBAAmB,GAAG;;;;oBACjB,qBAAM,IAAA,kBAAU,GAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAClC,sBAAO,IAAA,WAAI,EAAC,OAAO,EAAE,gBAAgB,CAAC,EAAC;;;KACxC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEK,IAAM,oBAAoB,GAAG;;;YAClC,KAAA,uBAAe,CAAA;YAAC,qBAAM,IAAA,2BAAmB,GAAE,EAAA;gBAA3C,sBAAA,kBAAgB,SAA2B,EAAC,EAAA;;SAAA,CAAC;AADlC,QAAA,oBAAoB,wBACc;AAExC,IAAM,eAAe,GAAG;;;;oBACP,qBAAM,IAAA,4BAAoB,GAAE,EAAA;;gBAA5C,KAAgB,SAA4B,EAA3C,KAAK,QAAA,EAAE,IAAI,QAAA;gBAClB,IAAI,KAAK,EAAE;oBACT,sBAAO,KAAK,EAAC;iBACd;gBACD,sBAAO,IAAI,EAAC;;;KACb,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,IAAM,mBAAmB,GAAG,UAAO,YAAoB;;;;;gBACpD,GAAG,GAAK,IAAA,8BAAW,EAAC,YAAY,CAAC,IAA9B,CAA+B;gBAC3B,qBAAM,IAAA,mCAAgB,GAAE,EAAA;;gBAAjC,MAAM,GAAG,SAAwB;gBACvC,sBAAO,UAAG,MAAM,CAAC,YAAY,cAAI,MAAM,CAAC,OAAO,cAAI,GAAG,CAAE,EAAC;;;KAC1D,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,IAAM,cAAc,GAAG,UAAO,YAAoB;;;;oBACrC,qBAAM,IAAA,2BAAmB,EAAC,YAAY,CAAC,EAAA;;gBAAnD,SAAS,GAAG,SAAuC;gBACnD,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;gBACf,qBAAM,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAA;;gBAA/C,GAAG,GAAG,SAAyC;gBAErD,sBAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC;;;KACvB,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,IAAM,cAAc,GAAG,UAAO,YAAoB;;;;oBACrC,qBAAM,IAAA,2BAAmB,EAAC,YAAY,CAAC,EAAA;;gBAAnD,SAAS,GAAG,SAAuC;gBACnD,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;gBACf,qBAAM,MAAM,CAAC,mCAAmC,CAAC,SAAS,CAAC,EAAA;;gBAAjE,GAAG,GAAG,SAA2D;gBAEvE,sBAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC;;;KACvB,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,IAAM,kBAAkB,GAAG,UAAO,YAAoB;;;;oBAC9C,qBAAM,IAAA,sBAAc,EAAC,YAAY,CAAC,EAAA;;gBAAzC,IAAI,GAAG,SAAkC;gBAC/C,sBAAO,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAf,CAAe,CAAC,EAAC;;;KACzC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B"}
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "catladder": "./bin/catladder"
17
17
  },
18
18
  "dependencies": {
19
- "@catladder/pipeline": "0.0.0-fix-scripts-set-e-ae9c708f",
19
+ "@catladder/pipeline": "0.0.0-fix-values-as-files-73f39da5",
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,6 +55,6 @@
55
55
  "eslint": "^8.7.0",
56
56
  "typescript": "^4.5.4"
57
57
  },
58
- "version": "0.0.0-fix-scripts-set-e-ae9c708f",
58
+ "version": "0.0.0-fix-values-as-files-73f39da5",
59
59
  "stableVersion": "0.0.0"
60
60
  }
@@ -1,10 +1,7 @@
1
1
  import memoizee from "memoizee";
2
2
  import Vorpal from "vorpal";
3
- import k8sApi from "../../../../k8sApi";
4
- import {
5
- getCurrentConnectedClusterName,
6
- getCurrentContext,
7
- } from "../../../../utils/cluster";
3
+ import { getk8sApi } from "../../../../k8sApi";
4
+ import { getCurrentContext } from "../../../../utils/cluster";
8
5
  import { logError } from "../../../../utils/log";
9
6
  import { syncBitwarden } from "../../../../utils/passwordstore";
10
7
  import {
@@ -12,13 +9,12 @@ import {
12
9
  stopPortForward,
13
10
  } from "../../../../utils/portForward";
14
11
  import { getShell } from "../../../../utils/shell";
15
- import { getGoogleAuthUserNumber } from "../../utils/getGoogleAuthUserNumber";
16
- import { openGoogleCloudLogs } from "../shared";
17
12
  import { namespaceAutoCompletion } from "./namespaceAutoCompletion";
18
13
  import portForward from "./portForward";
19
14
 
20
15
  const getAllNamespaces = memoizee(
21
16
  async () => {
17
+ const k8sApi = getk8sApi();
22
18
  const res = await k8sApi.listNamespace();
23
19
  return res.body.items;
24
20
  },
@@ -45,6 +41,7 @@ export default async (vorpal: Vorpal) => {
45
41
  .command("list-secrets <namespace>", "show secrets")
46
42
  .autocomplete(namespaceAutoCompletion)
47
43
  .action(async function ({ namespace }) {
44
+ const k8sApi = getk8sApi();
48
45
  const res = await k8sApi.listNamespacedSecret(namespace);
49
46
 
50
47
  this.log(res.body.items.map((n) => n.metadata.name).join("\n"));
@@ -59,6 +56,7 @@ export default async (vorpal: Vorpal) => {
59
56
  .command("list-pods <namespace>", "list all pods of namespace")
60
57
  .autocomplete(namespaceAutoCompletion)
61
58
  .action(async function ({ namespace }) {
59
+ const k8sApi = getk8sApi();
62
60
  const res = await k8sApi.listNamespacedPod(namespace);
63
61
  this.log(res.body.items.map((n) => n.metadata.name).join("\n"));
64
62
  });
@@ -74,6 +72,7 @@ export default async (vorpal: Vorpal) => {
74
72
  .command("get-shell <namespace>", "get a shell to a pod in the environment")
75
73
  .autocomplete(namespaceAutoCompletion)
76
74
  .action(async function ({ namespace }) {
75
+ const k8sApi = getk8sApi();
77
76
  const res = await k8sApi.listNamespacedPod(namespace);
78
77
  if (res.body.items.length === 0) {
79
78
  logError(this, "sorry, no pods found");
@@ -3,7 +3,7 @@ import { logError } from "../../../../utils/log";
3
3
 
4
4
  import { startPortForward } from "../../../../utils/portForward";
5
5
 
6
- import k8sApi from "../../../../k8sApi";
6
+ import { getk8sApi } from "../../../../k8sApi";
7
7
  import { namespaceAutoCompletion } from "./namespaceAutoCompletion";
8
8
 
9
9
  export default async (vorpal: Vorpal) =>
@@ -11,6 +11,7 @@ export default async (vorpal: Vorpal) =>
11
11
  .command("port-forward <namespace>", "start port-forwarding")
12
12
  .autocomplete(namespaceAutoCompletion)
13
13
  .action(async function ({ namespace }) {
14
+ const k8sApi = getk8sApi();
14
15
  const res = await k8sApi.listNamespacedPod(namespace);
15
16
  if (res.body.items.length === 0) {
16
17
  logError(this, "sorry, no pods found");
@@ -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 POSTGRESQL_PASSWORD = (await getEnvVars(this, env, componentName))
34
- ?.POSTGRESQL_PASSWORD;
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 cloudsqlCredentials = await readPass(GOOGLE_CLOUD_SQL_PASS_PATH);
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, cloudsqlCredentials);
77
+ await writeFile(tmpFilePath, cloudsqlProxyCredentials);
65
78
 
66
79
  await spawn(
67
80
  "cloud_sql_proxy",
@@ -152,22 +152,25 @@ const doItFor = async (
152
152
  if (hasBitwarden()) {
153
153
  // add cloud sql secret if needed.
154
154
  // TODO: this is legacy, in the future we want to have one service account per app
155
-
156
- const context = await getPipelineContextByChoice(env, componentName);
157
- if (
158
- context.componentConfig.deploy &&
159
- context.componentConfig.deploy.values?.cloudsql?.enabled
160
- ) {
161
- await upsertAllVariables(
162
- instance,
163
- {
164
- cloudsqlProxyCredentials: await readPass(
165
- GOOGLE_CLOUD_SQL_PASS_PATH
166
- ),
167
- },
168
- env,
169
- componentName
170
- );
155
+ try {
156
+ const context = await getPipelineContextByChoice(env, componentName);
157
+ if (
158
+ context.componentConfig.deploy &&
159
+ context.componentConfig.deploy.values?.cloudsql?.enabled
160
+ ) {
161
+ await upsertAllVariables(
162
+ instance,
163
+ {
164
+ cloudsqlProxyCredentials: await readPass(
165
+ GOOGLE_CLOUD_SQL_PASS_PATH
166
+ ),
167
+ },
168
+ env,
169
+ componentName
170
+ );
171
+ }
172
+ } catch (e) {
173
+ // ignore atm
171
174
  }
172
175
  }
173
176
  instance.log("✅ " + env + ":" + componentName);
@@ -1,5 +1,5 @@
1
1
  import Vorpal from "vorpal";
2
- import k8sApi from "../../../../k8sApi";
2
+ import { getk8sApi } from "../../../../k8sApi";
3
3
 
4
4
  import { logError } from "../../../../utils/log";
5
5
  import {
@@ -40,6 +40,7 @@ export default async (vorpal: Vorpal) =>
40
40
  message: "Continue ? 🤔 ",
41
41
  });
42
42
  this.log("");
43
+ const k8sApi = getk8sApi();
43
44
  if (shouldContinue) {
44
45
  for (const podName of selectedPodNames) {
45
46
  await k8sApi.deleteNamespacedPod(podName, namespace, "true");
@@ -1,7 +1,7 @@
1
1
  import { V1Job, V1ObjectMeta } from "@kubernetes/client-node";
2
2
 
3
3
  import Vorpal from "vorpal";
4
- import { k8sApiBatch, k8sApiBatchBeta } from "../../../../k8sApi";
4
+ import { getk8sApiBatch, getk8sApiBatchBeta } from "../../../../k8sApi";
5
5
  import { logError } from "../../../../utils/log";
6
6
  import { namespaceAutoCompletion } from "../general/namespaceAutoCompletion";
7
7
 
@@ -12,7 +12,7 @@ import ensureCluster from "./utils/ensureCluster";
12
12
  async function triggerCronjob(namespace: string) {
13
13
  const {
14
14
  body: { items: jobs },
15
- } = await k8sApiBatchBeta.listNamespacedCronJob(namespace);
15
+ } = await getk8sApiBatchBeta().listNamespacedCronJob(namespace);
16
16
 
17
17
  const jobNames = jobs.map((j) => j.metadata.name);
18
18
 
@@ -34,7 +34,7 @@ async function triggerCronjob(namespace: string) {
34
34
  job.metadata = metadata as V1ObjectMeta;
35
35
  job.spec = jobSpec;
36
36
  try {
37
- const result = await k8sApiBatch.createNamespacedJob(namespace, job);
37
+ const result = await getk8sApiBatch().createNamespacedJob(namespace, job);
38
38
 
39
39
  this.log("");
40
40
  this.log(`yeah, you got a job, man. 😺 ${result.body.metadata.name}`);
@@ -24,10 +24,8 @@ import commandPortForward from "./commandPortForward";
24
24
  import commandTriggerCronjob from "./commandTriggerCronjob";
25
25
 
26
26
  import commandOpenGrafanaPod from "./commandOpenGrafanaPod";
27
- import commandReloadConfig from "./commandReloadConfig";
28
27
 
29
28
  export default async (vorpal: Vorpal) => {
30
- commandReloadConfig(vorpal);
31
29
  commandSetup(vorpal);
32
30
 
33
31
  commandEnvVars(vorpal);
@@ -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
- const variables = await doGitlabRequest(
10
- instance,
11
- `projects/${projectId}/variables`
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
  );
@@ -1,6 +1,6 @@
1
1
  import { Context, getKubernetesNamespace } from "@catladder/pipeline";
2
2
  import { V1Namespace, V1ObjectMeta } from "@kubernetes/client-node";
3
- import k8sApi from "../../../../../k8sApi";
3
+ import { getk8sApi } from "../../../../../k8sApi";
4
4
 
5
5
  export default async function (context: Context) {
6
6
  const namespace = getKubernetesNamespace(
@@ -31,6 +31,7 @@ export default async function (context: Context) {
31
31
  };
32
32
 
33
33
  namespaceBody.metadata = metadata;
34
+ const k8sApi = getk8sApi();
34
35
  try {
35
36
  await k8sApi.readNamespace(namespace);
36
37
 
@@ -4,7 +4,6 @@ import { writeFile } from "fs-extra";
4
4
  import { dump } from "js-yaml";
5
5
  import { format } from "prettier";
6
6
  import { CommandInstance } from "vorpal";
7
- import { reloadConfig } from "../../../config/getProjectConfig";
8
7
  import { getGitRoot } from "../../../utils/projects";
9
8
 
10
9
  export const writeConfig = async (
@@ -67,7 +66,6 @@ export const writeConfig = async (
67
66
  );
68
67
  await exec("git add " + file);
69
68
  }
70
- await reloadConfig();
71
69
  vorpal.log("done!");
72
70
  vorpal.log("");
73
71
  };
@@ -3,29 +3,42 @@ import {
3
3
  getAllEnvs,
4
4
  getEnvironment as _getEnvironment,
5
5
  createContext,
6
+ getSecretVarName,
7
+ Config,
6
8
  } from "@catladder/pipeline";
7
9
 
8
10
  import { CommandInstance } from "vorpal";
9
- import { getAllVariables } from "../utils/gitlab";
10
- import memoizee from "memoizee";
11
+ import { getAllVariables, getVariableValueByRawName } from "../utils/gitlab";
12
+
11
13
  import { getGitRoot } from "../utils/projects";
12
14
  import { readYaml } from "../utils/files";
13
- // currently cant change
14
-
15
- export const getProjectConfig = memoizee(
16
- async () => {
17
- try {
18
- const gitRoot = await getGitRoot();
19
- return readConfigSync(gitRoot);
20
- } catch (e) {
21
- // ignore
22
- return null;
23
- }
24
- },
25
- { promise: true }
26
- );
27
-
28
- export const reloadConfig = () => getProjectConfig.clear();
15
+ import { watch } from "fs";
16
+
17
+ let currentConfig: Config = null;
18
+
19
+ // reload the config on change
20
+ const reloadConfigAndObserve = async () => {
21
+ const gitRoot = await getGitRoot();
22
+ const result = readConfigSync(gitRoot);
23
+ if (!result) {
24
+ // can't do anything, there is no config
25
+ return;
26
+ }
27
+ const { config, path } = result;
28
+ const watcher = watch(path, () => {
29
+ watcher.close();
30
+ reloadConfigAndObserve();
31
+ });
32
+ currentConfig = config;
33
+ };
34
+
35
+ export const getProjectConfig = async () => {
36
+ if (!currentConfig) {
37
+ // initially
38
+ await reloadConfigAndObserve();
39
+ }
40
+ return currentConfig;
41
+ };
29
42
 
30
43
  export const getGitlabCiFilePath = async () => {
31
44
  const gitRoot = await getGitRoot();
@@ -98,9 +111,20 @@ export const getAllPipelineContexts = async () => {
98
111
 
99
112
  export const getEnvironment = async (env: string, componentName: string) => {
100
113
  const config = await getProjectConfig();
114
+
101
115
  return _getEnvironment(config, componentName, env);
102
116
  };
103
117
 
118
+ export const getGitlabVar = async (
119
+ vorpal: CommandInstance,
120
+ env: string,
121
+ componentName: string,
122
+ variableName: string
123
+ ) => {
124
+ const rawVariableName = getSecretVarName(env, componentName, variableName);
125
+ return await getVariableValueByRawName(vorpal, rawVariableName);
126
+ };
127
+
104
128
  const resolveSecrets = async (
105
129
  vorpal: CommandInstance,
106
130
  allEnvVars: Record<string, string>
@@ -109,16 +133,15 @@ const resolveSecrets = async (
109
133
 
110
134
  return Object.fromEntries(
111
135
  Object.entries(allEnvVars).map(([key, value]) => {
112
- const isSecret = String(value)?.startsWith?.("$CL_");
113
- if (isSecret) {
114
- // secrets have CL_XXXX structure
115
- const found = allVariablesInGitlab.find((v) => "$" + v.key === value);
116
-
117
- if (found) {
118
- return [key, found.value];
119
- } else {
120
- return [key, ""];
136
+ const containsSecret = String(value)?.includes?.("$CL_");
137
+ if (containsSecret) {
138
+ for (const variable of allVariablesInGitlab) {
139
+ value = value.replace(
140
+ new RegExp("\\$" + variable.key, "g"),
141
+ variable.value
142
+ );
121
143
  }
144
+ return [key, value];
122
145
  }
123
146
  return [key, value];
124
147
  })
@@ -131,6 +154,7 @@ export const getEnvVars = async (
131
154
  componentName: string
132
155
  ) => {
133
156
  const envionment = await getEnvironment(env, componentName);
134
-
157
+ // in the pipeline the secrets alreadyy exists and bash will expand them
158
+ // but here we need to manually load them
135
159
  return resolveSecrets(vorpal, envionment.envVars);
136
160
  };
@@ -5,17 +5,29 @@ import {
5
5
  BatchV1beta1Api,
6
6
  } from "@kubernetes/client-node";
7
7
 
8
- const kc = new KubeConfig();
9
-
10
- export const reload = () => {
8
+ const getKubeConfig = () => {
9
+ const kc = new KubeConfig();
11
10
  kc.loadFromDefault();
11
+ return kc;
12
12
  };
13
+ /**
14
+ * get kubernetes client. avoid reusing the instance when context get changed
15
+ * @returns kuberenetes client
16
+ */
17
+ export const getk8sApi = () => {
18
+ const kc = getKubeConfig();
13
19
 
14
- reload();
20
+ return kc.makeApiClient(CoreV1Api);
21
+ };
15
22
 
16
- const k8sApi = kc.makeApiClient(CoreV1Api);
23
+ export const getk8sApiBatch = () => {
24
+ const kc = getKubeConfig();
17
25
 
18
- export const k8sApiBatch = kc.makeApiClient(BatchV1Api);
19
- export const k8sApiBatchBeta = kc.makeApiClient(BatchV1beta1Api);
26
+ return kc.makeApiClient(BatchV1Api);
27
+ };
20
28
 
21
- export default k8sApi;
29
+ export const getk8sApiBatchBeta = () => {
30
+ const kc = getKubeConfig();
31
+
32
+ return kc.makeApiClient(BatchV1beta1Api);
33
+ };
@@ -1,5 +1,4 @@
1
1
  import { $ } from "zx";
2
- import { reload } from "../k8sApi";
3
2
 
4
3
  export const getCurrentContext = async () =>
5
4
  (await $`kubectl config current-context`).stdout.trim();
@@ -10,5 +9,4 @@ export const getCurrentConnectedClusterName = async () => {
10
9
 
11
10
  export const connectToCluster = async (fullname: string) => {
12
11
  await $`kubectl config use-context ${fullname}`;
13
- reload();
14
12
  };
@@ -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