@catladder/cli 0.0.0-fix-migrate-string-cmd-508a469f → 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 (90) 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 +27 -19
  7. package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
  8. package/dist/apps/cli/commands/project/commandConfigSecrets.d.ts +2 -1
  9. package/dist/apps/cli/commands/project/commandConfigSecrets.js +175 -110
  10. package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  11. package/dist/apps/cli/commands/project/commandDeletePods.js +4 -3
  12. package/dist/apps/cli/commands/project/commandDeletePods.js.map +1 -1
  13. package/dist/apps/cli/commands/project/{commandInitGitlab.d.ts → commandInitProject.old.d.ts} +0 -0
  14. package/dist/apps/cli/commands/project/{commandInitProject.js → commandInitProject.old.js} +1 -1
  15. package/dist/apps/cli/commands/project/commandInitProject.old.js.map +1 -0
  16. package/dist/apps/cli/commands/project/{commandInitProject.d.ts → commandSetup.d.ts} +0 -0
  17. package/dist/apps/cli/commands/project/{commandReloadConfig.js → commandSetup.js} +4 -8
  18. package/dist/apps/cli/commands/project/commandSetup.js.map +1 -0
  19. package/dist/apps/cli/commands/project/commandTriggerCronjob.js +2 -2
  20. package/dist/apps/cli/commands/project/commandTriggerCronjob.js.map +1 -1
  21. package/dist/apps/cli/commands/project/index.js +3 -6
  22. package/dist/apps/cli/commands/project/index.js.map +1 -1
  23. package/dist/apps/cli/commands/project/setup/index.d.ts +2 -0
  24. package/dist/apps/cli/commands/project/setup/index.js +103 -0
  25. package/dist/apps/cli/commands/project/setup/index.js.map +1 -0
  26. package/dist/apps/cli/commands/project/setup/setupAccessTokens.d.ts +2 -0
  27. package/dist/apps/cli/commands/project/setup/setupAccessTokens.js +115 -0
  28. package/dist/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -0
  29. package/dist/apps/cli/commands/project/setup/setupContext.d.ts +3 -0
  30. package/dist/apps/cli/commands/project/setup/setupContext.js +74 -0
  31. package/dist/apps/cli/commands/project/setup/setupContext.js.map +1 -0
  32. package/dist/apps/cli/commands/project/setup/setupKubernetes.d.ts +3 -0
  33. package/dist/apps/cli/commands/project/setup/setupKubernetes.js +132 -0
  34. package/dist/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -0
  35. package/dist/apps/cli/commands/project/utils/autocompletions.js +1 -1
  36. package/dist/apps/cli/commands/project/utils/autocompletions.js.map +1 -1
  37. package/dist/apps/cli/commands/project/utils/ensureNamespace.js +6 -8
  38. package/dist/apps/cli/commands/project/utils/ensureNamespace.js.map +1 -1
  39. package/dist/apps/cli/config/writeConfig.js +1 -1
  40. package/dist/apps/cli/config/writeConfig.js.map +1 -1
  41. package/dist/apps/cli/verify/migration/fromv2.js +8 -6
  42. package/dist/apps/cli/verify/migration/fromv2.js.map +1 -1
  43. package/dist/config/getProjectConfig.d.ts +8 -5
  44. package/dist/config/getProjectConfig.js +81 -36
  45. package/dist/config/getProjectConfig.js.map +1 -1
  46. package/dist/k8sApi/index.d.ts +7 -5
  47. package/dist/k8sApi/index.js +23 -9
  48. package/dist/k8sApi/index.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/dist/utils/cluster.js +0 -2
  51. package/dist/utils/cluster.js.map +1 -1
  52. package/dist/utils/gitlab.d.ts +1 -0
  53. package/dist/utils/gitlab.js +17 -1
  54. package/dist/utils/gitlab.js.map +1 -1
  55. package/dist/utils/projects/index.js +7 -8
  56. package/dist/utils/projects/index.js.map +1 -1
  57. package/package.json +3 -3
  58. package/src/apps/cli/commands/general/index.ts +6 -7
  59. package/src/apps/cli/commands/general/portForward.ts +2 -1
  60. package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +24 -6
  61. package/src/apps/cli/commands/project/commandConfigSecrets.ts +139 -128
  62. package/src/apps/cli/commands/project/commandDeletePods.ts +2 -1
  63. package/src/apps/cli/commands/project/{commandInitProject.ts → commandInitProject.old.ts} +0 -0
  64. package/src/apps/cli/commands/project/commandSetup.ts +12 -0
  65. package/src/apps/cli/commands/project/commandTriggerCronjob.ts +3 -3
  66. package/src/apps/cli/commands/project/index.ts +4 -6
  67. package/src/apps/cli/commands/project/setup/index.ts +42 -0
  68. package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +72 -0
  69. package/src/apps/cli/commands/project/setup/setupContext.ts +37 -0
  70. package/src/apps/cli/commands/project/setup/setupKubernetes.ts +112 -0
  71. package/src/apps/cli/commands/project/utils/autocompletions.ts +2 -2
  72. package/src/apps/cli/commands/project/utils/ensureNamespace.ts +2 -1
  73. package/src/apps/cli/config/writeConfig.ts +1 -1
  74. package/src/apps/cli/verify/migration/fromv2.ts +4 -2
  75. package/src/config/getProjectConfig.ts +74 -34
  76. package/src/k8sApi/index.ts +20 -8
  77. package/src/utils/cluster.ts +0 -2
  78. package/src/utils/gitlab.ts +11 -0
  79. package/src/utils/projects/index.ts +3 -1
  80. package/dist/apps/cli/commands/project/commandInitGitlab.js +0 -136
  81. package/dist/apps/cli/commands/project/commandInitGitlab.js.map +0 -1
  82. package/dist/apps/cli/commands/project/commandInitProject.js.map +0 -1
  83. package/dist/apps/cli/commands/project/commandReloadConfig.d.ts +0 -3
  84. package/dist/apps/cli/commands/project/commandReloadConfig.js.map +0 -1
  85. package/dist/utils/formatEnvVars.d.ts +0 -2
  86. package/dist/utils/formatEnvVars.js +0 -10
  87. package/dist/utils/formatEnvVars.js.map +0 -1
  88. package/src/apps/cli/commands/project/commandInitGitlab.ts +0 -248
  89. package/src/apps/cli/commands/project/commandReloadConfig.ts +0 -12
  90. 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":"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"}
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-migrate-string-cmd-508a469f",
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",
@@ -24,7 +24,7 @@
24
24
  "dayjs": "^1.10.4",
