@catladder/cli 1.0.3 → 1.0.4
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.
- package/package.json +2 -2
- package/dist/apps/catenv/catenv.d.ts +0 -2
- package/dist/apps/catenv/catenv.js +0 -135
- package/dist/apps/catenv/catenv.js.map +0 -1
- package/dist/apps/cli/cli.d.ts +0 -2
- package/dist/apps/cli/cli.js +0 -81
- package/dist/apps/cli/cli.js.map +0 -1
- package/dist/apps/cli/commands/general/index.d.ts +0 -4
- package/dist/apps/cli/commands/general/index.js +0 -274
- package/dist/apps/cli/commands/general/index.js.map +0 -1
- package/dist/apps/cli/commands/general/namespaceAutoCompletion.d.ts +0 -3
- package/dist/apps/cli/commands/general/namespaceAutoCompletion.js +0 -56
- package/dist/apps/cli/commands/general/namespaceAutoCompletion.js.map +0 -1
- package/dist/apps/cli/commands/general/portForward.d.ts +0 -3
- package/dist/apps/cli/commands/general/portForward.js +0 -98
- package/dist/apps/cli/commands/general/portForward.js.map +0 -1
- package/dist/apps/cli/commands/mongodb/index.d.ts +0 -3
- package/dist/apps/cli/commands/mongodb/index.js +0 -53
- package/dist/apps/cli/commands/mongodb/index.js.map +0 -1
- package/dist/apps/cli/commands/mongodb/projectMongoDestroyMember.d.ts +0 -3
- package/dist/apps/cli/commands/mongodb/projectMongoDestroyMember.js +0 -190
- package/dist/apps/cli/commands/mongodb/projectMongoDestroyMember.js.map +0 -1
- package/dist/apps/cli/commands/mongodb/projectMongoGetShell.d.ts +0 -3
- package/dist/apps/cli/commands/mongodb/projectMongoGetShell.js +0 -96
- package/dist/apps/cli/commands/mongodb/projectMongoGetShell.js.map +0 -1
- package/dist/apps/cli/commands/mongodb/projectMongoPortForward.d.ts +0 -3
- package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js +0 -105
- package/dist/apps/cli/commands/mongodb/projectMongoPortForward.js.map +0 -1
- package/dist/apps/cli/commands/mongodb/utils/index.d.ts +0 -13
- package/dist/apps/cli/commands/mongodb/utils/index.js +0 -167
- package/dist/apps/cli/commands/mongodb/utils/index.js.map +0 -1
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +0 -128
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +0 -1
- package/dist/apps/cli/commands/project/commandConfigSecrets.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandConfigSecrets.js +0 -254
- package/dist/apps/cli/commands/project/commandConfigSecrets.js.map +0 -1
- package/dist/apps/cli/commands/project/commandCopyDB.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandCopyDB.js +0 -102
- package/dist/apps/cli/commands/project/commandCopyDB.js.map +0 -1
- package/dist/apps/cli/commands/project/commandDeletePods.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandDeletePods.js +0 -119
- package/dist/apps/cli/commands/project/commandDeletePods.js.map +0 -1
- package/dist/apps/cli/commands/project/commandDeleteProject.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandDeleteProject.js +0 -97
- package/dist/apps/cli/commands/project/commandDeleteProject.js.map +0 -1
- package/dist/apps/cli/commands/project/commandEnvVars.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandEnvVars.js +0 -74
- package/dist/apps/cli/commands/project/commandEnvVars.js.map +0 -1
- package/dist/apps/cli/commands/project/commandGetMyTotalWorktime.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandGetMyTotalWorktime.js +0 -58
- package/dist/apps/cli/commands/project/commandGetMyTotalWorktime.js.map +0 -1
- package/dist/apps/cli/commands/project/commandGetShell.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandGetShell.js +0 -92
- package/dist/apps/cli/commands/project/commandGetShell.js.map +0 -1
- package/dist/apps/cli/commands/project/commandGitlabCi.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandGitlabCi.js +0 -185
- package/dist/apps/cli/commands/project/commandGitlabCi.js.map +0 -1
- package/dist/apps/cli/commands/project/commandInitGitlab.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandInitGitlab.js +0 -245
- package/dist/apps/cli/commands/project/commandInitGitlab.js.map +0 -1
- package/dist/apps/cli/commands/project/commandInitProject.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandInitProject.js +0 -345
- package/dist/apps/cli/commands/project/commandInitProject.js.map +0 -1
- package/dist/apps/cli/commands/project/commandListPods.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandListPods.js +0 -78
- package/dist/apps/cli/commands/project/commandListPods.js.map +0 -1
- package/dist/apps/cli/commands/project/commandMigrateHelm3.d.ts +0 -7
- package/dist/apps/cli/commands/project/commandMigrateHelm3.js +0 -113
- package/dist/apps/cli/commands/project/commandMigrateHelm3.js.map +0 -1
- package/dist/apps/cli/commands/project/commandNamespace.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandNamespace.js +0 -70
- package/dist/apps/cli/commands/project/commandNamespace.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenCostDashboard.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenCostDashboard.js +0 -83
- package/dist/apps/cli/commands/project/commandOpenCostDashboard.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenDashboard.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenDashboard.js +0 -92
- package/dist/apps/cli/commands/project/commandOpenDashboard.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenEnv.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenEnv.js +0 -80
- package/dist/apps/cli/commands/project/commandOpenEnv.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenGit.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenGit.js +0 -56
- package/dist/apps/cli/commands/project/commandOpenGit.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenGrafana.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenGrafana.js +0 -83
- package/dist/apps/cli/commands/project/commandOpenGrafana.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenGrafanaPod.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenGrafanaPod.js +0 -99
- package/dist/apps/cli/commands/project/commandOpenGrafanaPod.js.map +0 -1
- package/dist/apps/cli/commands/project/commandOpenLogs.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandOpenLogs.js +0 -87
- package/dist/apps/cli/commands/project/commandOpenLogs.js.map +0 -1
- package/dist/apps/cli/commands/project/commandPauseProject.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandPauseProject.js +0 -97
- package/dist/apps/cli/commands/project/commandPauseProject.js.map +0 -1
- package/dist/apps/cli/commands/project/commandPortForward.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandPortForward.js +0 -106
- package/dist/apps/cli/commands/project/commandPortForward.js.map +0 -1
- package/dist/apps/cli/commands/project/commandReloadConfig.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandReloadConfig.js +0 -62
- package/dist/apps/cli/commands/project/commandReloadConfig.js.map +0 -1
- package/dist/apps/cli/commands/project/commandTriggerCronjob.d.ts +0 -3
- package/dist/apps/cli/commands/project/commandTriggerCronjob.js +0 -144
- package/dist/apps/cli/commands/project/commandTriggerCronjob.js.map +0 -1
- package/dist/apps/cli/commands/project/index.d.ts +0 -3
- package/dist/apps/cli/commands/project/index.js +0 -97
- package/dist/apps/cli/commands/project/index.js.map +0 -1
- package/dist/apps/cli/commands/project/utils/autocompletions.d.ts +0 -3
- package/dist/apps/cli/commands/project/utils/autocompletions.js +0 -96
- package/dist/apps/cli/commands/project/utils/autocompletions.js.map +0 -1
- package/dist/apps/cli/commands/project/utils/ensureCluster.d.ts +0 -1
- package/dist/apps/cli/commands/project/utils/ensureCluster.js +0 -84
- package/dist/apps/cli/commands/project/utils/ensureCluster.js.map +0 -1
- package/dist/apps/cli/commands/project/utils/ensureNamespace.d.ts +0 -1
- package/dist/apps/cli/commands/project/utils/ensureNamespace.js +0 -92
- package/dist/apps/cli/commands/project/utils/ensureNamespace.js.map +0 -1
- package/dist/apps/cli/commands/project/utils/showProjectBanner.d.ts +0 -2
- package/dist/apps/cli/commands/project/utils/showProjectBanner.js +0 -58
- package/dist/apps/cli/commands/project/utils/showProjectBanner.js.map +0 -1
- package/dist/apps/cli/commands/shared/index.d.ts +0 -2
- package/dist/apps/cli/commands/shared/index.js +0 -72
- package/dist/apps/cli/commands/shared/index.js.map +0 -1
- package/dist/apps/cli/commands/theStuffThatReallyMatters/index.d.ts +0 -3
- package/dist/apps/cli/commands/theStuffThatReallyMatters/index.js +0 -131
- package/dist/apps/cli/commands/theStuffThatReallyMatters/index.js.map +0 -1
- package/dist/apps/cli/config/writeConfig.d.ts +0 -5
- package/dist/apps/cli/config/writeConfig.js +0 -104
- package/dist/apps/cli/config/writeConfig.js.map +0 -1
- package/dist/apps/cli/utils/getGoogleAuthUserNumber.d.ts +0 -1
- package/dist/apps/cli/utils/getGoogleAuthUserNumber.js +0 -69
- package/dist/apps/cli/utils/getGoogleAuthUserNumber.js.map +0 -1
- package/dist/apps/cli/verify/index.d.ts +0 -2
- package/dist/apps/cli/verify/index.js +0 -90
- package/dist/apps/cli/verify/index.js.map +0 -1
- package/dist/apps/cli/verify/migration/fromv2.d.ts +0 -3
- package/dist/apps/cli/verify/migration/fromv2.js +0 -322
- package/dist/apps/cli/verify/migration/fromv2.js.map +0 -1
- package/dist/apps/cli/verify/migration/migrateSecrets.d.ts +0 -4
- package/dist/apps/cli/verify/migration/migrateSecrets.js +0 -88
- package/dist/apps/cli/verify/migration/migrateSecrets.js.map +0 -1
- package/dist/apps/cli/verify/migration/oldGitlabCi.d.ts +0 -17
- package/dist/apps/cli/verify/migration/oldGitlabCi.js +0 -26
- package/dist/apps/cli/verify/migration/oldGitlabCi.js.map +0 -1
- package/dist/catenv.d.ts +0 -1
- package/dist/catenv.js +0 -8
- package/dist/catenv.js.map +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -13
- package/dist/cli.js.map +0 -1
- package/dist/config/clusters.d.ts +0 -14
- package/dist/config/clusters.js +0 -72
- package/dist/config/clusters.js.map +0 -1
- package/dist/config/constants.d.ts +0 -4
- package/dist/config/constants.js +0 -8
- package/dist/config/constants.js.map +0 -1
- package/dist/config/getProjectConfig.d.ts +0 -21
- package/dist/config/getProjectConfig.js +0 -212
- package/dist/config/getProjectConfig.js.map +0 -1
- package/dist/k8sApi/index.d.ts +0 -5
- package/dist/k8sApi/index.js +0 -11
- package/dist/k8sApi/index.js.map +0 -1
- package/dist/packageInfos.d.ts +0 -2
- package/dist/packageInfos.js +0 -6
- package/dist/packageInfos.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/types.d.ts +0 -18
- package/dist/types/types.js +0 -3
- package/dist/types/types.js.map +0 -1
- package/dist/utils/cluster.d.ts +0 -12
- package/dist/utils/cluster.js +0 -100
- package/dist/utils/cluster.js.map +0 -1
- package/dist/utils/editAsFile.d.ts +0 -1
- package/dist/utils/editAsFile.js +0 -85
- package/dist/utils/editAsFile.js.map +0 -1
- package/dist/utils/files.d.ts +0 -2
- package/dist/utils/files.js +0 -83
- package/dist/utils/files.js.map +0 -1
- package/dist/utils/formatEnvVars.d.ts +0 -2
- package/dist/utils/formatEnvVars.js +0 -10
- package/dist/utils/formatEnvVars.js.map +0 -1
- package/dist/utils/getEditor.d.ts +0 -4
- package/dist/utils/getEditor.js +0 -70
- package/dist/utils/getEditor.js.map +0 -1
- package/dist/utils/gitlab.d.ts +0 -21
- package/dist/utils/gitlab.js +0 -258
- package/dist/utils/gitlab.js.map +0 -1
- package/dist/utils/log.d.ts +0 -1
- package/dist/utils/log.js +0 -14
- package/dist/utils/log.js.map +0 -1
- package/dist/utils/passwordstore/index.d.ts +0 -8
- package/dist/utils/passwordstore/index.js +0 -378
- package/dist/utils/passwordstore/index.js.map +0 -1
- package/dist/utils/portForward.d.ts +0 -4
- package/dist/utils/portForward.js +0 -116
- package/dist/utils/portForward.js.map +0 -1
- package/dist/utils/preferences/index.d.ts +0 -3
- package/dist/utils/preferences/index.js +0 -119
- package/dist/utils/preferences/index.js.map +0 -1
- package/dist/utils/projects/index.d.ts +0 -8
- package/dist/utils/projects/index.js +0 -150
- package/dist/utils/projects/index.js.map +0 -1
- package/dist/utils/promise.d.ts +0 -2
- package/dist/utils/promise.js +0 -62
- package/dist/utils/promise.js.map +0 -1
- package/dist/utils/shell.d.ts +0 -1
- package/dist/utils/shell.js +0 -81
- package/dist/utils/shell.js.map +0 -1
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
exports.__esModule = true;
|
|
50
|
-
exports.getProjectMongodbAllPodsSortedWithLabel = exports.getMongoDbPodsWithReplInfo = exports.podIsMaster = exports.executeMongodbCommand = exports.getMongodbShell = exports.getProjectMongodbAllPods = void 0;
|
|
51
|
-
var child_process_promise_1 = require("child-process-promise");
|
|
52
|
-
var projects_1 = require("../../../../../utils/projects");
|
|
53
|
-
var filterMongoDbs = function (podNames) {
|
|
54
|
-
return podNames.filter(function (name) { return name.includes("mongodb-replicaset"); });
|
|
55
|
-
};
|
|
56
|
-
var getProjectMongodbAllPods = function (envComponent) { return __awaiter(void 0, void 0, void 0, function () { var _a; return __generator(this, function (_b) {
|
|
57
|
-
switch (_b.label) {
|
|
58
|
-
case 0:
|
|
59
|
-
_a = filterMongoDbs;
|
|
60
|
-
return [4 /*yield*/, (0, projects_1.getProjectPodNames)(envComponent)];
|
|
61
|
-
case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
|
|
62
|
-
}
|
|
63
|
-
}); }); };
|
|
64
|
-
exports.getProjectMongodbAllPods = getProjectMongodbAllPods;
|
|
65
|
-
var getMongodbShell = function (namespace, podName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
|
-
var command, e_1;
|
|
67
|
-
return __generator(this, function (_a) {
|
|
68
|
-
switch (_a.label) {
|
|
69
|
-
case 0:
|
|
70
|
-
command = "kubectl exec -it ".concat(podName, " --namespace ").concat(namespace, " mongo");
|
|
71
|
-
_a.label = 1;
|
|
72
|
-
case 1:
|
|
73
|
-
_a.trys.push([1, 3, , 4]);
|
|
74
|
-
return [4 /*yield*/, (0, child_process_promise_1.spawn)(command, {
|
|
75
|
-
shell: true,
|
|
76
|
-
stdio: "inherit",
|
|
77
|
-
env: __assign(__assign({}, process.env), { DEBUG: "" })
|
|
78
|
-
})];
|
|
79
|
-
case 2:
|
|
80
|
-
_a.sent();
|
|
81
|
-
return [3 /*break*/, 4];
|
|
82
|
-
case 3:
|
|
83
|
-
e_1 = _a.sent();
|
|
84
|
-
return [3 /*break*/, 4];
|
|
85
|
-
case 4: return [2 /*return*/];
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}); };
|
|
89
|
-
exports.getMongodbShell = getMongodbShell;
|
|
90
|
-
var executeMongodbCommand = function (namespace, podName, mongoCommand) { return __awaiter(void 0, void 0, void 0, function () {
|
|
91
|
-
var fullCommand, stdout;
|
|
92
|
-
return __generator(this, function (_a) {
|
|
93
|
-
switch (_a.label) {
|
|
94
|
-
case 0:
|
|
95
|
-
fullCommand = "kubectl exec -it ".concat(podName, " --namespace ").concat(namespace, " -- mongo --quiet --eval \"JSON.stringify(").concat(mongoCommand, ")\"");
|
|
96
|
-
return [4 /*yield*/, (0, child_process_promise_1.exec)(fullCommand, {
|
|
97
|
-
env: __assign(__assign({}, process.env), { DEBUG: "" })
|
|
98
|
-
})];
|
|
99
|
-
case 1:
|
|
100
|
-
stdout = (_a.sent()).stdout;
|
|
101
|
-
return [2 /*return*/, JSON.parse(stdout)];
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}); };
|
|
105
|
-
exports.executeMongodbCommand = executeMongodbCommand;
|
|
106
|
-
var podIsMaster = function (namespace, podName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
107
|
-
var result;
|
|
108
|
-
return __generator(this, function (_a) {
|
|
109
|
-
switch (_a.label) {
|
|
110
|
-
case 0: return [4 /*yield*/, (0, exports.executeMongodbCommand)(namespace, podName, "db.isMaster()")];
|
|
111
|
-
case 1:
|
|
112
|
-
result = _a.sent();
|
|
113
|
-
return [2 /*return*/, result.ismaster];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}); };
|
|
117
|
-
exports.podIsMaster = podIsMaster;
|
|
118
|
-
var spaces = function (n) { return " ".repeat(n); };
|
|
119
|
-
var getMongoDbPodsWithReplInfo = function (envComponent) { return __awaiter(void 0, void 0, void 0, function () {
|
|
120
|
-
var namespace, _a, _b;
|
|
121
|
-
return __generator(this, function (_c) {
|
|
122
|
-
switch (_c.label) {
|
|
123
|
-
case 0: return [4 /*yield*/, (0, projects_1.getProjectNamespace)(envComponent)];
|
|
124
|
-
case 1:
|
|
125
|
-
namespace = _c.sent();
|
|
126
|
-
_b = (_a = Promise).all;
|
|
127
|
-
return [4 /*yield*/, (0, exports.getProjectMongodbAllPods)(envComponent)];
|
|
128
|
-
case 2: return [4 /*yield*/, _b.apply(_a, [(_c.sent()).map(function (podName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
129
|
-
var _a;
|
|
130
|
-
return __generator(this, function (_b) {
|
|
131
|
-
switch (_b.label) {
|
|
132
|
-
case 0:
|
|
133
|
-
_a = {
|
|
134
|
-
podName: podName,
|
|
135
|
-
componentName: podName.replace(/-mongodb-replicaset-[0-9]+/, "")
|
|
136
|
-
};
|
|
137
|
-
return [4 /*yield*/, (0, exports.podIsMaster)(namespace, podName)];
|
|
138
|
-
case 1: return [2 /*return*/, (_a.isMaster = _b.sent(),
|
|
139
|
-
_a)];
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}); })])];
|
|
143
|
-
case 3: return [2 /*return*/, (_c.sent()).sort(function (podA, podB) { return (podA.isMaster ? (podB.isMaster ? 0 : -1) : 1); })];
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}); };
|
|
147
|
-
exports.getMongoDbPodsWithReplInfo = getMongoDbPodsWithReplInfo;
|
|
148
|
-
var getProjectMongodbAllPodsSortedWithLabel = function (envComponent) { return __awaiter(void 0, void 0, void 0, function () {
|
|
149
|
-
var pods, maxComponentNameLength;
|
|
150
|
-
return __generator(this, function (_a) {
|
|
151
|
-
switch (_a.label) {
|
|
152
|
-
case 0: return [4 /*yield*/, (0, exports.getMongoDbPodsWithReplInfo)(envComponent)];
|
|
153
|
-
case 1:
|
|
154
|
-
pods = _a.sent();
|
|
155
|
-
maxComponentNameLength = Math.max.apply(Math, pods.map(function (c) { return c.componentName.length; }));
|
|
156
|
-
return [2 /*return*/, pods.map(function (_a) {
|
|
157
|
-
var podName = _a.podName, isMaster = _a.isMaster, componentName = _a.componentName;
|
|
158
|
-
return ({
|
|
159
|
-
value: podName,
|
|
160
|
-
name: "[ ".concat(componentName).concat(spaces(maxComponentNameLength - componentName.length), " ").concat(isMaster ? " PRIMARY " : " secondary ", "] ").concat(podName)
|
|
161
|
-
});
|
|
162
|
-
})];
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}); };
|
|
166
|
-
exports.getProjectMongodbAllPodsSortedWithLabel = getProjectMongodbAllPodsSortedWithLabel;
|
|
167
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/apps/cli/commands/mongodb/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
exports.__esModule = true;
|
|
39
|
-
var pipeline_1 = require("@catladder/pipeline");
|
|
40
|
-
var child_process_promise_1 = require("child-process-promise");
|
|
41
|
-
var fs_extra_1 = require("fs-extra");
|
|
42
|
-
var tmp_promise_1 = require("tmp-promise");
|
|
43
|
-
var constants_1 = require("../../../../config/constants");
|
|
44
|
-
var getProjectConfig_1 = require("../../../../config/getProjectConfig");
|
|
45
|
-
var passwordstore_1 = require("../../../../utils/passwordstore");
|
|
46
|
-
var autocompletions_1 = require("./utils/autocompletions");
|
|
47
|
-
exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
-
var _a, _b;
|
|
49
|
-
return __generator(this, function (_c) {
|
|
50
|
-
switch (_c.label) {
|
|
51
|
-
case 0:
|
|
52
|
-
_b = (_a = vorpal
|
|
53
|
-
.command("project-cloud-sql-proxy <envComponent>", "proxy to cloud sql db"))
|
|
54
|
-
.autocomplete;
|
|
55
|
-
return [4 /*yield*/, (0, autocompletions_1.envAndComponents)()];
|
|
56
|
-
case 1: return [2 /*return*/, _b.apply(_a, [_c.sent()])
|
|
57
|
-
.action(function (_a) {
|
|
58
|
-
var _b, _c, _d, _e;
|
|
59
|
-
var envComponent = _a.envComponent;
|
|
60
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
61
|
-
var _f, env, componentName, config, localPort, POSTGRESQL_PASSWORD, context, values, projectId, defaultInstanceId, instanceId, defaultRegion, region, instanceName, cloudsqlCredentials;
|
|
62
|
-
var _this = this;
|
|
63
|
-
return __generator(this, function (_g) {
|
|
64
|
-
switch (_g.label) {
|
|
65
|
-
case 0:
|
|
66
|
-
_f = (0, getProjectConfig_1.parseChoice)(envComponent), env = _f.env, componentName = _f.componentName;
|
|
67
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getProjectConfig)()];
|
|
68
|
-
case 1:
|
|
69
|
-
config = _g.sent();
|
|
70
|
-
return [4 /*yield*/, this.prompt({
|
|
71
|
-
type: "number",
|
|
72
|
-
name: "localPort",
|
|
73
|
-
"default": "54320",
|
|
74
|
-
message: "Local port: "
|
|
75
|
-
})];
|
|
76
|
-
case 2:
|
|
77
|
-
localPort = (_g.sent()).localPort;
|
|
78
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(this, env, componentName)];
|
|
79
|
-
case 3:
|
|
80
|
-
POSTGRESQL_PASSWORD = (_b = (_g.sent())) === null || _b === void 0 ? void 0 : _b.POSTGRESQL_PASSWORD;
|
|
81
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
|
|
82
|
-
case 4:
|
|
83
|
-
context = _g.sent();
|
|
84
|
-
if (!(0, pipeline_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
85
|
-
throw new Error("currently only supported for kubernetes deployment");
|
|
86
|
-
}
|
|
87
|
-
this.log("postgres-PW: ".concat(POSTGRESQL_PASSWORD));
|
|
88
|
-
this.log("");
|
|
89
|
-
values = context.componentConfig.deploy.values;
|
|
90
|
-
projectId = ((_c = values === null || values === void 0 ? void 0 : values.cloudsql) === null || _c === void 0 ? void 0 : _c.projectId) || constants_1.GOOGLE_PROJECT;
|
|
91
|
-
defaultInstanceId = "".concat(config.customerName, "-").concat(config.appName, "-").concat(env);
|
|
92
|
-
instanceId = ((_d = values === null || values === void 0 ? void 0 : values.cloudsql) === null || _d === void 0 ? void 0 : _d.instanceId) || defaultInstanceId;
|
|
93
|
-
defaultRegion = "europe-west6";
|
|
94
|
-
region = ((_e = values === null || values === void 0 ? void 0 : values.cloudsql) === null || _e === void 0 ? void 0 : _e.region) || defaultRegion;
|
|
95
|
-
instanceName = "".concat(projectId, ":").concat(region, ":").concat(instanceId, "=tcp:").concat(localPort);
|
|
96
|
-
return [4 /*yield*/, (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH)];
|
|
97
|
-
case 5:
|
|
98
|
-
cloudsqlCredentials = _g.sent();
|
|
99
|
-
return [4 /*yield*/, (0, tmp_promise_1.withFile)(function (_a) {
|
|
100
|
-
var tmpFilePath = _a.path;
|
|
101
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
102
|
-
return __generator(this, function (_b) {
|
|
103
|
-
switch (_b.label) {
|
|
104
|
-
case 0: return [4 /*yield*/, (0, fs_extra_1.writeFile)(tmpFilePath, cloudsqlCredentials)];
|
|
105
|
-
case 1:
|
|
106
|
-
_b.sent();
|
|
107
|
-
return [4 /*yield*/, (0, child_process_promise_1.spawn)("cloud_sql_proxy", ["-instances", instanceName, "-credential_file", tmpFilePath], {
|
|
108
|
-
stdio: "inherit",
|
|
109
|
-
shell: true
|
|
110
|
-
})];
|
|
111
|
-
case 2:
|
|
112
|
-
_b.sent();
|
|
113
|
-
return [2 /*return*/];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
})];
|
|
118
|
-
case 6:
|
|
119
|
-
_g.sent();
|
|
120
|
-
return [2 /*return*/];
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
})];
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}); });
|
|
128
|
-
//# sourceMappingURL=commandCloudSqlProxy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandCloudSqlProxy.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandCloudSqlProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
-
return cooked;
|
|
5
|
-
};
|
|
6
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
10
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
11
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
12
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
16
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
17
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
18
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
19
|
-
function step(op) {
|
|
20
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
21
|
-
while (_) try {
|
|
22
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
23
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
24
|
-
switch (op[0]) {
|
|
25
|
-
case 0: case 1: t = op; break;
|
|
26
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
27
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
28
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
29
|
-
default:
|
|
30
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
31
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
32
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
33
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
34
|
-
if (t[2]) _.ops.pop();
|
|
35
|
-
_.trys.pop(); continue;
|
|
36
|
-
}
|
|
37
|
-
op = body.call(thisArg, _);
|
|
38
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
39
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
exports.__esModule = true;
|
|
43
|
-
/* eslint-disable no-constant-condition */
|
|
44
|
-
var common_tags_1 = require("common-tags");
|
|
45
|
-
var lodash_1 = require("lodash");
|
|
46
|
-
var constants_1 = require("../../../../config/constants");
|
|
47
|
-
var getProjectConfig_1 = require("../../../../config/getProjectConfig");
|
|
48
|
-
var editAsFile_1 = require("../../../../utils/editAsFile");
|
|
49
|
-
var gitlab_1 = require("../../../../utils/gitlab");
|
|
50
|
-
var passwordstore_1 = require("../../../../utils/passwordstore");
|
|
51
|
-
var promise_1 = require("../../../../utils/promise");
|
|
52
|
-
var autocompletions_1 = require("./utils/autocompletions");
|
|
53
|
-
/* for convenience, parse json objects. that makes it easier to edit secrets that are object */
|
|
54
|
-
var resolveJson = function (v) {
|
|
55
|
-
return Object.fromEntries(Object.entries(v).map(function (_a) {
|
|
56
|
-
var c = _a[0], secrets = _a[1];
|
|
57
|
-
return [
|
|
58
|
-
c,
|
|
59
|
-
Object.fromEntries(Object.entries(secrets).map(function (_a) {
|
|
60
|
-
var key = _a[0], value = _a[1];
|
|
61
|
-
try {
|
|
62
|
-
return [key, JSON.parse(value)];
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
return [key, value];
|
|
66
|
-
}
|
|
67
|
-
})),
|
|
68
|
-
];
|
|
69
|
-
}));
|
|
70
|
-
};
|
|
71
|
-
var getEnvVarsToEdit = function (instance, env, componentName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
72
|
-
var secretEnvVarKeys, allEnvVars;
|
|
73
|
-
return __generator(this, function (_a) {
|
|
74
|
-
switch (_a.label) {
|
|
75
|
-
case 0: return [4 /*yield*/, (0, getProjectConfig_1.getEnvironment)(env, componentName)];
|
|
76
|
-
case 1:
|
|
77
|
-
secretEnvVarKeys = (_a.sent()).secretEnvVarKeys;
|
|
78
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getEnvVars)(instance, env, componentName)];
|
|
79
|
-
case 2:
|
|
80
|
-
allEnvVars = _a.sent();
|
|
81
|
-
return [2 /*return*/, Object.fromEntries(secretEnvVarKeys.map(function (key) { return [key, allEnvVars[key]]; }))];
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}); };
|
|
85
|
-
var doItFor = function (instance, env, components) { return __awaiter(void 0, void 0, void 0, function () {
|
|
86
|
-
var valuesToEdit, _a, _b, hasErrors, _i, components_1, componentName, usedKeys, secretEnvVarKeys, extranous, missing, shouldContinue, _c, components_2, componentName, context, _d, _e;
|
|
87
|
-
var _f;
|
|
88
|
-
var _g, _h;
|
|
89
|
-
return __generator(this, function (_j) {
|
|
90
|
-
switch (_j.label) {
|
|
91
|
-
case 0:
|
|
92
|
-
_b = (_a = Object).fromEntries;
|
|
93
|
-
return [4 /*yield*/, Promise.all(components.map(function (componentName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
-
var _a;
|
|
95
|
-
return __generator(this, function (_b) {
|
|
96
|
-
switch (_b.label) {
|
|
97
|
-
case 0:
|
|
98
|
-
_a = [componentName];
|
|
99
|
-
return [4 /*yield*/, getEnvVarsToEdit(instance, env, componentName)];
|
|
100
|
-
case 1: return [2 /*return*/, _a.concat([
|
|
101
|
-
_b.sent()
|
|
102
|
-
])];
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}); }))];
|
|
106
|
-
case 1:
|
|
107
|
-
valuesToEdit = _b.apply(_a, [_j.sent()]);
|
|
108
|
-
hasErrors = true;
|
|
109
|
-
_j.label = 2;
|
|
110
|
-
case 2:
|
|
111
|
-
if (!hasErrors) return [3 /*break*/, 10];
|
|
112
|
-
return [4 /*yield*/, (0, editAsFile_1.editAsFile)(resolveJson(valuesToEdit), (0, common_tags_1.stripIndents)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Please fill in all secrets for: ", "\n\n "], ["\n Please fill in all secrets for: ", "\n\n "])), components.join(", ")))];
|
|
113
|
-
case 3:
|
|
114
|
-
valuesToEdit = _j.sent();
|
|
115
|
-
// check for errors
|
|
116
|
-
hasErrors = false;
|
|
117
|
-
_i = 0, components_1 = components;
|
|
118
|
-
_j.label = 4;
|
|
119
|
-
case 4:
|
|
120
|
-
if (!(_i < components_1.length)) return [3 /*break*/, 9];
|
|
121
|
-
componentName = components_1[_i];
|
|
122
|
-
usedKeys = valuesToEdit[componentName]
|
|
123
|
-
? Object.keys(valuesToEdit[componentName])
|
|
124
|
-
: [];
|
|
125
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getEnvironment)(env, componentName)];
|
|
126
|
-
case 5:
|
|
127
|
-
secretEnvVarKeys = (_j.sent()).secretEnvVarKeys;
|
|
128
|
-
extranous = (0, lodash_1.difference)(usedKeys, secretEnvVarKeys);
|
|
129
|
-
missing = (0, lodash_1.difference)(secretEnvVarKeys, usedKeys);
|
|
130
|
-
if (!(extranous.length > 0 || missing.length > 0)) return [3 /*break*/, 8];
|
|
131
|
-
instance.log("");
|
|
132
|
-
instance.log("\uD83D\uDE3F Oh no! There is something wrong with \"".concat(componentName, "\""));
|
|
133
|
-
instance.log("");
|
|
134
|
-
if (extranous.length > 0) {
|
|
135
|
-
instance.log("these secrets are not declared in the config");
|
|
136
|
-
extranous.forEach(function (key) { return instance.log(key); });
|
|
137
|
-
instance.log("");
|
|
138
|
-
}
|
|
139
|
-
if (missing.length > 0) {
|
|
140
|
-
instance.log("these secrets have not been provided:");
|
|
141
|
-
missing.forEach(function (key) { return instance.log(key); });
|
|
142
|
-
instance.log("");
|
|
143
|
-
}
|
|
144
|
-
return [4 /*yield*/, (0, promise_1.delay)(1000)];
|
|
145
|
-
case 6:
|
|
146
|
-
_j.sent();
|
|
147
|
-
return [4 /*yield*/, instance.prompt({
|
|
148
|
-
"default": true,
|
|
149
|
-
message: "Try again? 🤔",
|
|
150
|
-
name: "shouldContinue",
|
|
151
|
-
type: "confirm"
|
|
152
|
-
})];
|
|
153
|
-
case 7:
|
|
154
|
-
shouldContinue = (_j.sent()).shouldContinue;
|
|
155
|
-
if (!shouldContinue) {
|
|
156
|
-
throw new Error("abort");
|
|
157
|
-
}
|
|
158
|
-
hasErrors = true;
|
|
159
|
-
_j.label = 8;
|
|
160
|
-
case 8:
|
|
161
|
-
_i++;
|
|
162
|
-
return [3 /*break*/, 4];
|
|
163
|
-
case 9: return [3 /*break*/, 2];
|
|
164
|
-
case 10:
|
|
165
|
-
_c = 0, components_2 = components;
|
|
166
|
-
_j.label = 11;
|
|
167
|
-
case 11:
|
|
168
|
-
if (!(_c < components_2.length)) return [3 /*break*/, 17];
|
|
169
|
-
componentName = components_2[_c];
|
|
170
|
-
return [4 /*yield*/, (0, gitlab_1.upsertAllVariables)(instance, valuesToEdit[componentName], env, componentName)];
|
|
171
|
-
case 12:
|
|
172
|
-
_j.sent();
|
|
173
|
-
if (!(0, passwordstore_1.hasBitwarden)()) return [3 /*break*/, 16];
|
|
174
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName)];
|
|
175
|
-
case 13:
|
|
176
|
-
context = _j.sent();
|
|
177
|
-
if (!(context.componentConfig.deploy &&
|
|
178
|
-
((_h = (_g = context.componentConfig.deploy.values) === null || _g === void 0 ? void 0 : _g.cloudsql) === null || _h === void 0 ? void 0 : _h.enabled))) return [3 /*break*/, 16];
|
|
179
|
-
_d = gitlab_1.upsertAllVariables;
|
|
180
|
-
_e = [instance];
|
|
181
|
-
_f = {};
|
|
182
|
-
return [4 /*yield*/, (0, passwordstore_1.readPass)(constants_1.GOOGLE_CLOUD_SQL_PASS_PATH)];
|
|
183
|
-
case 14: return [4 /*yield*/, _d.apply(void 0, _e.concat([(_f.cloudsqlProxyCredentials = _j.sent(),
|
|
184
|
-
_f), env,
|
|
185
|
-
componentName]))];
|
|
186
|
-
case 15:
|
|
187
|
-
_j.sent();
|
|
188
|
-
_j.label = 16;
|
|
189
|
-
case 16:
|
|
190
|
-
_c++;
|
|
191
|
-
return [3 /*break*/, 11];
|
|
192
|
-
case 17: return [2 /*return*/];
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
}); };
|
|
196
|
-
exports["default"] = (function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
197
|
-
var _a, _b;
|
|
198
|
-
return __generator(this, function (_c) {
|
|
199
|
-
switch (_c.label) {
|
|
200
|
-
case 0:
|
|
201
|
-
_b = (_a = vorpal
|
|
202
|
-
.command("project-config-secrets <envComponent>", "setup/update secrets stored in pass"))
|
|
203
|
-
.autocomplete;
|
|
204
|
-
return [4 /*yield*/, (0, autocompletions_1.allEnvsAndAllComponents)()];
|
|
205
|
-
case 1:
|
|
206
|
-
_b.apply(_a, [_c.sent()])
|
|
207
|
-
.action(function (_a) {
|
|
208
|
-
var envComponent = _a.envComponent;
|
|
209
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
var _b, env, componentName, components;
|
|
211
|
-
return __generator(this, function (_c) {
|
|
212
|
-
switch (_c.label) {
|
|
213
|
-
case 0:
|
|
214
|
-
_b = (0, getProjectConfig_1.parseChoice)(envComponent), env = _b.env, componentName = _b.componentName;
|
|
215
|
-
if (!!componentName) return [3 /*break*/, 3];
|
|
216
|
-
return [4 /*yield*/, (0, getProjectConfig_1.getProjectComponents)()];
|
|
217
|
-
case 1:
|
|
218
|
-
components = _c.sent();
|
|
219
|
-
return [4 /*yield*/, doItFor(this, env, components)];
|
|
220
|
-
case 2:
|
|
221
|
-
_c.sent();
|
|
222
|
-
_c.label = 3;
|
|
223
|
-
case 3:
|
|
224
|
-
if (!componentName) return [3 /*break*/, 5];
|
|
225
|
-
return [4 /*yield*/, doItFor(this, env, [componentName])];
|
|
226
|
-
case 4:
|
|
227
|
-
_c.sent();
|
|
228
|
-
_c.label = 5;
|
|
229
|
-
case 5: return [2 /*return*/];
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
return [2 /*return*/];
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
}); }); /*
|
|
238
|
-
async function createNewEnvInPass(env: any, secretEnvVarsMapping: ISecrets) {
|
|
239
|
-
// const passPath = await getPassPath(env);
|
|
240
|
-
this.log(
|
|
241
|
-
"Your selected env is not yet in pass. Do you want to copy it from another env? "
|
|
242
|
-
);
|
|
243
|
-
const noAnswer = "No, I will create a new one from scratch.";
|
|
244
|
-
const { sourceEnv } = await this.prompt({
|
|
245
|
-
type: "list",
|
|
246
|
-
name: "sourceEnv",
|
|
247
|
-
choices: [...(await envAndComponents()).filter((e) => e !== env), noAnswer],
|
|
248
|
-
message: "Do you want to copy an env?",
|
|
249
|
-
});
|
|
250
|
-
// TODO: reimplenent
|
|
251
|
-
}
|
|
252
|
-
*/
|
|
253
|
-
var templateObject_1;
|
|
254
|
-
//# sourceMappingURL=commandConfigSecrets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0C;AAC1C,2CAA2C;AAC3C,iCAAoC;AAEpC,0DAA0E;AAC1E,wEAM6C;AAC7C,2DAA0D;AAC1D,mDAA8D;AAC9D,iEAAyE;AACzE,qDAAkD;AAClD,2DAAkE;AAElE,+FAA+F;AAC/F,IAAM,WAAW,GAAG,UAAC,CAAyC;IAC5D,OAAA,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;YAAX,CAAC,QAAA,EAAE,OAAO,QAAA;QAChC,OAAO;YACL,CAAC;YACD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;oBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBACtC,IAAI;oBACF,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;iBACjC;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CACH;SACF,CAAC;IACJ,CAAC,CAAC,CACH;AAfD,CAeC,CAAC;AACJ,IAAM,gBAAgB,GAAG,UACvB,QAAyB,EACzB,GAAW,EACX,aAAqB;;;;oBAEQ,qBAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,EAAA;;gBAA7D,gBAAgB,GAAK,CAAA,SAAwC,CAAA,iBAA7C;gBAEL,qBAAM,IAAA,6BAAU,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;;gBAA3D,UAAU,GAAG,SAA8C;gBACjE,sBAAO,MAAM,CAAC,WAAW,CACvB,gBAAgB,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB,CAAC,CACtD,EAAC;;;KACH,CAAC;AACF,IAAM,OAAO,GAAG,UACd,QAAyB,EACzB,GAAW,EACX,UAAoB;;;;;;;gBAEuC,KAAA,CAAA,KAAA,MAAM,CAAA,CAAC,WAAW,CAAA;gBAC3E,qBAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,UAAO,aAAa;;;;;0CACjC,aAAa;oCACb,qBAAM,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,CAAC,EAAA;wCAFd;wCAEtC,SAAoD;wCACrD;;;yBAAA,CAAC,CACH,EAAA;;gBANC,YAAY,GAA2C,cACzD,SAKC,EACF;gBACG,SAAS,GAAG,IAAI,CAAC;;;qBACd,SAAS;gBACC,qBAAM,IAAA,uBAAU,EAC7B,WAAW,CAAC,YAAY,CAAC,MACzB,0BAAY,gIAAA,4CACwB,EAAqB,cAEtD,KAFiC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAG1D,EAAA;;gBAND,YAAY,GAAG,SAMd,CAAC;gBACF,mBAAmB;gBACnB,SAAS,GAAG,KAAK,CAAC;sBACoB,EAAV,yBAAU;;;qBAAV,CAAA,wBAAU,CAAA;gBAA3B,aAAa;gBAChB,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC;oBAC1C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC1C,CAAC,CAAC,EAAE,CAAC;gBAEsB,qBAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,EAAA;;gBAA7D,gBAAgB,GAAK,CAAA,SAAwC,CAAA,iBAA7C;gBAClB,SAAS,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACnD,OAAO,GAAG,IAAA,mBAAU,EAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;qBAEnD,CAAA,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA,EAA1C,wBAA0C;gBAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,QAAQ,CAAC,GAAG,CACV,8DAA4C,aAAa,OAAG,CAC7D,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAC7D,SAAS,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;oBAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAClB;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtB,QAAQ,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACtD,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;oBAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAClB;gBAED,qBAAM,IAAA,eAAK,EAAC,IAAI,CAAC,EAAA;;gBAAjB,SAAiB,CAAC;gBACS,qBAAM,QAAQ,CAAC,MAAM,CAAC;wBAC/C,SAAO,EAAE,IAAI;wBACb,OAAO,EAAE,eAAe;wBACxB,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;qBAChB,CAAC,EAAA;;gBALM,cAAc,GAAK,CAAA,SAKzB,CAAA,eALoB;gBAOtB,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC1B;gBACD,SAAS,GAAG,IAAI,CAAC;;;gBArCO,IAAU,CAAA;;;;sBA0CF,EAAV,yBAAU;;;qBAAV,CAAA,wBAAU,CAAA;gBAA3B,aAAa;gBACtB,qBAAM,IAAA,2BAAkB,EACtB,QAAQ,EACR,YAAY,CAAC,aAAa,CAAC,EAC3B,GAAG,EACH,aAAa,CACd,EAAA;;gBALD,SAKC,CAAC;qBAEE,IAAA,4BAAY,GAAE,EAAd,yBAAc;gBAIA,qBAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,aAAa,CAAC,EAAA;;gBAA9D,OAAO,GAAG,SAAoD;qBAElE,CAAA,OAAO,CAAC,eAAe,CAAC,MAAM;qBAC9B,MAAA,MAAA,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,0CAAE,OAAO,CAAA,CAAA,EADxD,yBACwD;gBAElD,KAAA,2BAAkB,CAAA;sBACtB,QAAQ;;gBAEoB,qBAAM,IAAA,wBAAQ,EACtC,sCAA0B,CAC3B,EAAA;qBALL,qBAAM,6BAGF,2BAAwB,GAAE,SAEzB;6BAEH,GAAG;oBACH,aAAa,GACd,EAAA;;gBATD,SASC,CAAC;;;gBA1BoB,IAAU,CAAA;;;;;KA8BvC,CAAC;AAEF,sBAAe,UAAO,MAAc;;;;;gBAClC,KAAA,CAAA,KAAA,MAAM;qBACH,OAAO,CACN,uCAAuC,EACvC,qCAAqC,CACtC,CAAA;qBACA,YAAY,CAAA;gBAAC,qBAAM,IAAA,yCAAuB,GAAE,EAAA;;gBAL/C,cAKgB,SAA+B,EAAC;qBAC7C,MAAM,CAAC,UAAgB,EAAgB;wBAAd,YAAY,kBAAA;;;;;;oCAC9B,KAAyB,IAAA,8BAAW,EAAC,YAAY,CAAC,EAAhD,GAAG,SAAA,EAAE,aAAa,mBAAA,CAA+B;yCAGrD,CAAC,aAAa,EAAd,wBAAc;oCACG,qBAAM,IAAA,uCAAoB,GAAE,EAAA;;oCAAzC,UAAU,GAAG,SAA4B;oCAC/C,qBAAM,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAA;;oCAApC,SAAoC,CAAC;;;yCAEnC,aAAa,EAAb,wBAAa;oCACf,qBAAM,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,EAAA;;oCAAzC,SAAyC,CAAC;;;;;;iBA6B7C,CAAC,CAAC;;;;KACN,EAAC,CAAC;;;;;;;;;;;;;;;EAeD"}
|