@catladder/cli 0.0.0-f-cli → 0.0.0-test4

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 (188) hide show
  1. package/package.json +1 -1
  2. package/dist/apps/catenv/catenv.d.ts +0 -2
  3. package/dist/apps/catenv/catenv.js +0 -37
  4. package/dist/apps/catenv/catenv.js.map +0 -1
  5. package/dist/apps/shell/commands/general/index.d.ts +0 -4
  6. package/dist/apps/shell/commands/general/index.js +0 -104
  7. package/dist/apps/shell/commands/general/index.js.map +0 -1
  8. package/dist/apps/shell/commands/general/namespaceAutoCompletion.d.ts +0 -3
  9. package/dist/apps/shell/commands/general/namespaceAutoCompletion.js +0 -11
  10. package/dist/apps/shell/commands/general/namespaceAutoCompletion.js.map +0 -1
  11. package/dist/apps/shell/commands/general/portForward.d.ts +0 -3
  12. package/dist/apps/shell/commands/general/portForward.js +0 -42
  13. package/dist/apps/shell/commands/general/portForward.js.map +0 -1
  14. package/dist/apps/shell/commands/mongodb/index.d.ts +0 -3
  15. package/dist/apps/shell/commands/mongodb/index.js +0 -14
  16. package/dist/apps/shell/commands/mongodb/index.js.map +0 -1
  17. package/dist/apps/shell/commands/mongodb/projectMongoDestroyMember.d.ts +0 -3
  18. package/dist/apps/shell/commands/mongodb/projectMongoDestroyMember.js +0 -93
  19. package/dist/apps/shell/commands/mongodb/projectMongoDestroyMember.js.map +0 -1
  20. package/dist/apps/shell/commands/mongodb/projectMongoGetShell.d.ts +0 -3
  21. package/dist/apps/shell/commands/mongodb/projectMongoGetShell.js +0 -36
  22. package/dist/apps/shell/commands/mongodb/projectMongoGetShell.js.map +0 -1
  23. package/dist/apps/shell/commands/mongodb/projectMongoPortForward.d.ts +0 -3
  24. package/dist/apps/shell/commands/mongodb/projectMongoPortForward.js +0 -43
  25. package/dist/apps/shell/commands/mongodb/projectMongoPortForward.js.map +0 -1
  26. package/dist/apps/shell/commands/mongodb/utils/index.d.ts +0 -14
  27. package/dist/apps/shell/commands/mongodb/utils/index.js +0 -61
  28. package/dist/apps/shell/commands/mongodb/utils/index.js.map +0 -1
  29. package/dist/apps/shell/commands/project/commandCloudSqlProxy.d.ts +0 -3
  30. package/dist/apps/shell/commands/project/commandCloudSqlProxy.js +0 -45
  31. package/dist/apps/shell/commands/project/commandCloudSqlProxy.js.map +0 -1
  32. package/dist/apps/shell/commands/project/commandConfigSecrets.d.ts +0 -3
  33. package/dist/apps/shell/commands/project/commandConfigSecrets.js +0 -171
  34. package/dist/apps/shell/commands/project/commandConfigSecrets.js.map +0 -1
  35. package/dist/apps/shell/commands/project/commandCopyDB.d.ts +0 -3
  36. package/dist/apps/shell/commands/project/commandCopyDB.js +0 -69
  37. package/dist/apps/shell/commands/project/commandCopyDB.js.map +0 -1
  38. package/dist/apps/shell/commands/project/commandDeletePods.d.ts +0 -3
  39. package/dist/apps/shell/commands/project/commandDeletePods.js +0 -45
  40. package/dist/apps/shell/commands/project/commandDeletePods.js.map +0 -1
  41. package/dist/apps/shell/commands/project/commandDeleteProject.d.ts +0 -3
  42. package/dist/apps/shell/commands/project/commandDeleteProject.js +0 -28
  43. package/dist/apps/shell/commands/project/commandDeleteProject.js.map +0 -1
  44. package/dist/apps/shell/commands/project/commandEnvVars.d.ts +0 -3
  45. package/dist/apps/shell/commands/project/commandEnvVars.js +0 -14
  46. package/dist/apps/shell/commands/project/commandEnvVars.js.map +0 -1
  47. package/dist/apps/shell/commands/project/commandGetMyTotalWorktime.d.ts +0 -3
  48. package/dist/apps/shell/commands/project/commandGetMyTotalWorktime.js +0 -11
  49. package/dist/apps/shell/commands/project/commandGetMyTotalWorktime.js.map +0 -1
  50. package/dist/apps/shell/commands/project/commandGetShell.d.ts +0 -3
  51. package/dist/apps/shell/commands/project/commandGetShell.js +0 -30
  52. package/dist/apps/shell/commands/project/commandGetShell.js.map +0 -1
  53. package/dist/apps/shell/commands/project/commandGitlabCi.d.ts +0 -3
  54. package/dist/apps/shell/commands/project/commandGitlabCi.js +0 -86
  55. package/dist/apps/shell/commands/project/commandGitlabCi.js.map +0 -1
  56. package/dist/apps/shell/commands/project/commandInitGitlab.d.ts +0 -3
  57. package/dist/apps/shell/commands/project/commandInitGitlab.js +0 -116
  58. package/dist/apps/shell/commands/project/commandInitGitlab.js.map +0 -1
  59. package/dist/apps/shell/commands/project/commandInitProject.d.ts +0 -3
  60. package/dist/apps/shell/commands/project/commandInitProject.js +0 -244
  61. package/dist/apps/shell/commands/project/commandInitProject.js.map +0 -1
  62. package/dist/apps/shell/commands/project/commandListPods.d.ts +0 -3
  63. package/dist/apps/shell/commands/project/commandListPods.js +0 -19
  64. package/dist/apps/shell/commands/project/commandListPods.js.map +0 -1
  65. package/dist/apps/shell/commands/project/commandMigrateHelm3.d.ts +0 -7
  66. package/dist/apps/shell/commands/project/commandMigrateHelm3.js +0 -44
  67. package/dist/apps/shell/commands/project/commandMigrateHelm3.js.map +0 -1
  68. package/dist/apps/shell/commands/project/commandNamespace.d.ts +0 -3
  69. package/dist/apps/shell/commands/project/commandNamespace.js +0 -11
  70. package/dist/apps/shell/commands/project/commandNamespace.js.map +0 -1
  71. package/dist/apps/shell/commands/project/commandOpenCostDashboard.d.ts +0 -3
  72. package/dist/apps/shell/commands/project/commandOpenCostDashboard.js +0 -22
  73. package/dist/apps/shell/commands/project/commandOpenCostDashboard.js.map +0 -1
  74. package/dist/apps/shell/commands/project/commandOpenDashboard.d.ts +0 -3
  75. package/dist/apps/shell/commands/project/commandOpenDashboard.js +0 -22
  76. package/dist/apps/shell/commands/project/commandOpenDashboard.js.map +0 -1
  77. package/dist/apps/shell/commands/project/commandOpenEnv.d.ts +0 -3
  78. package/dist/apps/shell/commands/project/commandOpenEnv.js +0 -19
  79. package/dist/apps/shell/commands/project/commandOpenEnv.js.map +0 -1
  80. package/dist/apps/shell/commands/project/commandOpenGit.d.ts +0 -3
  81. package/dist/apps/shell/commands/project/commandOpenGit.js +0 -9
  82. package/dist/apps/shell/commands/project/commandOpenGit.js.map +0 -1
  83. package/dist/apps/shell/commands/project/commandOpenGrafana.d.ts +0 -3
  84. package/dist/apps/shell/commands/project/commandOpenGrafana.js +0 -22
  85. package/dist/apps/shell/commands/project/commandOpenGrafana.js.map +0 -1
  86. package/dist/apps/shell/commands/project/commandOpenGrafanaPod.d.ts +0 -3
  87. package/dist/apps/shell/commands/project/commandOpenGrafanaPod.js +0 -34
  88. package/dist/apps/shell/commands/project/commandOpenGrafanaPod.js.map +0 -1
  89. package/dist/apps/shell/commands/project/commandOpenLogs.d.ts +0 -3
  90. package/dist/apps/shell/commands/project/commandOpenLogs.js +0 -22
  91. package/dist/apps/shell/commands/project/commandOpenLogs.js.map +0 -1
  92. package/dist/apps/shell/commands/project/commandPauseProject.d.ts +0 -3
  93. package/dist/apps/shell/commands/project/commandPauseProject.js +0 -28
  94. package/dist/apps/shell/commands/project/commandPauseProject.js.map +0 -1
  95. package/dist/apps/shell/commands/project/commandPortForward.d.ts +0 -3
  96. package/dist/apps/shell/commands/project/commandPortForward.js +0 -40
  97. package/dist/apps/shell/commands/project/commandPortForward.js.map +0 -1
  98. package/dist/apps/shell/commands/project/commandTriggerCronjob.d.ts +0 -3
  99. package/dist/apps/shell/commands/project/commandTriggerCronjob.js +0 -56
  100. package/dist/apps/shell/commands/project/commandTriggerCronjob.js.map +0 -1
  101. package/dist/apps/shell/commands/project/commandVariables.d.ts +0 -3
  102. package/dist/apps/shell/commands/project/commandVariables.js +0 -16
  103. package/dist/apps/shell/commands/project/commandVariables.js.map +0 -1
  104. package/dist/apps/shell/commands/project/index.d.ts +0 -3
  105. package/dist/apps/shell/commands/project/index.js +0 -58
  106. package/dist/apps/shell/commands/project/index.js.map +0 -1
  107. package/dist/apps/shell/commands/project/utils/autocompletions.d.ts +0 -1
  108. package/dist/apps/shell/commands/project/utils/autocompletions.js +0 -11
  109. package/dist/apps/shell/commands/project/utils/autocompletions.js.map +0 -1
  110. package/dist/apps/shell/commands/project/utils/ensureCluster.d.ts +0 -1
  111. package/dist/apps/shell/commands/project/utils/ensureCluster.js +0 -30
  112. package/dist/apps/shell/commands/project/utils/ensureCluster.js.map +0 -1
  113. package/dist/apps/shell/commands/project/utils/ensureNamespace.d.ts +0 -2
  114. package/dist/apps/shell/commands/project/utils/ensureNamespace.js +0 -39
  115. package/dist/apps/shell/commands/project/utils/ensureNamespace.js.map +0 -1
  116. package/dist/apps/shell/commands/project/utils/monorepo.d.ts +0 -12
  117. package/dist/apps/shell/commands/project/utils/monorepo.js +0 -45
  118. package/dist/apps/shell/commands/project/utils/monorepo.js.map +0 -1
  119. package/dist/apps/shell/commands/shared/index.d.ts +0 -2
  120. package/dist/apps/shell/commands/shared/index.js +0 -22
  121. package/dist/apps/shell/commands/shared/index.js.map +0 -1
  122. package/dist/apps/shell/commands/theStuffThatReallyMatters/index.d.ts +0 -3
  123. package/dist/apps/shell/commands/theStuffThatReallyMatters/index.js +0 -51
  124. package/dist/apps/shell/commands/theStuffThatReallyMatters/index.js.map +0 -1
  125. package/dist/apps/shell/shell.d.ts +0 -2
  126. package/dist/apps/shell/shell.js +0 -32
  127. package/dist/apps/shell/shell.js.map +0 -1
  128. package/dist/apps/shell/utils/getGoogleAuthUserNumber.d.ts +0 -1
  129. package/dist/apps/shell/utils/getGoogleAuthUserNumber.js +0 -20
  130. package/dist/apps/shell/utils/getGoogleAuthUserNumber.js.map +0 -1
  131. package/dist/config/clusters.d.ts +0 -14
  132. package/dist/config/clusters.js +0 -24
  133. package/dist/config/clusters.js.map +0 -1
  134. package/dist/config/constants.d.ts +0 -4
  135. package/dist/config/constants.js +0 -8
  136. package/dist/config/constants.js.map +0 -1
  137. package/dist/index.d.ts +0 -1
  138. package/dist/index.js +0 -21
  139. package/dist/index.js.map +0 -1
  140. package/dist/k8sApi/index.d.ts +0 -5
  141. package/dist/k8sApi/index.js +0 -11
  142. package/dist/k8sApi/index.js.map +0 -1
  143. package/dist/packageInfos.d.ts +0 -2
  144. package/dist/packageInfos.js +0 -6
  145. package/dist/packageInfos.js.map +0 -1
  146. package/dist/tsconfig.tsbuildinfo +0 -1
  147. package/dist/types/types.d.ts +0 -19
  148. package/dist/types/types.js +0 -3
  149. package/dist/types/types.js.map +0 -1
  150. package/dist/utils/cluster.d.ts +0 -5
  151. package/dist/utils/cluster.js +0 -28
  152. package/dist/utils/cluster.js.map +0 -1
  153. package/dist/utils/dashboardToken.d.ts +0 -2
  154. package/dist/utils/dashboardToken.js +0 -24
  155. package/dist/utils/dashboardToken.js.map +0 -1
  156. package/dist/utils/files.d.ts +0 -2
  157. package/dist/utils/files.js +0 -24
  158. package/dist/utils/files.js.map +0 -1
  159. package/dist/utils/formatEnvVars.d.ts +0 -2
  160. package/dist/utils/formatEnvVars.js +0 -7
  161. package/dist/utils/formatEnvVars.js.map +0 -1
  162. package/dist/utils/getEditor.d.ts +0 -4
  163. package/dist/utils/getEditor.js +0 -20
  164. package/dist/utils/getEditor.js.map +0 -1
  165. package/dist/utils/gitlab.d.ts +0 -4
  166. package/dist/utils/gitlab.js +0 -64
  167. package/dist/utils/gitlab.js.map +0 -1
  168. package/dist/utils/log.d.ts +0 -1
  169. package/dist/utils/log.js +0 -14
  170. package/dist/utils/log.js.map +0 -1
  171. package/dist/utils/passwordstore/index.d.ts +0 -8
  172. package/dist/utils/passwordstore/index.js +0 -173
  173. package/dist/utils/passwordstore/index.js.map +0 -1
  174. package/dist/utils/portForward.d.ts +0 -4
  175. package/dist/utils/portForward.js +0 -47
  176. package/dist/utils/portForward.js.map +0 -1
  177. package/dist/utils/preferences/index.d.ts +0 -3
  178. package/dist/utils/preferences/index.js +0 -37
  179. package/dist/utils/preferences/index.js.map +0 -1
  180. package/dist/utils/projects/index.d.ts +0 -20
  181. package/dist/utils/projects/index.js +0 -160
  182. package/dist/utils/projects/index.js.map +0 -1
  183. package/dist/utils/promise.d.ts +0 -2
  184. package/dist/utils/promise.js +0 -11
  185. package/dist/utils/promise.js.map +0 -1
  186. package/dist/utils/shell.d.ts +0 -1
  187. package/dist/utils/shell.js +0 -25
  188. package/dist/utils/shell.js.map +0 -1