25
25
  "fs-extra": "^7.0.1",
26
26
  "gitlab": "^4.4.1",
27
- "js-yaml": "^3.12.0",
27
+ "js-yaml": "^4.1.0",
28
28
  "lodash": "^4.17.21",
29
29
  "memoizee": "^0.4.14",
30
30
  "node-fetch": "^2.3.0",
@@ -55,6 +55,6 @@
55
55
  "eslint": "^8.7.0",
56
56
  "typescript": "^4.5.4"
57
57
  },
58
- "version": "0.0.0-fix-migrate-string-cmd-508a469f",
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,15 +29,20 @@ 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")) {
38
37
  throw new Error("currently only supported for kubernetes deployment");
39
38
  }
39
+ this.log("");
40
40
  this.log(`postgres-PW: ${POSTGRESQL_PASSWORD}`);
41
41
  this.log("");
42
+ this.log(
43
+ `POSTGRESQL_URL=postgresql://postgres:${POSTGRESQL_PASSWORD}@localhost:${localPort}/${context.environment.envVars.KUBE_APP_NAME}?schema=public`
44
+ );
45
+ this.log("");
42
46
 
43
47
  const values = context.componentConfig.deploy.values;
44
48
 
@@ -54,9 +58,23 @@ export default async (vorpal: Vorpal) =>
54
58
 
