@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
@@ -1,171 +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 client_node_1 = require("@kubernetes/client-node");
7
- const js_yaml_1 = __importDefault(require("js-yaml"));
8
- const lodash_1 = require("lodash");
9
- const constants_1 = require("../../../../config/constants");
10
- const k8sApi_1 = __importDefault(require("../../../../k8sApi"));
11
- const log_1 = require("../../../../utils/log");
12
- const passwordstore_1 = require("../../../../utils/passwordstore");
13
- const projects_1 = require("../../../../utils/projects");
14
- const promise_1 = require("../../../../utils/promise");
15
- const autocompletions_1 = require("./utils/autocompletions");
16
- const ensureCluster_1 = __importDefault(require("./utils/ensureCluster"));
17
- const ensureNamespace_1 = __importDefault(require("./utils/ensureNamespace"));
18
- const monorepo_1 = require("./utils/monorepo");
19
- exports.default = (vorpal) => {
20
- vorpal
21
- .command("project-config-secrets <env>", "setup/update secrets stored in pass")
22
- .autocomplete(autocompletions_1.envAutocompletion)
23
- .action(async function ({ env }) {
24
- await ensureCluster_1.default.call(this);
25
- const passPath = await (0, projects_1.getPassPath)(env);
26
- this.log("");
27
- this.log(`😼 I will now open bitwarden @ '${passPath}'`);
28
- this.log("");
29
- const subapp = await (0, monorepo_1.promptForSubAppIfAny)(this);
30
- const secretEnvVarsMapping = await (0, projects_1.getAllSecretsEnvVarsMapping)(env, subapp);
31
- await (0, passwordstore_1.syncBitwarden)();
32
- // check if exist and fill in details if not
33
- try {
34
- await (0, passwordstore_1.readPass)(passPath);
35
- }
36
- catch (e) {
37
- // does not exist. create it
38
- await createNewEnvInPass.call(this, env, secretEnvVarsMapping);
39
- }
40
- let envConfigInPass = null;
41
- // eslint-disable-next-line no-constant-condition
42
- while (true) {
43
- let hasError = false;
44
- await (0, passwordstore_1.editPass)(passPath);
45
- try {
46
- envConfigInPass = await (0, passwordstore_1.readPassEnvVars)(passPath);
47
- const configuredKeysInPass = Object.keys(envConfigInPass);
48
- const allSecretEnvKeysInValues = Object.keys(secretEnvVarsMapping);
49
- const keysNotInValues = (0, lodash_1.difference)(configuredKeysInPass, allSecretEnvKeysInValues);
50
- const keysNotInPass = (0, lodash_1.difference)(allSecretEnvKeysInValues, configuredKeysInPass);
51
- if (keysNotInValues.length > 0) {
52
- this.log("");
53
- this.log(`☝️ Notice: the following keys are defined in pass, but not in values: ${keysNotInValues.join(", ")}`);
54
- this.log(`These values are probably from another app that uses the same namespace.`);
55
- this.log("");
56
- }
57
- if (keysNotInPass.length > 0) {
58
- await (0, log_1.logError)(this, `the following keys are defined in the values.yaml, but not in pass: ${keysNotInPass.join(", ")}`);
59
- hasError = true;
60
- }
61
- }
62
- catch (e) {
63
- await (0, log_1.logError)(this, "failed to parse yaml", e.message);
64
- hasError = true;
65
- }
66
- if (hasError) {
67
- this.log("");
68
- this.log("🤦 You miserably failed to provide something useful 💩");
69
- this.log("");
70
- await (0, promise_1.delay)(1000);
71
- const { shouldContinue } = await this.prompt({
72
- default: true,
73
- message: "Try again? 🤔",
74
- name: "shouldContinue",
75
- type: "confirm",
76
- });
77
- if (!shouldContinue) {
78
- throw new Error("abort");
79
- }
80
- }
81
- else {
82
- break;
83
- }
84
- }
85
- if (env !== "env-local") {
86
- await ensureNamespace_1.default.call(this, env);
87
- this.log("😼 Please be patient while i am doing some complicated stuff... ");
88
- const namespace = await (0, projects_1.getProjectNamespace)(env);
89
- // secrets is object of [key]: secretName
90
- const grouped = Object.keys(secretEnvVarsMapping).reduce((acc, key) => {
91
- const secretName = secretEnvVarsMapping[key];
92
- return {
93
- ...acc,
94
- [secretName]: [...(acc[secretName] || []), key],
95
- };
96
- }, {});
97
- for (const secretName of Object.keys(grouped)) {
98
- const valueKeysInGroup = grouped[secretName];
99
- const valuesFromPassInGroup = (0, lodash_1.pick)(envConfigInPass, valueKeysInGroup);
100
- let existingSecretValues = {};
101
- try {
102
- const existingSecretResult = await k8sApi_1.default.readNamespacedSecret(secretName, namespace);
103
- // tslint:disable-next-line:no-console
104
- if (existingSecretResult && existingSecretResult.body.data) {
105
- existingSecretValues = existingSecretResult.body.data;
106
- }
107
- }
108
- catch (e) {
109
- // ignore
110
- }
111
- await createKubernetesSecret.call(this, namespace, secretName, valuesFromPassInGroup, existingSecretValues);
112
- }
113
- this.log("");
114
- // adding gcloud sql proxy secret
115
- const cloudsqlCredentials = await (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH);
116
- await createKubernetesSecret.call(this, namespace, "cloudsql-instance-credentials", {
117
- "credentials.json": cloudsqlCredentials,
118
- });
119
- this.log("");
120
- this.log("⚠️ You need to delete/restart pods in order to make them pick up the new config");
121
- this.log(`you can use project-delete-pods ${env} to do that`);
122
- this.log("");
123
- this.log("");
124
- await (0, promise_1.delay)(1000);
125
- }
126
- this.log("");
127
- this.log("😻 success!!!!!");
128
- this.log("");
129
- });
130
- };
131
- async function createKubernetesSecret(namespace, secretName, stringData, existingSecretValues) {
132
- const secret = new client_node_1.V1Secret();
133
- secret.metadata = {
134
- name: secretName,
135
- };
136
- secret.data = existingSecretValues;
137
- secret.stringData = stringData;
138
- this.log(`😼 upserting secret '${secretName}' (push it real good!)`);
139
- try {
140
- await k8sApi_1.default.deleteNamespacedSecret(secretName, namespace, "true");
141
- }
142
- catch (e) {
143
- // ignore
144
- }
145
- try {
146
- await k8sApi_1.default.createNamespacedSecret(namespace, secret);
147
- }
148
- catch (e) {
149
- (0, log_1.logError)(this, "error pushing secrets", e.body.message);
150
- }
151
- }
152
- async function createNewEnvInPass(env, secretEnvVarsMapping) {
153
- const passPath = await (0, projects_1.getPassPath)(env);
154
- this.log("Your selected env is not yet in pass. Do you want to copy it from another env? ");
155
- const noAnswer = "No, I will create a new one from scratch.";
156
- const { sourceEnv } = await this.prompt({
157
- type: "list",
158
- name: "sourceEnv",
159
- choices: [...autocompletions_1.envAutocompletion.filter((e) => e !== env), noAnswer],
160
- message: "Do you want to copy an env?",
161
- });
162
- if (sourceEnv === noAnswer) {
163
- await (0, passwordstore_1.insertPass)(passPath, js_yaml_1.default.safeDump((0, lodash_1.mapValues)(secretEnvVarsMapping, (value, key) => "fillme")));
164
- }
165
- else {
166
- const sourceEnvPath = await (0, projects_1.getPassPath)(sourceEnv);
167
- const stdout = await (0, passwordstore_1.readPass)(sourceEnvPath);
168
- await (0, passwordstore_1.insertPass)(passPath, stdout);
169
- }
170
- }
171
- //# sourceMappingURL=commandConfigSecrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandConfigSecrets.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,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const child_process_promise_1 = require("child-process-promise");
4
- const constants_1 = require("../../../../config/constants");
5
- const passwordstore_1 = require("../../../../utils/passwordstore");
6
- const projects_1 = require("../../../../utils/projects");
7
- const autocompletions_1 = require("./utils/autocompletions");
8
- const monorepo_1 = require("./utils/monorepo");
9
- exports.default = (vorpal) => vorpal
10
- .command("copy-db <env>", "replace local db with the one from an env")
11
- .autocomplete(autocompletions_1.envAutocompletion)
12
- .action(async function copyDB({ env }) {
13
- const { CUSTOMER_NAME, APP_NAME, COMPONENT_NAME = "web", } = await (0, projects_1.getLocalProjectVariables)();
14
- const { shouldContinue } = await this.prompt({
15
- type: "confirm",
16
- name: "shouldContinue",
17
- message: "This will drop your local database and replace it with the remote one. Continue? 🤔 ",
18
- });
19
- if (!shouldContinue) {
20
- return;
21
- }
22
- const subapp = await (0, monorepo_1.promptForSubAppIfAny)(this);
23
- const GOOGLE_CLOUD_SQL_REGION = "europe-west6"; // currently hardcoded
24
- const POSTGRESQL_PASSWORD = (await (0, projects_1.getAllEnvVars)(env, subapp))
25
- ?.POSTGRESQL_PASSWORD;
26
- const LOCAL_PORT = 54321;
27
- const instanceName = `${constants_1.GOOGLE_PROJECT}:${GOOGLE_CLOUD_SQL_REGION}:${CUSTOMER_NAME}-${APP_NAME}-${env}=tcp:${LOCAL_PORT}`;
28
- const cloudsqlCredentials = await (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH);
29
- const { POSTGRESQL_URL } = process.env;
30
- const matches = new RegExp(/\w+:\/\/.*@.*\/(\w*)()/g).exec(POSTGRESQL_URL);
31
- if (!matches) {
32
- throw new Error("Could not determine db name.");
33
- }
34
- const localDBName = matches[1];
35
- const copyDBScript = `
36
- set -e
37
- credtmp=$(mktemp /tmp/cred.XXXXXX)
38
- echo '${cloudsqlCredentials}' > $credtmp
39
- echo "Opening connection..."
40
- cloud_sql_proxy -instances ${instanceName} -credential_file $credtmp &> /dev/null &
41
- PROXY_PID=$!
42
-
43
- echo -n "Waiting for proxy"
44
- until echo > /dev/tcp/localhost/${LOCAL_PORT}; do
45
- sleep 0.2
46
- echo -n "."
47
- done 2>/dev/null
48
- echo
49
-
50
- dumptmp=$(mktemp /tmp/dump.XXXXXX)
51
-
52
- echo "Dumping file to $dumptmp"
53
- pg_dump --dbname=postgres://postgres:${POSTGRESQL_PASSWORD}@localhost:${LOCAL_PORT}/${subapp ?? COMPONENT_NAME} --no-owner --no-privileges > $dumptmp
54
- psql -q -c "drop database ${localDBName}" 1> /dev/null
55
- psql -q -c "create database ${localDBName}" 1> /dev/null
56
- echo "Restoring dump..."
57
- psql -q ${localDBName} < $dumptmp 1> /dev/null
58
-
59
- echo "Clean up..."
60
- set +e
61
- kill -9 $PROXY_PID
62
- wait $PROXY_PID 2> /dev/null
63
- rm $credtmp
64
- rm $dumptmp
65
- echo "\n🐱 Done!"
66
- `;
67
- await (0, child_process_promise_1.spawn)(copyDBScript, [], { shell: "bash", stdio: "inherit" });
68
- });
69
- //# sourceMappingURL=commandCopyDB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandCopyDB.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandCopyDB.ts"],"names":[],"mappings":";;AAAA,iEAA8C;AAE9C,4DAGsC;AACtC,mEAA2D;AAC3D,yDAGoC;AACpC,6DAA4D;AAC5D,+CAAwD;AAExD,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,eAAe,EAAE,2CAA2C,CAAC;KACrE,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,GAAG,EAAE;IACnC,MAAM,EACJ,aAAa,EACb,QAAQ,EACR,cAAc,GAAG,KAAK,GACvB,GAAG,MAAM,IAAA,mCAAwB,GAAE,CAAC;IAErC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,sFAAsF;KACzF,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,sBAAsB;IACtE,MAAM,mBAAmB,GAAG,CAAC,MAAM,IAAA,wBAAa,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,EAAE,mBAAmB,CAAC;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC;IAEzB,MAAM,YAAY,GAAG,GAAG,0BAAc,IAAI,uBAAuB,IAAI,aAAa,IAAI,QAAQ,IAAI,GAAG,QAAQ,UAAU,EAAE,CAAC;IAC1H,MAAM,mBAAmB,GAAG,MAAM,IAAA,wBAAQ,EAAC,sCAA0B,CAAC,CAAC;IAEvE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CACxD,cAAc,CACf,CAAC;IACF,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG;;;cAGb,mBAAmB;;mCAEE,YAAY;;;;wCAIP,UAAU;;;;;;;;;6CASL,mBAAmB,cAAc,UAAU,IAChF,MAAM,IAAI,cACZ;kCAC4B,WAAW;oCACT,WAAW;;gBAE/B,WAAW;;;;;;;;;OASpB,CAAC;IAEF,MAAM,IAAA,6BAAK,EAAC,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AACrE,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,45 +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 k8sApi_1 = __importDefault(require("../../../../k8sApi"));
7
- const log_1 = require("../../../../utils/log");
8
- const projects_1 = require("../../../../utils/projects");
9
- const autocompletions_1 = require("./utils/autocompletions");
10
- const ensureCluster_1 = __importDefault(require("./utils/ensureCluster"));
11
- exports.default = (vorpal) => vorpal
12
- .command("project-delete-pods <env>", "delete / restart pods")
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, projects_1.getProjectPodNames)(env);
18
- if (podNames.length === 0) {
19
- (0, log_1.logError)(this, "sorry, no pods found");
20
- return;
21
- }
22
- const { selectedPodNames } = await this.prompt({
23
- type: "checkbox",
24
- name: "selectedPodNames",
25
- choices: podNames,
26
- message: "Which pods to delete / restart ? 🤔 ",
27
- });
28
- this.log("the following pods will be DELETED 🙀 (and therefore restarted 😸)");
29
- this.log("");
30
- selectedPodNames.forEach((n) => this.log(n));
31
- this.log("");
32
- const { shouldContinue } = await this.prompt({
33
- type: "confirm",
34
- name: "shouldContinue",
35
- message: "Continue ? 🤔 ",
36
- });
37
- this.log("");
38
- if (shouldContinue) {
39
- for (const podName of selectedPodNames) {
40
- await k8sApi_1.default.deleteNamespacedPod(podName, namespace, "true");
41
- this.log(`deleted pod '${podName}'`);
42
- }
43
- }
44
- });
45
- //# sourceMappingURL=commandDeletePods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandDeletePods.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandDeletePods.ts"],"names":[],"mappings":";;;;;AAEA,gEAAwC;AAExC,+CAAiD;AACjD,yDAGoC;AACpC,6DAA4D;AAC5D,0EAAkD;AAElD,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;KAC7D,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,6BAAkB,EAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,IAAA,cAAQ,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACvC,OAAO;KACR;IACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,uCAAuC;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CACN,oEAAoE,CACrE,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,iBAAiB;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;YACtC,MAAM,gBAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,GAAG,CAAC,CAAC;SACtC;KACF;AACH,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,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const child_process_promise_1 = require("child-process-promise");
4
- const projects_1 = require("../../../../utils/projects");
5
- const autocompletions_1 = require("./utils/autocompletions");
6
- exports.default = (vorpal) => vorpal
7
- .command("project-delete <env>", "deletes a environment of a project (it deletes the namespace)")
8
- .autocomplete(autocompletions_1.envAutocompletion)
9
- .action(async function ({ env }) {
10
- const namespace = await (0, projects_1.getProjectNamespace)(env);
11
- const { shouldContinue } = await this.prompt({
12
- type: "confirm",
13
- name: "shouldContinue",
14
- message: `This will delete the ${namespace}. You have to reinitialize it if you need it in the future. All data will be lost. Continue? 🤔 `,
15
- });
16
- if (!shouldContinue) {
17
- return;
18
- }
19
- const fullCommand = `kubectl delete namespace ${namespace}`;
20
- const { stdout } = await (0, child_process_promise_1.exec)(fullCommand, {
21
- env: {
22
- ...process.env,
23
- DEBUG: "",
24
- },
25
- });
26
- this.log(stdout);
27
- });
28
- //# sourceMappingURL=commandDeleteProject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandDeleteProject.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandDeleteProject.ts"],"names":[],"mappings":";;AACA,iEAAoD;AAEpD,yDAAiE;AACjE,6DAA4D;AAE5D,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CACN,sBAAsB,EACtB,+DAA+D,CAChE;KACA,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,WAAW,EAAE,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,GAAU,CAAC,CAAC;IACxD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,wBAAwB,SAAS,kGAAkG;KAC7I,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,MAAM,WAAW,GAAG,4BAA4B,SAAS,EAAE,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAI,EAAC,WAAW,EAAE;QACzC,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnB,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,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const projects_1 = require("../../../../utils/projects");
4
- const autocompletions_1 = require("./utils/autocompletions");
5
- const monorepo_1 = require("./utils/monorepo");
6
- exports.default = (vorpal) => vorpal
7
- .command("project-env-vars <env>", "list env vars")
8
- .autocomplete(autocompletions_1.envAutocompletion)
9
- .action(async function ({ env }) {
10
- const subApp = await (0, monorepo_1.promptForSubAppIfAny)(this);
11
- const envvars = await (0, projects_1.getAllEnvVars)(env, subApp);
12
- Object.keys(envvars).forEach((key) => this.log(`${key}: ${envvars[key]}`));
13
- });
14
- //# sourceMappingURL=commandEnvVars.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandEnvVars.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandEnvVars.ts"],"names":[],"mappings":";;AACA,yDAA2D;AAC3D,6DAA4D;AAC5D,+CAAwD;AAExD,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CAAC,wBAAwB,EAAE,eAAe,CAAC;KAClD,YAAY,CAAC,mCAAiB,CAAC;KAC/B,MAAM,CAAC,KAAK,WAAW,EAAE,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAa,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACnC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CACpC,CAAC;AACJ,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,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const child_process_promise_1 = require("child-process-promise");
4
- exports.default = (vorpal) => vorpal
5
- .command("project-get-my-total-worktime", "show the total worktime that you spent on a project")
6
- .action(async () => {
7
- await (0, child_process_promise_1.spawn)("sh", ["-c", "curl -L http://bit.ly/10hA8iC | bash"], {
8
- stdio: ["pipe", "inherit", "pipe"]
9
- });
10
- });
11
- //# sourceMappingURL=commandGetMyTotalWorktime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandGetMyTotalWorktime.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandGetMyTotalWorktime.ts"],"names":[],"mappings":";;AAAA,iEAA8C;AAG9C,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CACN,+BAA+B,EAC/B,qDAAqD,CACtD;KACA,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,6BAAK,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,sCAAsC,CAAC,EAAE;QAChE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;KACnC,CAAC,CAAC;AACL,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,30 +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 shell_1 = require("../../../../utils/shell");
9
- const autocompletions_1 = require("./utils/autocompletions");
10
- const ensureCluster_1 = __importDefault(require("./utils/ensureCluster"));
11
- exports.default = (vorpal) => vorpal
12
- .command("project-get-shell <env>", "get a shell to a pod 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, projects_1.getProjectPodNames)(env);
18
- if (podNames.length === 0) {
19
- (0, log_1.logError)(this, "sorry, no pods found");
20
- return;
21
- }
22
- const { podName } = await this.prompt({
23
- type: "list",
24
- name: "podName",
25
- choices: podNames,
26
- message: "Which pod? 🤔"
27
- });
28
- return (0, shell_1.getShell)(namespace, podName);
29
- });
30
- //# sourceMappingURL=commandGetShell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandGetShell.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandGetShell.ts"],"names":[],"mappings":";;;;;AACA,+CAAiD;AACjD,yDAGoC;AACpC,mDAAmD;AAEnD,6DAA4D;AAC5D,0EAAkD;AAElD,kBAAe,CAAC,MAAc,EAAE,EAAE,CAChC,MAAM;KACH,OAAO,CACN,yBAAyB,EACzB,yCAAyC,CAC1C;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,6BAAkB,EAAC,GAAG,CAAC,CAAC;IAC/C,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,OAAO,IAAA,gBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => void;
3
- export default _default;
@@ -1,86 +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 lodash_1 = require("lodash");
8
- const open_1 = __importDefault(require("open"));
9
- const gitlab_1 = require("../../../../utils/gitlab");
10
- const statusEmojiMap = {
11
- failed: "🙀",
12
- warning: "😿",
13
- pending: "🍺",
14
- running: "🏃‍",
15
- manual: "🤚",
16
- scheduled: "🍺",
17
- canceled: "😽",
18
- success: "😻",
19
- skipped: "🤭",
20
- created: "🍺",
21
- };
22
- const statusTxt = (status) => statusEmojiMap[status] ? `${statusEmojiMap[status]} ${status}` : status;
23
- const getCurrentCommit = async () => {
24
- const result = await (0, child_process_promise_1.exec)("git rev-parse HEAD");
25
- return result.stdout && result.stdout.replace(/\n$/, "");
26
- };
27
- const delay = async (ms) => new Promise((resolve) => setTimeout(resolve, ms));
28
- const promptJob = async (vorpal, projectId, ctx) => {
29
- const jobs = await (0, gitlab_1.doGitlabRequest)(vorpal, `projects/${projectId}/jobs`);
30
- const commitId = await getCurrentCommit();
31
- const jobsToName = (jo) => jo.map((j) => `${j.ref}-${j.name}-${j.user.username}-${j.status}-${j.id}`);
32
- const preferredJobs = jobs.filter((j) => j.commit.id === commitId);
33
- const moreJobs = jobs.filter((j) => !preferredJobs.includes(j.ref));
34
- const sortedJobs = preferredJobs.length > 1
35
- ? [
36
- ...jobsToName(preferredJobs),
37
- "========================================================",
38
- ...jobsToName(moreJobs),
39
- ]
40
- : jobsToName([...preferredJobs, ...moreJobs]);
41
- const { jobName } = await ctx.prompt({
42
- type: "list",
43
- name: "jobName",
44
- choices: sortedJobs,
45
- message: "Which job? 🤔",
46
- });
47
- const jobId = Number((0, lodash_1.last)(jobName.split("-")));
48
- return jobs.find((j) => j.id === jobId);
49
- };
50
- exports.default = (vorpal) => {
51
- vorpal.command("project-ci-job-open", "Open a Job").action(async function () {
52
- const { id: projectId } = await (0, gitlab_1.getProjectInfo)(this);
53
- const job = await promptJob(this, projectId, this);
54
- (0, open_1.default)(job.web_url);
55
- });
56
- vorpal
57
- .command("project-ci-job-log", "Show a job's log")
58
- .action(async function () {
59
- const { id: projectId } = await (0, gitlab_1.getProjectInfo)(this);
60
- const { id } = await promptJob(this, projectId, this);
61
- let finished = false;
62
- while (!finished) {
63
- const trace = await (0, child_process_promise_1.exec)(`curl -s --header "PRIVATE-TOKEN: ${await (0, gitlab_1.getGitlabToken)(this)}" "https://git.panter.ch/api/v4/projects/${projectId}/jobs/${id}/trace"`);
64
- const job = await (0, gitlab_1.doGitlabRequest)(this, `projects/${projectId}/jobs/${id}`);
65
- if (trace.stdout) {
66
- vorpal.ui.redraw(`${trace.stdout}`);
67
- }
68
- else {
69
- vorpal.ui.redraw(`
70
-
71
- ${statusTxt(job.status)}
72
- ${job.web_url}
73
-
74
- `);
75
- }
76
- finished = !!job.finished_at;
77
- if (!finished) {
78
- await delay(5000);
79
- }
80
- else {
81
- vorpal.ui.redraw.done();
82
- }
83
- }
84
- });
85
- };
86
- //# sourceMappingURL=commandGitlabCi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandGitlabCi.js","sourceRoot":"","sources":["../../../../../src/apps/shell/commands/project/commandGitlabCi.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;