@catladder/cli 1.105.1 → 1.106.0
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/dist/apps/catenv/printVariables.js +1 -0
- package/dist/apps/catenv/printVariables.js.map +1 -1
- package/dist/apps/catenv/writeDotEnvFiles.js +1 -0
- package/dist/apps/catenv/writeDotEnvFiles.js.map +1 -1
- package/dist/apps/cli/commands/cloudSQL/commandRestoreDb.js +10 -22
- package/dist/apps/cli/commands/cloudSQL/commandRestoreDb.js.map +1 -1
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js +4 -4
- package/dist/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +2 -2
- package/dist/config/getProjectConfig.d.ts +2 -6
- package/dist/config/getProjectConfig.js +27 -24
- package/dist/config/getProjectConfig.js.map +1 -1
- package/dist/gcloud/cloudSql/startProxy.d.ts +10 -0
- package/dist/gcloud/cloudSql/startProxy.js +121 -0
- package/dist/gcloud/cloudSql/startProxy.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/apps/catenv/printVariables.ts +3 -1
- package/src/apps/catenv/writeDotEnvFiles.ts +1 -0
- package/src/apps/cli/commands/cloudSQL/commandRestoreDb.ts +14 -29
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +6 -9
- package/src/config/getProjectConfig.ts +34 -20
- package/src/gcloud/cloudSql/startProxy.ts +74 -0
- package/src/types/child-process-promise.d.ts +2 -1
|
@@ -16,13 +16,9 @@ export declare const getAllComponentsWithAllEnvsHierarchical: () => Promise<{
|
|
|
16
16
|
export declare const getAllPipelineContexts: () => Promise<import("@catladder/pipeline").Context[]>;
|
|
17
17
|
export declare const getEnvironment: (env: string, componentName: string) => Promise<import("@catladder/pipeline").Environment>;
|
|
18
18
|
export declare const getGitlabVar: (vorpal: CommandInstance, env: string, componentName: string, variableName: string) => Promise<string>;
|
|
19
|
-
export declare const getEnvVarsResolved: (vorpal: CommandInstance | null, env: string, componentName: string | null) => Promise<
|
|
20
|
-
[k: string]: string;
|
|
21
|
-
}>;
|
|
19
|
+
export declare const getEnvVarsResolved: (vorpal: CommandInstance | null, env: string, componentName: string | null) => Promise<any>;
|
|
22
20
|
/**
|
|
23
21
|
*
|
|
24
22
|
* is used to get job only vars that should also be editable locally with catladder.
|
|
25
23
|
*/
|
|
26
|
-
export declare const getJobOnlyEnvVarsResolved: (vorpal: CommandInstance, env: string, componentName: string) => Promise<
|
|
27
|
-
[k: string]: string;
|
|
28
|
-
}>;
|
|
24
|
+
export declare const getJobOnlyEnvVarsResolved: (vorpal: CommandInstance, env: string, componentName: string) => Promise<any>;
|
|
@@ -1,15 +1,4 @@
|
|
|
1
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
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
3
|
if (k2 === undefined) k2 = k;
|
|
15
4
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -235,25 +224,31 @@ var getGitlabVar = function (vorpal, env, componentName, variableName) { return
|
|
|
235
224
|
});
|
|
236
225
|
}); };
|
|
237
226
|
exports.getGitlabVar = getGitlabVar;
|
|
238
|
-
var resolveSecrets = function (vorpal,
|
|
227
|
+
var resolveSecrets = function (vorpal, varSets) { return __awaiter(void 0, void 0, void 0, function () {
|
|
239
228
|
var allVariablesInGitlab;
|
|
240
229
|
return __generator(this, function (_a) {
|
|
241
230
|
switch (_a.label) {
|
|
242
231
|
case 0: return [4 /*yield*/, (0, gitlab_1.getAllVariables)(vorpal)];
|
|
243
232
|
case 1:
|
|
244
233
|
allVariablesInGitlab = _a.sent();
|
|
245
|
-
return [2 /*return*/, Object.fromEntries(
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
234
|
+
return [2 /*return*/, Object.fromEntries(varSets.flatMap(function (set) {
|
|
235
|
+
return Object.entries(set.envVars)
|
|
236
|
+
.map(function (_a) {
|
|
237
|
+
var key = _a[0], value = _a[1];
|
|
238
|
+
var secretKey = set.secretEnvVarKeys.find(function (k) { return k.key === key; });
|
|
239
|
+
if (secretKey) {
|
|
240
|
+
if (secretKey.hidden) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
for (var _i = 0, allVariablesInGitlab_1 = allVariablesInGitlab; _i < allVariablesInGitlab_1.length; _i++) {
|
|
244
|
+
var variable = allVariablesInGitlab_1[_i];
|
|
245
|
+
value = value.replace(new RegExp("\\$" + variable.key, "g"), variable.value);
|
|
246
|
+
}
|
|
247
|
+
return [key, value];
|
|
253
248
|
}
|
|
254
249
|
return [key, value];
|
|
255
|
-
}
|
|
256
|
-
|
|
250
|
+
})
|
|
251
|
+
.filter(Boolean);
|
|
257
252
|
}))];
|
|
258
253
|
}
|
|
259
254
|
});
|
|
@@ -274,7 +269,12 @@ var getEnvVarsResolved = function (vorpal, env, componentName) { return __awaite
|
|
|
274
269
|
envionment = _a.sent();
|
|
275
270
|
// in the pipeline the secrets alreadyy exists and bash will expand them
|
|
276
271
|
// but here we need to manually load them
|
|
277
|
-
return [2 /*return*/, resolveSecrets(vorpal,
|
|
272
|
+
return [2 /*return*/, resolveSecrets(vorpal, [
|
|
273
|
+
{
|
|
274
|
+
envVars: envionment.envVars,
|
|
275
|
+
secretEnvVarKeys: envionment.secretEnvVarKeys
|
|
276
|
+
},
|
|
277
|
+
])];
|
|
278
278
|
case 3:
|
|
279
279
|
e_2 = _a.sent();
|
|
280
280
|
// env is disabled
|
|
@@ -297,7 +297,10 @@ var getJobOnlyEnvVarsResolved = function (vorpal, env, componentName) { return _
|
|
|
297
297
|
return [4 /*yield*/, (0, exports.getEnvironment)(env, componentName)];
|
|
298
298
|
case 1:
|
|
299
299
|
envionment = _a.sent();
|
|
300
|
-
return [2 /*return*/, resolveSecrets(vorpal,
|
|
300
|
+
return [2 /*return*/, resolveSecrets(vorpal, [
|
|
301
|
+
envionment.jobOnlyVars.build,
|
|
302
|
+
envionment.jobOnlyVars.deploy,
|
|
303
|
+
])];
|
|
301
304
|
case 2:
|
|
302
305
|
e_3 = _a.sent();
|
|
303
306
|
// env is disabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../src/config/getProjectConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getProjectConfig.js","sourceRoot":"","sources":["../../src/config/getProjectConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const ERROR_NOT_INSTALLED = "cloud-sql-proxy not installed";
|
|
2
|
+
export declare type CloudSqlBackgroundProxy = {
|
|
3
|
+
stop: () => void;
|
|
4
|
+
};
|
|
5
|
+
export declare type CloudSqlProxyOptions = {
|
|
6
|
+
instanceName: string;
|
|
7
|
+
localPort: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const startCloudSqlProxyInCurrentShell: (opts: CloudSqlProxyOptions) => Promise<void>;
|
|
10
|
+
export declare const startCloudSqlProxyInBackground: (opts: CloudSqlProxyOptions) => Promise<CloudSqlBackgroundProxy>;
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
exports.__esModule = true;
|
|
42
|
+
exports.startCloudSqlProxyInBackground = exports.startCloudSqlProxyInCurrentShell = exports.ERROR_NOT_INSTALLED = void 0;
|
|
43
|
+
var child_process_promise_1 = require("child-process-promise");
|
|
44
|
+
var command_exists_promise_1 = __importDefault(require("command-exists-promise"));
|
|
45
|
+
exports.ERROR_NOT_INSTALLED = "cloud-sql-proxy not installed";
|
|
46
|
+
var getProxyCommandSpawnArgs = function (_a) {
|
|
47
|
+
var localPort = _a.localPort, instanceName = _a.instanceName;
|
|
48
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var commandString, _b, _c, cmd, args;
|
|
50
|
+
return __generator(this, function (_d) {
|
|
51
|
+
switch (_d.label) {
|
|
52
|
+
case 0: return [4 /*yield*/, (0, command_exists_promise_1["default"])("cloud-sql-proxy")];
|
|
53
|
+
case 1:
|
|
54
|
+
if (!(_d.sent())) return [3 /*break*/, 2];
|
|
55
|
+
_b = "cloud-sql-proxy --port ".concat(localPort, " ").concat(instanceName);
|
|
56
|
+
return [3 /*break*/, 4];
|
|
57
|
+
case 2: return [4 /*yield*/, (0, command_exists_promise_1["default"])("cloud_sql_proxy" // v1
|
|
58
|
+
)];
|
|
59
|
+
case 3:
|
|
60
|
+
_b = (_d.sent())
|
|
61
|
+
? "cloud_sql_proxy -instances ".concat(instanceName, "=tcp:").concat(localPort)
|
|
62
|
+
: null;
|
|
63
|
+
_d.label = 4;
|
|
64
|
+
case 4:
|
|
65
|
+
commandString = _b;
|
|
66
|
+
if (!commandString) {
|
|
67
|
+
throw new Error(exports.ERROR_NOT_INSTALLED);
|
|
68
|
+
}
|
|
69
|
+
_c = commandString.split(" "), cmd = _c[0], args = _c.slice(1);
|
|
70
|
+
return [2 /*return*/, { cmd: cmd, args: args }];
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
var startCloudSqlProxyInCurrentShell = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
76
|
+
var _a, cmd, args;
|
|
77
|
+
return __generator(this, function (_b) {
|
|
78
|
+
switch (_b.label) {
|
|
79
|
+
case 0: return [4 /*yield*/, getProxyCommandSpawnArgs(opts)];
|
|
80
|
+
case 1:
|
|
81
|
+
_a = _b.sent(), cmd = _a.cmd, args = _a.args;
|
|
82
|
+
return [4 /*yield*/, (0, child_process_promise_1.spawn)(cmd, args, {
|
|
83
|
+
stdio: "inherit",
|
|
84
|
+
shell: true
|
|
85
|
+
})];
|
|
86
|
+
case 2:
|
|
87
|
+
_b.sent();
|
|
88
|
+
return [2 /*return*/];
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}); };
|
|
92
|
+
exports.startCloudSqlProxyInCurrentShell = startCloudSqlProxyInCurrentShell;
|
|
93
|
+
var startCloudSqlProxyInBackground = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
+
var _a, cmd, args, proxyPromise, stop;
|
|
95
|
+
return __generator(this, function (_b) {
|
|
96
|
+
switch (_b.label) {
|
|
97
|
+
case 0: return [4 /*yield*/, getProxyCommandSpawnArgs(opts)];
|
|
98
|
+
case 1:
|
|
99
|
+
_a = _b.sent(), cmd = _a.cmd, args = _a.args;
|
|
100
|
+
proxyPromise = (0, child_process_promise_1.spawn)(cmd, args, { shell: "bash" });
|
|
101
|
+
// wait until it starts
|
|
102
|
+
return [4 /*yield*/, (0, child_process_promise_1.spawn)("echo -n \"Waiting for proxy\"\n until echo > /dev/tcp/localhost/".concat(opts.localPort, "; do\n sleep 0.2\n echo -n \".\"\n done 2>/dev/null"), [], { shell: "bash" })];
|
|
103
|
+
case 2:
|
|
104
|
+
// wait until it starts
|
|
105
|
+
_b.sent();
|
|
106
|
+
stop = function () {
|
|
107
|
+
proxyPromise["catch"](function () {
|
|
108
|
+
// ignore
|
|
109
|
+
});
|
|
110
|
+
proxyPromise.childProcess.kill();
|
|
111
|
+
};
|
|
112
|
+
// stop if catladder i stopped
|
|
113
|
+
process.on("beforeExit", stop);
|
|
114
|
+
return [2 /*return*/, {
|
|
115
|
+
stop: stop
|
|
116
|
+
}];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}); };
|
|
120
|
+
exports.startCloudSqlProxyInBackground = startCloudSqlProxyInBackground;
|
|
121
|
+
//# sourceMappingURL=startProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startProxy.js","sourceRoot":"","sources":["../../../src/gcloud/cloudSql/startProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA8C;AAC9C,kFAAmD;AAEtC,QAAA,mBAAmB,GAAG,+BAA+B,CAAC;AAWnE,IAAM,wBAAwB,GAAG,UAAO,EAGjB;QAFrB,SAAS,eAAA,EACT,YAAY,kBAAA;;;;;wBAEW,qBAAM,IAAA,mCAAa,EAAC,iBAAiB,CAAC,EAAA;;yBAAvC,CAAC,SAAsC,CAAC,EAAxC,wBAAwC;oBAC1D,KAAA,iCAA0B,SAAS,cAAI,YAAY,CAAE,CAAA;;wBACpD,qBAAM,IAAA,mCAAa,EAClB,iBAAiB,CAAC,KAAK;qBACxB,EAAA;;oBAFD,KAAA,CAAC,SAEA,CAAC;wBACJ,CAAC,CAAC,qCAA8B,YAAY,kBAAQ,SAAS,CAAE;wBAC/D,CAAC,CAAC,IAAI,CAAA;;;oBANF,aAAa,KAMX;oBACR,IAAI,CAAC,aAAa,EAAE;wBAClB,MAAM,IAAI,KAAK,CAAC,2BAAmB,CAAC,CAAC;qBACtC;oBAEK,KAAiB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAxC,GAAG,QAAA,EAAK,IAAI,cAAA,CAA6B;oBAChD,sBAAO,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,EAAC;;;;CACtB,CAAC;AAEK,IAAM,gCAAgC,GAAG,UAC9C,IAA0B;;;;oBAEJ,qBAAM,wBAAwB,CAAC,IAAI,CAAC,EAAA;;gBAApD,KAAgB,SAAoC,EAAlD,GAAG,SAAA,EAAE,IAAI,UAAA;gBAEjB,qBAAM,IAAA,6BAAK,EAAC,GAAG,EAAE,IAAI,EAAE;wBACrB,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,IAAI;qBACZ,CAAC,EAAA;;gBAHF,SAGE,CAAC;;;;KACJ,CAAC;AATW,QAAA,gCAAgC,oCAS3C;AAEK,IAAM,8BAA8B,GAAG,UAC5C,IAA0B;;;;oBAEJ,qBAAM,wBAAwB,CAAC,IAAI,CAAC,EAAA;;gBAApD,KAAgB,SAAoC,EAAlD,GAAG,SAAA,EAAE,IAAI,UAAA;gBAEX,YAAY,GAAG,IAAA,6BAAK,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEzD,uBAAuB;gBACvB,qBAAM,IAAA,6BAAK,EACT,+EACoC,IAAI,CAAC,SAAS,2EAG/B,EACnB,EAAE,EACF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,EAAA;;gBATD,uBAAuB;gBACvB,SAQC,CAAC;gBACI,IAAI,GAAG;oBACX,YAAY,CAAC,OAAK,CAAA,CAAC;wBACjB,SAAS;oBACX,CAAC,CAAC,CAAC;oBACH,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACnC,CAAC,CAAC;gBACF,8BAA8B;gBAC9B,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAE/B,sBAAO;wBACL,IAAI,MAAA;qBACL,EAAC;;;KACH,CAAC;AA7BW,QAAA,8BAA8B,kCA6BzC"}
|