package/package.json CHANGED
@@ -61,5 +61,5 @@
61
61
  "@typescript-eslint/parser": "^5.8.0",
62
62
  "typescript": "^4.5.4"
63
63
  },
64
- "version": "0.0.0-f-cli"
64
+ "version": "0.0.0-test4"
65
65
  }
@@ -1,2 +0,0 @@
1
- declare const _default: () => Promise<void>;
2
- export default _default;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const projects_1 = require("../../utils/projects");
4
- const monorepo_1 = require("../shell/commands/project/utils/monorepo");
5
- const sanitizeEnvVarName = (name) => name.replace(/[\s\-.]+/g, "_");
6
- exports.default = async () => {
7
- const subapps = await (0, monorepo_1.getSubAppsInMonoRepo)();
8
- const currentSubApp = await (0, monorepo_1.getCurrentSubApp)();
9
- let variables = {};
10
- if (currentSubApp) {
11
- variables = await (0, projects_1.getAllEnvVars)("dev-local", currentSubApp.componentName);
12
- }
13
- else if (subapps.length > 0) {
14
- // when in a monorep and not in a subapp, merge all env vars.
15
- // this is not 100% correct, but better than not exporting any vars at all
16
- // so we also add prefixed variants
17
- variables = await subapps.reduce(async (acc, subapp) => {
18
- const subappvars = await (0, projects_1.getAllEnvVars)("dev-local", subapp.componentName);
19
- return {
20
- ...(await acc),
21
- ...subappvars,
22
- // also add prefixed variants in case
23
- ...Object.fromEntries(Object.entries(subappvars).map(([key, value]) => [
24
- `${sanitizeEnvVarName(subapp.componentName.toUpperCase())}_${key}`,
25
- value,
26
- ])),
27
- };
28
- }, {});
29
- }
30
- else {
31
- variables = await (0, projects_1.getAllEnvVars)("dev-local");
32
- }
33
- console.log(Object.entries(variables)
34
- .map(([key, value]) => `export ${key}='${value}'`)
35
- .join("\n"));
36
- };
37
- //# sourceMappingURL=catenv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catenv.js","sourceRoot":"","sources":["../../../src/apps/catenv/catenv.ts"],"names":[],"mappings":";;AAAA,mDAAqD;AACrD,uEAGkD;AAElD,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC5E,kBAAe,KAAK,IAAI,EAAE;IACxB,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAoB,GAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC;IAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,aAAa,EAAE;QACjB,SAAS,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;KAC3E;SAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,6DAA6D;QAC7D,0EAA0E;QAC1E,mCAAmC;QACnC,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACrD,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1E,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,GAAG,UAAU;gBACb,qCAAqC;gBACrC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE;oBAClE,KAAK;iBACN,CAAC,CACH;aACF,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,SAAS,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;KAC9C;IAED,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK,KAAK,GAAG,CAAC;SACjD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import Vorpal from "vorpal";
2
- export declare const getAllNamespacesNames: () => Promise<string[]>;
3
- declare const _default: (vorpal: Vorpal) => void;
4
- export default _default;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAllNamespacesNames = void 0;
7
- const memoizee_1 = __importDefault(require("memoizee"));
8
- const k8sApi_1 = __importDefault(require("../../../../k8sApi"));
9
- const cluster_1 = require("../../../../utils/cluster");
10
- const log_1 = require("../../../../utils/log");
11
- const passwordstore_1 = require("../../../../utils/passwordstore");
12
- const portForward_1 = require("../../../../utils/portForward");
13
- const shell_1 = require("../../../../utils/shell");
14
- const getGoogleAuthUserNumber_1 = require("../../utils/getGoogleAuthUserNumber");
15
- const shared_1 = require("../shared");
16
- const namespaceAutoCompletion_1 = require("./namespaceAutoCompletion");
17
- const portForward_2 = __importDefault(require("./portForward"));
18
- const getAllNamespaces = (0, memoizee_1.default)(async () => {
19
- const res = await k8sApi_1.default.listNamespace();
20
- return res.body.items;
21
- }, { maxAge: 30000, promise: true });
22
- const getAllNamespacesNames = async () => {
23
- const namespaces = await getAllNamespaces();
24
- return namespaces.map((n) => n.metadata.name);
25
- };
26
- exports.getAllNamespacesNames = getAllNamespacesNames;
27
- exports.default = (vorpal) => {
28
- vorpal
29
- .command("connect-cluster <clustername>")
30
- .autocomplete((0, cluster_1.getAllClusterNames)())
31
- .action(async function ({ clustername }) {
32
- this.log(`connecting to ${clustername}`);
33
- await (0, cluster_1.connectToCluster)(clustername);
34
- });
35
- vorpal.command("current-context").action(async function () {
36
- this.log(await (0, cluster_1.getCurrentContext)());
37
- });
38
- vorpal
39
- .command("list-namespaces", "list all namespaces")
40
- .action(async function () {
41
- const namespaces = await (0, exports.getAllNamespacesNames)();
42
- this.log(namespaces.join("\n"));
43
- });
44
- vorpal
45
- .command("list-secrets <namespace>", "show secrets")
46
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
47
- .action(async function ({ namespace }) {
48
- const res = await k8sApi_1.default.listNamespacedSecret(namespace);
49
- this.log(res.body.items.map((n) => n.metadata.name).join("\n"));
50
- });
51
- vorpal.command("bw-sync", "force sync bitwarden").action(async function () {
52
- await (0, passwordstore_1.syncBitwarden)(true);
53
- this.log("done");
54
- });
55
- vorpal
56
- .command("list-pods <namespace>", "list all pods of namespace")
57
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
58
- .action(async function ({ namespace }) {
59
- const res = await k8sApi_1.default.listNamespacedPod(namespace);
60
- this.log(res.body.items.map((n) => n.metadata.name).join("\n"));
61
- });
62
- vorpal
63
- .command("stop-portforward <name>", "stop a running port forward")
64
- .autocomplete({ data: async () => (0, portForward_1.getAllRunningPortForwards)() })
65
- .action(async function ({ name }) {
66
- (0, portForward_1.stopPortForward)(name.trim());
67
- });
68
- vorpal
69
- .command("open-dashboard <namespace>", "open kubernetes dashboard")
70
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
71
- .action(async function ({ namespace }) {
72
- const clustername = await (0, cluster_1.getCurrentConnectedClusterName)();
73
- const authGoogleNumber = await getGoogleAuthUserNumber_1.getGoogleAuthUserNumber.call(this, vorpal);
74
- await (0, shared_1.openGoogleCloudKubernetesDashboard)(authGoogleNumber, clustername, namespace);
75
- });
76
- vorpal
77
- .command("open-logs <namespace>", "open google cloud logs (stackdriver stuff)")
78
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
79
- .action(async function ({ namespace }) {
80
- const clustername = await (0, cluster_1.getCurrentConnectedClusterName)();
81
- const authGoogleNumber = await getGoogleAuthUserNumber_1.getGoogleAuthUserNumber.call(this, vorpal);
82
- await (0, shared_1.openGoogleCloudLogs)(authGoogleNumber, clustername, namespace);
83
- });
84
- vorpal
85
- .command("get-shell <namespace>", "get a shell to a pod in the environment")
86
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
87
- .action(async function ({ namespace }) {
88
- const res = await k8sApi_1.default.listNamespacedPod(namespace);
89
- if (res.body.items.length === 0) {
90
- (0, log_1.logError)(this, "sorry, no pods found");
91
- return;
92
- }
93
- const podNames = res.body.items.map((i) => i.metadata.name);
94
- const { podName } = await this.prompt({
95
- type: "list",
96
- name: "podName",
97
- choices: podNames,
98
- message: "Which pod? 🤔",
99
- });
100
- await (0, shell_1.getShell)(namespace, podName);
101
- });
102
- (0, portForward_2.default)(vorpal);
103
- };
104
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/general/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const namespaceAutoCompletion: {
2
- data(): Promise<string[]>;
3
- };
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.namespaceAutoCompletion = void 0;
4
- const index_1 = require("./index");
5
- exports.namespaceAutoCompletion = {
6
- async data() {
7
- const namespaces = await (0, index_1.getAllNamespacesNames)();
8
- return namespaces;
9
- }
10
- };
11
- //# sourceMappingURL=namespaceAutoCompletion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namespaceAutoCompletion.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/general/namespaceAutoCompletion.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AACnC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,IAAI;QACR,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Vorpal.Command;
3
- export default _default;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const log_1 = require("../../../../utils/log");
7
- const portForward_1 = require("../../../../utils/portForward");
8
- const k8sApi_1 = __importDefault(require("../../../../k8sApi"));
9
- const namespaceAutoCompletion_1 = require("./namespaceAutoCompletion");
10
- exports.default = (vorpal) => vorpal
11
- .command("port-forward <namespace>", "start port-forwarding")
12
- .autocomplete(namespaceAutoCompletion_1.namespaceAutoCompletion)
13
- .action(async function ({ namespace }) {
14
- const res = await k8sApi_1.default.listNamespacedPod(namespace);
15
- if (res.body.items.length === 0) {
16
- (0, log_1.logError)(this, "sorry, no pods found");
17
- return;
18
- }
19
- const podNames = res.body.items.map((i) => i.metadata.name);
20
- if (podNames.length === 0) {
21
- (0, log_1.logError)(this, "sorry, no pods found");
22
- return;
23
- }
24
- const { podName } = await this.prompt({
25
- type: "list",
26
- name: "podName",
27
- choices: podNames,
28
- message: "Which pod? 🤔",
29
- });
30
- const { localPort } = await this.prompt({
31
- type: "number",
32
- name: "localPort",
33
- message: "Local port: ",
34
- });
35
- const { remotePort } = await this.prompt({
36
- type: "number",
37
- name: "remotePort",
38
- message: "Remote port: ",
39
- });
40
- return (0, portForward_1.startPortForward)(podName, localPort, remotePort, namespace);
41
- });
42
- //# sourceMappingURL=portForward.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portForward.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/general/portForward.ts"],"names":[],"mappings":";;;;;AACA,+CAAiD;AAEjD,+DAAiE;AAEjE,gEAAwC;AACxC,uEAAoE;AAEpE,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,0BAA0B,EAAE,uBAAuB,CAAC;KAC5D,YAAY,CAAC,iDAAuB,CAAC;KACrC,MAAM,CAAC,KAAK,WAAW,EAAE,SAAS,EAAE;IACnC,MAAM,GAAG,GAAG,MAAM,gBAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvC,OAAO;KACR;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QAEjB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAElB,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,OAAO,IAAA,8BAAgB,EAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => void;
3
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const projectMongoDestroyMember_1 = __importDefault(require("./projectMongoDestroyMember"));
7
- const projectMongoGetShell_1 = __importDefault(require("./projectMongoGetShell"));
8
- const projectMongoPortForward_1 = __importDefault(require("./projectMongoPortForward"));
9
- exports.default = (vorpal) => {
10
- (0, projectMongoGetShell_1.default)(vorpal);
11
- (0, projectMongoPortForward_1.default)(vorpal);
12
- (0, projectMongoDestroyMember_1.default)(vorpal);
13
- };
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/mongodb/index.ts"],"names":[],"mappings":";;;;;AACA,4FAAoE;AACpE,kFAA0D;AAC1D,wFAAgE;AAEhE,kBAAe,CAAC,MAAc,EAAE,EAAE;IAChC,IAAA,8BAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,mCAAyB,EAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Vorpal.Command;
3
- export default _default;
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const child_process_promise_1 = require("child-process-promise");
7
- const log_1 = require("../../../../utils/log");
8
- const projects_1 = require("../../../../utils/projects");
9
- const autocompletions_1 = require("../project/utils/autocompletions");
10
- const ensureCluster_1 = __importDefault(require("../project/utils/ensureCluster"));
11
- const utils_1 = require("./utils");
12
- const removeFinalizer = async (namespace, type, name) => (0, child_process_promise_1.exec)(`kubectl patch --namespace ${namespace} ${type} ${name} -p '{"metadata":{"finalizers":null}}'`);
13
- const deleteResource = async (namespace, type, name) => (0, child_process_promise_1.exec)(`kubectl delete --namespace ${namespace} ${type} ${name}`);
14
- const removeFinalizerAndDelete = async (namespace, type, name) => {
15
- return Promise.all([
16
- removeFinalizer(namespace, type, name),
17
- await deleteResource(namespace, type, name)
18
- ]);
19
- };
20
- exports.default = (vorpal) => vorpal
21
- .command("project-mongo-destroy-member <env>", "DESTROY a member of a replicaset in order to reinitialize it")
22
- .autocomplete(autocompletions_1.envAutocompletion)
23
- .action(async function ({ env }) {
24
- await ensureCluster_1.default.call(this);
25
- this.log("this command tries to delete a (secondary) member of the replicaset, it's persistent volume claim (pvc) and the volume");
26
- this.log("");
27
- this.log("this is useful, if you update the stateful set with new volume configuration (different size or storage class)");
28
- this.log("");
29
- this.log("Kubernetes will usually recreate the missing member with the updated config and mongodb will start synchronizing the new member.");
30
- this.log("");
31
- this.log("This works without downtime, but should be done when load on the db is low. Also it has not been tested with large dbs (> 10gi)");
32
- this.log("");
33
- this.log("Deleting the volume and claim often stuck, just wait or cancel and restart.");
34
- this.log("");
35
- const { understood } = await this.prompt({
36
- default: true,
37
- message: "DO YOU UNDERSTAND?",
38
- name: "understood",
39
- type: "confirm"
40
- });
41
- if (!understood) {
42
- throw new Error("abort");
43
- }
44
- const namespace = await (0, projects_1.getProjectNamespace)(env);
45
- const mongodbPods = await (0, utils_1.getMongoDbPodsWithReplInfo)(env);
46
- const pvcs = await (0, projects_1.getProjectPvcs)(env);
47
- const secondaries = mongodbPods.filter(pod => !pod.isMaster);
48
- if (secondaries.length === 0) {
49
- (0, log_1.logError)(this, "sorry, no pods found");
50
- return;
51
- }
52
- const podName = (await this.prompt({
53
- type: "list",
54
- name: "podName",
55
- choices: secondaries.map(p => ({
56
- name: `[ secondary ] ${p.podName}`,
57
- value: p.podName
58
- })),
59
- message: "Which pod? 🤔"
60
- })).podName;
61
- const thePvc = pvcs.find(pvc => pvc.metadata.name === `datadir-${podName}`);
62
- if (!thePvc) {
63
- (0, log_1.logError)(this, `sorry, no pvc found for ${podName}`);
64
- return;
65
- }
66
- const { shouldContinue } = await this.prompt({
67
- default: true,
68
- message: "THIS WILL DESTROY THE POD, ITS VOLUME AND ALL ITS DATA 🙀🙀🙀!!! continue? 🤔",
69
- name: "shouldContinue",
70
- type: "confirm"
71
- });
72
- if (!shouldContinue) {
73
- throw new Error("abort");
74
- }
75
- // force delete, see https://github.com/kubernetes/kubernetes/issues/77258#issuecomment-502209800
76
- this.log("destroying volume...");
77
- try {
78
- await removeFinalizerAndDelete(namespace, "pv", thePvc.spec.volumeName);
79
- }
80
- catch (e) {
81
- this.log(e.message);
82
- }
83
- this.log("destroying volume claim...");
84
- try {
85
- await removeFinalizerAndDelete(namespace, "pvc", thePvc.metadata.name);
86
- }
87
- catch (e) {
88
- this.log(e.message);
89
- }
90
- this.log("destroying pod...");
91
- await removeFinalizerAndDelete(namespace, "pod", podName);
92
- });
93
- //# sourceMappingURL=projectMongoDestroyMember.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectMongoDestroyMember.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/mongodb/projectMongoDestroyMember.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Vorpal.Command;
3
- export default _default;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const log_1 = require("../../../../utils/log");
7
- const projects_1 = require("../../../../utils/projects");
8
- const autocompletions_1 = require("../project/utils/autocompletions");
9
- const ensureCluster_1 = __importDefault(require("../project/utils/ensureCluster"));
10
- const utils_1 = require("./utils");
11
- exports.default = (vorpal) => vorpal
12
- .command("project-mongo-get-shell <env>", "get a shell to a mongodb in the environment")
13
- .autocomplete(autocompletions_1.envAutocompletion)
14
- .action(async function ({ env }) {
15
- await ensureCluster_1.default.call(this);
16
- const namespace = await (0, projects_1.getProjectNamespace)(env);
17
- const podNames = await (0, utils_1.getProjectMongodbAllPodsSortedWithLabel)(env);
18
- if (podNames.length === 0) {
19
- (0, log_1.logError)(this, "sorry, no pods found");
20
- return;
21
- }
22
- let podName;
23
- if (podNames.length === 1) {
24
- podName = podNames[0];
25
- }
26
- else {
27
- podName = (await this.prompt({
28
- type: "list",
29
- name: "podName",
30
- choices: podNames,
31
- message: "Which pod? 🤔"
32
- })).podName;
33
- }
34
- return (0, utils_1.getMongodbShell)(namespace, podName);
35
- });
36
- //# sourceMappingURL=projectMongoGetShell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectMongoGetShell.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/mongodb/projectMongoGetShell.ts"],"names":[],"mappings":";;;;;AACA,+CAAiD;AACjD,yDAAiE;AACjE,sEAAqE;AACrE,mFAA2D;AAC3D,mCAGiB;AAEjB,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CACN,+BAA+B,EAC/B,6CAA6C,CAC9C;KACA,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,WAAU,EAAE,GAAG,EAAE;IAC5B,MAAM,uBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAuC,EAAC,GAAG,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;KACvB;SAAM;QACL,OAAO,GAAG,CACR,MAAM,IAAI,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC,CACH,CAAC,OAAO,CAAC;KACX;IAED,OAAO,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Vorpal.Command;
3
- export default _default;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const log_1 = require("../../../../utils/log");
7
- const portForward_1 = require("../../../../utils/portForward");
8
- const projects_1 = require("../../../../utils/projects");
9
- const autocompletions_1 = require("../project/utils/autocompletions");
10
- const ensureCluster_1 = __importDefault(require("../project/utils/ensureCluster"));
11
- const utils_1 = require("./utils");
12
- exports.default = (vorpal) => vorpal
13
- .command("project-mongo-port-forward <env>", "port foward to a mongodb")
14
- .autocomplete(autocompletions_1.envAutocompletion)
15
- .action(async function ({ env }) {
16
- await ensureCluster_1.default.call(this);
17
- const namespace = await (0, projects_1.getProjectNamespace)(env);
18
- const podNames = await (0, utils_1.getProjectMongodbAllPodsSortedWithLabel)(env);
19
- if (podNames.length === 0) {
20
- (0, log_1.logError)(this, "sorry, no pods found");
21
- return;
22
- }
23
- let podName;
24
- if (podNames.length === 1) {
25
- podName = podNames[0].value;
26
- }
27
- else {
28
- podName = (await this.prompt({
29
- type: "list",
30
- name: "podName",
31
- choices: podNames,
32
- message: "Which pod? 🤔",
33
- })).podName;
34
- }
35
- const { localPort } = await this.prompt({
36
- type: "number",
37
- name: "localPort",
38
- default: "30000",
39
- message: "Local port: ",
40
- });
41
- return (0, portForward_1.startPortForward)(podName, localPort, 27017, namespace);
42
- });
43
- //# sourceMappingURL=projectMongoPortForward.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projectMongoPortForward.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/mongodb/projectMongoPortForward.ts"],"names":[],"mappings":";;;;;AACA,+CAAiD;AACjD,+DAAiE;AACjE,yDAAiE;AACjE,sEAAqE;AACrE,mFAA2D;AAC3D,mCAAkE;AAElE,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,kCAAkC,EAAE,0BAA0B,CAAC;KACvE,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,WAAW,EAAE,GAAG,EAAE;IAC7B,MAAM,uBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,GAAG,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,IAAA,+CAAuC,EAAC,GAAG,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvC,OAAO;KACR;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAC7B;SAAM;QACL,OAAO,GAAG,CACR,MAAM,IAAI,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC,CACH,CAAC,OAAO,CAAC;KACX;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IACH,OAAO,IAAA,8BAAgB,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { Env } from "../../../../../types/types";
2
- export declare const getProjectMongodbAllPods: (env: Env) => Promise<string[]>;
3
- export declare const getMongodbShell: (namespace: string, podName: string) => Promise<void>;
4
- export declare const executeMongodbCommand: (namespace: string, podName: string, mongoCommand: string) => Promise<any>;
5
- export declare const podIsMaster: (namespace: string, podName: string) => Promise<any>;
6
- export declare const getMongoDbPodsWithReplInfo: (env: Env) => Promise<{
7
- podName: string;
8
- componentName: string;
9
- isMaster: any;
10
- }[]>;
11
- export declare const getProjectMongodbAllPodsSortedWithLabel: (env: Env) => Promise<{
12
- value: string;
13
- name: string;
14
- }[]>;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProjectMongodbAllPodsSortedWithLabel = exports.getMongoDbPodsWithReplInfo = exports.podIsMaster = exports.executeMongodbCommand = exports.getMongodbShell = exports.getProjectMongodbAllPods = void 0;
4
- const child_process_promise_1 = require("child-process-promise");
5
- const projects_1 = require("../../../../../utils/projects");
6
- const filterMongoDbs = (podNames) => podNames.filter((name) => name.includes("mongodb-replicaset"));
7
- const getProjectMongodbAllPods = async (env) => filterMongoDbs(await (0, projects_1.getProjectPodNames)(env));
8
- exports.getProjectMongodbAllPods = getProjectMongodbAllPods;
9
- const getMongodbShell = async (namespace, podName) => {
10
- const command = `kubectl exec -it ${podName} --namespace ${namespace} mongo`;
11
- try {
12
- await (0, child_process_promise_1.spawn)(command, {
13
- shell: true,
14
- stdio: "inherit",
15
- env: {
16
- ...process.env,
17
- DEBUG: "",
18
- },
19
- });
20
- }
21
- catch (e) {
22
- //
23
- }
24
- };
25
- exports.getMongodbShell = getMongodbShell;
26
- const executeMongodbCommand = async (namespace, podName, mongoCommand) => {
27
- const fullCommand = `kubectl exec -it ${podName} --namespace ${namespace} -- mongo --quiet --eval "JSON.stringify(${mongoCommand})"`;
28
- const { stdout } = await (0, child_process_promise_1.exec)(fullCommand, {
29
- env: {
30
- ...process.env,
31
- DEBUG: "",
32
- },
33
- });
34
- return JSON.parse(stdout);
35
- };
36
- exports.executeMongodbCommand = executeMongodbCommand;
37
- const podIsMaster = async (namespace, podName) => {
38
- const result = await (0, exports.executeMongodbCommand)(namespace, podName, "db.isMaster()");
39
- return result.ismaster;
40
- };
41
- exports.podIsMaster = podIsMaster;
42
- const spaces = (n) => " ".repeat(n);
43
- const getMongoDbPodsWithReplInfo = async (env) => {
44
- const namespace = await (0, projects_1.getProjectNamespace)(env);
45
- return (await Promise.all((await (0, exports.getProjectMongodbAllPods)(env)).map(async (podName) => ({
46
- podName,
47
- componentName: podName.replace(/-mongodb-replicaset-[0-9]+/, ""),
48
- isMaster: await (0, exports.podIsMaster)(namespace, podName),
49
- })))).sort((podA, podB) => (podA.isMaster ? (podB.isMaster ? 0 : -1) : 1));
50
- };
51
- exports.getMongoDbPodsWithReplInfo = getMongoDbPodsWithReplInfo;
52
- const getProjectMongodbAllPodsSortedWithLabel = async (env) => {
53
- const pods = await (0, exports.getMongoDbPodsWithReplInfo)(env);
54
- const maxComponentNameLength = Math.max(...pods.map((c) => c.componentName.length));
55
- return pods.map(({ podName, isMaster, componentName }) => ({
56
- value: podName,
57
- name: `[ ${componentName}${spaces(maxComponentNameLength - componentName.length)} ${isMaster ? " PRIMARY " : " secondary "}] ${podName}`,
58
- }));
59
- };
60
- exports.getProjectMongodbAllPodsSortedWithLabel = getProjectMongodbAllPodsSortedWithLabel;
61
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/apps/shell/commands/mongodb/utils/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Vorpal.Command;
3
- export default _default;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const child_process_promise_1 = require("child-process-promise");
4
- const fs_extra_1 = require("fs-extra");
5
- const tmp_promise_1 = require("tmp-promise");
6
- const constants_1 = require("../../../../config/constants");
7
- const passwordstore_1 = require("../../../../utils/passwordstore");
8
- const projects_1 = require("../../../../utils/projects");
9
- const autocompletions_1 = require("./utils/autocompletions");
10
- const monorepo_1 = require("./utils/monorepo");
11
- exports.default = (vorpal) => vorpal
12
- .command("project-cloud-sql-proxy <env>", "proxy to cloud sql db")
13
- .autocomplete(autocompletions_1.envAutocompletion)
14
- .action(async function ({ env }) {
15
- const { CUSTOMER_NAME, APP_NAME } = await (0, projects_1.getLocalProjectVariables)();
16
- // skynet-164509:europe-west6:pvl-cyclomania-review=tcp:5432
17
- const { localPort } = await this.prompt({
18
- type: "number",
19
- name: "localPort",
20
- default: "54320",
21
- message: "Local port: ",
22
- });
23
- const subapp = await (0, monorepo_1.promptForSubAppIfAny)(this);
24
- const POSTGRESQL_PASSWORD = (await (0, projects_1.getAllEnvVars)(env, subapp))
25
- ?.POSTGRESQL_PASSWORD;
26
- const values = await (0, projects_1.getProjectValues)(env, subapp);
27
- this.log("");
28
- this.log(`postgres-PW: ${POSTGRESQL_PASSWORD}`);
29
- this.log("");
30
- const projectId = values?.cloudsql?.projectId || constants_1.GOOGLE_PROJECT;
31
- const defaultInstanceId = `${CUSTOMER_NAME}-${APP_NAME}-${env}`;
32
- const instanceId = values?.cloudsql?.instanceId || defaultInstanceId;
33
- const defaultRegion = "europe-west6"; // currently hardcoded
34
- const region = values?.cloudsql?.region || defaultRegion;
35
- const instanceName = `${projectId}:${region}:${instanceId}=tcp:${localPort}`;
36
- const cloudsqlCredentials = await (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH);
37
- await (0, tmp_promise_1.withFile)(async ({ path: tmpFilePath }) => {
38
- await (0, fs_extra_1.writeFile)(tmpFilePath, cloudsqlCredentials);
39
- await (0, child_process_promise_1.spawn)("cloud_sql_proxy", ["-instances", instanceName, "-credential_file", tmpFilePath], {
40
- stdio: "inherit",
41
- shell: true,
42
- });
43
- });
44
- });
45
- //# sourceMappingURL=commandCloudSqlProxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":";;AAAA,iEAA8C;AAC9C,uCAAqC;AACrC,6CAAuC;AAEvC,4DAGsC;AACtC,mEAA2D;AAC3D,yDAIoC;AACpC,6DAA4D;AAC5D,+CAAwD;AAExD,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,+BAA+B,EAAE,uBAAuB,CAAC;KACjE,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,WAAW,EAAE,GAAG,EAAE;IAC7B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,mCAAwB,GAAE,CAAC;IACrE,4DAA4D;IAE5D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC;IAChD,MAAM,mBAAmB,GAAG,CAAC,MAAM,IAAA,wBAAa,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,EAAE,mBAAmB,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI,0BAAc,CAAC;IAEhE,MAAM,iBAAiB,GAAG,GAAG,aAAa,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,EAAE,QAAQ,EAAE,UAAU,IAAI,iBAAiB,CAAC;IAErE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,sBAAsB;IAC5D,MAAM,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,aAAa,CAAC;IAEzD,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,MAAM,IAAI,UAAU,QAAQ,SAAS,EAAE,CAAC;IAE7E,MAAM,mBAAmB,GAAG,MAAM,IAAA,wBAAQ,EAAC,sCAA0B,CAAC,CAAC;IACvE,MAAM,IAAA,sBAAQ,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;QAC7C,MAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAElD,MAAM,IAAA,6BAAK,EACT,iBAAiB,EACjB,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAC7D;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => void;
3
- export default _default;