55
59
  const instanceName = `${projectId}:${region}:${instanceId}=tcp:${localPort}`;
56
60
 
57
- 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
+ }
58
76
  await withFile(async ({ path: tmpFilePath }) => {
59
- await writeFile(tmpFilePath, cloudsqlCredentials);
77
+ await writeFile(tmpFilePath, cloudsqlProxyCredentials);
60
78
 
61
79
  await spawn(
62
80
  "cloud_sql_proxy",
@@ -4,6 +4,7 @@ import { difference } from "lodash";
4
4
  import Vorpal, { CommandInstance } from "vorpal";
5
5
  import { GOOGLE_CLOUD_SQL_PASS_PATH } from "../../../../config/constants";
6
6
  import {
7
+ getAllComponentsWithAllEnvsHierarchical,
7
8
  getEnvironment,
8
9
  getEnvVars,
9
10
  getPipelineContextByChoice,
@@ -16,20 +17,30 @@ import { hasBitwarden, readPass } from "../../../../utils/passwordstore";
16
17
  import { delay } from "../../../../utils/promise";
17
18
  import { allEnvsAndAllComponents } from "./utils/autocompletions";
18
19
 
20
+ type Vars = {
21
+ [env: string]: {
22
+ [componentName: string]: Record<string, string>;
23
+ };
24
+ };
19
25
  /* for convenience, parse json objects. that makes it easier to edit secrets that are object */
20
- const resolveJson = (v: Record<string, Record<string, string>>) =>
26
+ const resolveJson = (v: Vars) =>
21
27
  Object.fromEntries(
22
- Object.entries(v).map(([c, secrets]) => {
28
+ Object.entries(v).map(([componentName, envs]) => {
23
29
  return [
24
- c,
30
+ componentName,
25
31
  Object.fromEntries(
26
- Object.entries(secrets).map(([key, value]) => {
27
- try {
28
- return [key, JSON.parse(value)];
29
- } catch (e) {
30
- return [key, value];
31
- }
32
- })
32
+ Object.entries(envs).map(([env, secrets]) => [
33
+ env,
34
+ Object.fromEntries(
35
+ Object.entries(secrets).map(([key, value]) => {
36
+ try {
37
+ return [key, JSON.parse(value)];
38
+ } catch (e) {
39
+ return [key, value];
40
+ }
41
+ })
42
+ ),
43
+ ])
33
44
  ),
34
45
  ];
35
46
  })
@@ -48,14 +59,22 @@ const getEnvVarsToEdit = async (
48
59
  };
49
60
  const doItFor = async (
50
61
  instance: CommandInstance,
51
- env: string,
52
- components: string[]
62
+ envAndComponents: {
63
+ [componentName: string]: string[];
64
+ }
53
65
  ) => {
54
- let valuesToEdit: Record<string, Record<string, string>> = Object.fromEntries(
66
+ let valuesToEdit: Vars = Object.fromEntries(
55
67
  await Promise.all(
56
- components.map(async (componentName) => [
68
+ Object.entries(envAndComponents).map(async ([componentName, envs]) => [
57
69
  componentName,
58
- await getEnvVarsToEdit(instance, env, componentName),
70
+ Object.fromEntries(
71
+ await Promise.all(
72
+ envs.map(async (env) => [
73
+ env,
74
+ await getEnvVarsToEdit(instance, env, componentName),
75
+ ])
76
+ )
77
+ ),
59
78
  ])
60
79
  )
61
80
  );
@@ -64,82 +83,125 @@ const doItFor = async (
64
83
  valuesToEdit = await editAsFile(
65
84
  resolveJson(valuesToEdit),
66
85
  stripIndents`
67
- Please fill in all secrets for: ${components.join(", ")}
86
+ Please fill in all secrets for:
87
+
88
+ ${Object.entries(envAndComponents)
89
+ .map(
90
+ ([componentName, envs]) => `- ${componentName}: ${envs.join(", ")}`
91
+ )
92
+ .join("\n")}
68
93
 
69
94
  `
70
95
  );
71
96
  // check for errors
72
97
  hasErrors = false;
73
- for (const componentName of components) {
74
- const usedKeys = valuesToEdit[componentName]
75
- ? Object.keys(valuesToEdit[componentName])
76
- : [];
77
- // check whether newValues have the exact number of keys
78
- const { secretEnvVarKeys } = await getEnvironment(env, componentName);
79
- const extranous = difference(usedKeys, secretEnvVarKeys);
80
- const missing = difference(secretEnvVarKeys, usedKeys);
98
+ for (const [componentName, envs] of Object.entries(envAndComponents)) {
99
+ for (const env of envs) {
100
+ const usedKeys = valuesToEdit[componentName][env]
101
+ ? Object.keys(valuesToEdit[componentName][env])
102
+ : [];
103
+ // check whether newValues have the exact number of keys
104
+ const { secretEnvVarKeys } = await getEnvironment(env, componentName);
105
+ const extranous = difference(usedKeys, secretEnvVarKeys);
106
+ const missing = difference(secretEnvVarKeys, usedKeys);
81
107
 
82
- if (extranous.length > 0 || missing.length > 0) {
83
- instance.log("");
84
- instance.log(
85
- `😿 Oh no! There is something wrong with "${componentName}"`
86
- );
87
- instance.log("");
88
- if (extranous.length > 0) {
89
- instance.log("these secrets are not declared in the config");
90
- extranous.forEach((key) => instance.log(key));
108
+ if (extranous.length > 0 || missing.length > 0) {
91
109
  instance.log("");
92
- }
93
- if (missing.length > 0) {
94
- instance.log("these secrets have not been provided:");
95
- missing.forEach((key) => instance.log(key));
110
+ instance.log(
111
+ `😿 Oh no! There is something wrong with "${componentName}"`
112
+ );
96
113
  instance.log("");
97
- }
114
+ if (extranous.length > 0) {
115
+ instance.log("these secrets are not declared in the config");
116
+ extranous.forEach((key) => instance.log(key));
117
+ instance.log("");
118
+ }
119
+ if (missing.length > 0) {
120
+ instance.log("these secrets have not been provided:");
121
+ missing.forEach((key) => instance.log(key));
122
+ instance.log("");
123
+ }
98
124
 
99
- await delay(1000);
100
- const { shouldContinue } = await instance.prompt({
101
- default: true,
102
- message: "Try again? 🤔",
103
- name: "shouldContinue",
104
- type: "confirm",
105
- });
125
+ await delay(1000);
126
+ const { shouldContinue } = await instance.prompt({
127
+ default: true,
128
+ message: "Try again? 🤔",
129
+ name: "shouldContinue",
130
+ type: "confirm",
131
+ });
106
132
 
107
- if (!shouldContinue) {
108
- throw new Error("abort");
133
+ if (!shouldContinue) {
134
+ throw new Error("abort");
135
+ }
136
+ hasErrors = true;
109
137
  }
110
- hasErrors = true;
111
138
  }
112
139
  }
113
140
  }
141
+ instance.log("upserting all variables, please wait...");
142
+ instance.log("");
143
+ for (const [componentName, envs] of Object.entries(envAndComponents)) {
144
+ for (const env of envs) {
145
+ await upsertAllVariables(
146
+ instance,
147
+ valuesToEdit[componentName][env],
148
+ env,
149
+ componentName
150
+ );
114
151
 
115
- for (const componentName of components) {
116
- await upsertAllVariables(
117
- instance,
118
- valuesToEdit[componentName],
119
- env,
120
- componentName
121
- );
152
+ if (hasBitwarden()) {
153
+ // add cloud sql secret if needed.
154
+ // TODO: this is legacy, in the future we want to have one service account per app
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
174
+ }
175
+ }
176
+ instance.log("✅ " + env + ":" + componentName);
177
+ }
178
+ }
179
+ instance.log("done! 😻");
180
+ instance.log("");
181
+ };
122
182
 
123
- if (hasBitwarden()) {
124
- // add cloud sql secret if needed.
125
- // TODO: this is legacy, in the future we want to have one service account per app
183
+ export const projectConfigSecrets = async (
184
+ vorpal: CommandInstance,
185
+ envComponent?: string
186
+ ) => {
187
+ if (!envComponent) {
188
+ const allEnvAndcomponents = await getAllComponentsWithAllEnvsHierarchical();
189
+ await doItFor(vorpal, allEnvAndcomponents);
190
+ } else {
191
+ const { env, componentName } = parseChoice(envComponent);
126
192
 
127
- const context = await getPipelineContextByChoice(env, componentName);
128
- if (
129
- context.componentConfig.deploy &&
130
- context.componentConfig.deploy.values?.cloudsql?.enabled
131
- ) {
132
- await upsertAllVariables(
133
- instance,
134
- {
135
- cloudsqlProxyCredentials: await readPass(
136
- GOOGLE_CLOUD_SQL_PASS_PATH
137
- ),
138
- },
139
- env,
140
- componentName
141
- );
142
- }
193
+ // componentName can be null. in this case, iterate over all components
194
+ if (!componentName) {
195
+ const components = await getProjectComponents();
196
+ await doItFor(
197
+ vorpal,
198
+ Object.fromEntries(components.map((c) => [c, [env]]))
199
+ );
200
+ }
201
+ if (componentName) {
202
+ await doItFor(vorpal, {
203
+ [componentName]: [env],
204
+ });
143
205
  }
144
206
  }
145
207
  };
@@ -147,62 +209,11 @@ const doItFor = async (
147
209
  export default async (vorpal: Vorpal) => {
148
210
  vorpal
149
211
  .command(
150
- "project-config-secrets <envComponent>",
212
+ "project-config-secrets [envComponent]",
151
213
  "setup/update secrets stored in pass"
152
214
  )
153
215
  .autocomplete(await allEnvsAndAllComponents())
154
216
  .action(async function ({ envComponent }) {
155
- const { env, componentName } = parseChoice(envComponent);
156
-
157
- // componentName can be null. in this case, iterate over all components
158
- if (!componentName) {
159
- const components = await getProjectComponents();
160
- await doItFor(this, env, components);
161
- }
162
- if (componentName) {
163
- await doItFor(this, env, [componentName]);
164
- }
165
-
166
- /*
167
-
168
-
169
- // adding gcloud sql proxy secret
170
- const cloudsqlCredentials = await readPass(GOOGLE_CLOUD_SQL_PASS_PATH);
171
- await createKubernetesSecret.call(
172
- this,
173
- namespace,
174
- "cloudsql-instance-credentials",
175
- {
176
- "credentials.json": cloudsqlCredentials,
177
- }
178
- );
179
- this.log("");
180
- this.log(
181
- "⚠️ You need to delete/restart pods in order to make them pick up the new config"
182
- );
183
- this.log(`you can use project-delete-pods ${env} to do that`);
184
- this.log("");
185
- this.log("");
186
- await delay(1000);
187
- }
188
- this.log("");
189
- this.log("😻 success!!!!!");
190
- this.log("");
191
- */
217
+ return await projectConfigSecrets(this, envComponent);
192
218
  });
193
- }; /*
194
- async function createNewEnvInPass(env: any, secretEnvVarsMapping: ISecrets) {
195
- // const passPath = await getPassPath(env);
196
- this.log(
197
- "Your selected env is not yet in pass. Do you want to copy it from another env? "
198
- );
199
- const noAnswer = "No, I will create a new one from scratch.";
200
- const { sourceEnv } = await this.prompt({
201
- type: "list",
202
- name: "sourceEnv",
203
- choices: [...(await envAndComponents()).filter((e) => e !== env), noAnswer],
204
- message: "Do you want to copy an env?",
205
- });
206
- // TODO: reimplenent
207
- }
208
- */
219
+ };