@catladder/pipeline 0.0.0-refactor-gcloud-api-ee7f86ef → 0.0.0-refactor-gcloud-api-3167c158
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/bundles/catladder-gitlab/index.js +113 -28
- package/dist/constants.js +1 -1
- package/dist/deploy/cloudRun/deployJob.js +55 -27
- package/dist/deploy/cloudRun/utils/createArgsString.d.ts +11 -0
- package/dist/deploy/cloudRun/utils/createArgsString.js +50 -0
- package/dist/deploy/types/googleCloudRun.d.ts +4 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +1572 -0
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +56 -56
- package/examples/__snapshots__/custom-build-job.ts.snap +8 -8
- package/examples/cloud-run-non-public.ts +27 -0
- package/package.json +1 -1
- package/src/deploy/cloudRun/deployJob.ts +57 -34
- package/src/deploy/cloudRun/utils/createArgsString.ts +19 -0
- package/src/deploy/types/googleCloudRun.ts +5 -0
|
@@ -28318,7 +28318,7 @@ exports.readConfigSync = readConfigSync;
|
|
|
28318
28318
|
|
|
28319
28319
|
exports.__esModule = true;
|
|
28320
28320
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
28321
|
-
exports.PIPELINE_IMAGE_TAG = "refactor-gcloud-api-
|
|
28321
|
+
exports.PIPELINE_IMAGE_TAG = "refactor-gcloud-api-3167c158" || 0;
|
|
28322
28322
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
28323
28323
|
|
|
28324
28324
|
/***/ }),
|
|
@@ -29456,6 +29456,16 @@ exports.getBaseRollbackJob = getBaseRollbackJob;
|
|
|
29456
29456
|
"use strict";
|
|
29457
29457
|
|
|
29458
29458
|
|
|
29459
|
+
var __assign = this && this.__assign || function () {
|
|
29460
|
+
__assign = Object.assign || function (t) {
|
|
29461
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
29462
|
+
s = arguments[i];
|
|
29463
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
29464
|
+
}
|
|
29465
|
+
return t;
|
|
29466
|
+
};
|
|
29467
|
+
return __assign.apply(this, arguments);
|
|
29468
|
+
};
|
|
29459
29469
|
var __read = this && this.__read || function (o, n) {
|
|
29460
29470
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
29461
29471
|
if (!m) return o;
|
|
@@ -29501,6 +29511,7 @@ var gcloudServiceAccountLoginCommands_1 = __nccwpck_require__(818);
|
|
|
29501
29511
|
var database_1 = __nccwpck_require__(6745);
|
|
29502
29512
|
var gitlab_1 = __nccwpck_require__(9818);
|
|
29503
29513
|
var jobName_1 = __nccwpck_require__(9357);
|
|
29514
|
+
var createArgsString_1 = __nccwpck_require__(947);
|
|
29504
29515
|
var setExtraVarsScripts = function (deployConfig) {
|
|
29505
29516
|
return ["export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe ".concat(deployConfig.projectId, " --format=\"value(projectNumber)\")"), "echo \"GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER\""];
|
|
29506
29517
|
};
|
|
@@ -29526,9 +29537,16 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
29526
29537
|
value = _b[1];
|
|
29527
29538
|
return "".concat(key, "=").concat(value);
|
|
29528
29539
|
}).join(",");
|
|
29529
|
-
var commonArgs =
|
|
29530
|
-
|
|
29531
|
-
|
|
29540
|
+
var commonArgs = {
|
|
29541
|
+
project: deployConfig.projectId,
|
|
29542
|
+
region: deployConfig.region
|
|
29543
|
+
};
|
|
29544
|
+
var commonDeployArgs = __assign(__assign({
|
|
29545
|
+
image: gcloudImageName
|
|
29546
|
+
}, commonArgs), {
|
|
29547
|
+
"set-cloudsql-instances": deployConfig.cloudSql ? deployConfig.cloudSql.instanceConnectionName : undefined,
|
|
29548
|
+
labels: labelsString
|
|
29549
|
+
});
|
|
29532
29550
|
var serviceName = context.environment.fullName.toLowerCase();
|
|
29533
29551
|
var getFullJobName = function (name) {
|
|
29534
29552
|
return (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
@@ -29558,35 +29576,33 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
29558
29576
|
};
|
|
29559
29577
|
});
|
|
29560
29578
|
var getServiceDeployScript = function (service, nameSuffix) {
|
|
29561
|
-
var _a;
|
|
29579
|
+
var _a, _b;
|
|
29562
29580
|
var customConfig = service !== true ? service : undefined;
|
|
29563
29581
|
var command = service !== true ? (_a = service === null || service === void 0 ? void 0 : service.command) !== null && _a !== void 0 ? _a : context.componentConfig.build.startCommand : undefined;
|
|
29564
|
-
var
|
|
29565
|
-
|
|
29566
|
-
|
|
29582
|
+
var argsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
29583
|
+
command: command ? '"' + command.split(" ").join(",") + '"' : undefined
|
|
29584
|
+
}, commonDeployArgs), {
|
|
29585
|
+
"env-vars-file": "____envvars.yaml",
|
|
29567
29586
|
"min-instances": customConfig === null || customConfig === void 0 ? void 0 : customConfig.minInstances,
|
|
29568
29587
|
"max-instances": customConfig === null || customConfig === void 0 ? void 0 : customConfig.maxInstances,
|
|
29569
29588
|
"no-cpu-throttling": customConfig === null || customConfig === void 0 ? void 0 : customConfig.noCpuThrottling
|
|
29570
|
-
};
|
|
29571
|
-
var
|
|
29572
|
-
|
|
29573
|
-
value = _b[1];
|
|
29574
|
-
return !(0, lodash_1.isNil)(value);
|
|
29575
|
-
}).map(function (_a) {
|
|
29576
|
-
var _b = __read(_a, 2),
|
|
29577
|
-
key = _b[0],
|
|
29578
|
-
value = _b[1];
|
|
29579
|
-
return "--".concat(key).concat(value !== true ? "=".concat(value) : "");
|
|
29580
|
-
}).join(" ");
|
|
29581
|
-
return "gcloud run deploy ".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "", " ").concat(commandArg, " ").concat(commonDeployArgs, " --env-vars-file=____envvars.yaml ").concat(argsString);
|
|
29589
|
+
}));
|
|
29590
|
+
var authenticationString = ((_b = customConfig === null || customConfig === void 0 ? void 0 : customConfig.allowUnauthenticated) !== null && _b !== void 0 ? _b : true) ? "--allow-unauthenticated" : "--no-allow-unauthenticated";
|
|
29591
|
+
return "gcloud run deploy ".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "", " ").concat(argsString, " ").concat(authenticationString);
|
|
29582
29592
|
};
|
|
29583
29593
|
var getJobCreateScriptsForJob = function (jobName, job) {
|
|
29584
29594
|
// due to some oversight from google, jobs create does not accept `--env-vars-file` 🤦
|
|
29585
29595
|
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
29586
29596
|
// also we cannot upsert a job, so we have to create it and catch the error and then update
|
|
29587
|
-
var
|
|
29588
|
-
|
|
29597
|
+
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
29598
|
+
command: '"' + job.command.split(" ").join(",") + '"'
|
|
29599
|
+
}, commonDeployArgs), {
|
|
29600
|
+
memory: job.memory || "512Mi"
|
|
29601
|
+
}));
|
|
29602
|
+
var argsString = "".concat(jobName, " ").concat(commonDeployArgsString);
|
|
29603
|
+
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud beta run jobs create ".concat(argsString)])), false), ["gcloud beta run jobs update ".concat(argsString, " --env-vars-file=____envvars.yaml")], false);
|
|
29589
29604
|
};
|
|
29605
|
+
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
29590
29606
|
var getJobCreateScripts = function () {
|
|
29591
29607
|
return jobsWithNames.map(function (_a) {
|
|
29592
29608
|
var job = _a.job,
|
|
@@ -29595,7 +29611,7 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
29595
29611
|
}).flat();
|
|
29596
29612
|
};
|
|
29597
29613
|
var getJobRunScriptForJob = function (jobName) {
|
|
29598
|
-
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(
|
|
29614
|
+
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(commonArgsString);
|
|
29599
29615
|
};
|
|
29600
29616
|
var getJobRunScripts = function (when) {
|
|
29601
29617
|
return jobsWithNames.filter(function (_a) {
|
|
@@ -29611,20 +29627,32 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
29611
29627
|
var job = _a.job,
|
|
29612
29628
|
jobName = _a.jobName,
|
|
29613
29629
|
schedulerName = _a.schedulerName;
|
|
29614
|
-
var
|
|
29630
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
29631
|
+
project: deployConfig.projectId,
|
|
29632
|
+
location: deployConfig.region,
|
|
29633
|
+
schedule: "\"".concat(job.schedule, "\""),
|
|
29634
|
+
uri: "\"https://".concat(deployConfig.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfig.projectId, "/jobs/").concat(jobName, ":run\""),
|
|
29635
|
+
"http-method": "POST",
|
|
29636
|
+
"oauth-service-account-email": "$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"
|
|
29637
|
+
});
|
|
29638
|
+
var commonArgs = "http ".concat(schedulerName, " ").concat(argsString);
|
|
29615
29639
|
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs create ".concat(commonArgs)])), false), ["gcloud scheduler jobs update ".concat(commonArgs)], false);
|
|
29616
29640
|
}).flat();
|
|
29617
29641
|
};
|
|
29618
29642
|
var getDeleteSchedulesScripts = function () {
|
|
29643
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
29644
|
+
project: deployConfig.projectId,
|
|
29645
|
+
location: deployConfig.region
|
|
29646
|
+
});
|
|
29619
29647
|
return jobsWithSchedule.map(function (_a) {
|
|
29620
29648
|
var schedulerName = _a.schedulerName;
|
|
29621
|
-
return __spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs delete ".concat(schedulerName, "
|
|
29649
|
+
return __spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs delete ".concat(schedulerName, " ").concat(argsString)])), false);
|
|
29622
29650
|
}).flat();
|
|
29623
29651
|
};
|
|
29624
29652
|
var getDeleteJobsScripts = function () {
|
|
29625
29653
|
return jobsWithNames.map(function (_a) {
|
|
29626
29654
|
var jobName = _a.jobName;
|
|
29627
|
-
return "gcloud beta run jobs delete ".concat(jobName, " ").concat(
|
|
29655
|
+
return "gcloud beta run jobs delete ".concat(jobName, " ").concat(commonArgsString);
|
|
29628
29656
|
});
|
|
29629
29657
|
};
|
|
29630
29658
|
var deployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(setExtraVarsScripts(deployConfig)), false), __read(pushImageToArtifactsRegistry), false), ["echo \"$ENV_VARS\" > ____envvars.yaml"], false), __read(deployConfig.cloudSql ? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
@@ -29634,10 +29662,10 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
29634
29662
|
service = _b[1];
|
|
29635
29663
|
return getServiceDeployScript(service, "-" + name);
|
|
29636
29664
|
})), false), __read(getJobRunScripts("postDeploy")), false), ["docker image rm ".concat(gcloudImageName)], false);
|
|
29637
|
-
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(
|
|
29665
|
+
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgsString)] : []), false), __read(Object.entries((_c = deployConfig.additionalServices) !== null && _c !== void 0 ? _c : {}).map(function (_a) {
|
|
29638
29666
|
var _b = __read(_a, 1),
|
|
29639
29667
|
name = _b[0];
|
|
29640
|
-
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(
|
|
29668
|
+
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(commonArgsString);
|
|
29641
29669
|
})), false), __read(getDeleteSchedulesScripts()), false), __read(getDeleteJobsScripts()), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false);
|
|
29642
29670
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, (0, docker_1.getDockerJobBaseProps)(context), {
|
|
29643
29671
|
artifacts: {
|
|
@@ -29783,6 +29811,63 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
29783
29811
|
|
|
29784
29812
|
/***/ }),
|
|
29785
29813
|
|
|
29814
|
+
/***/ 947:
|
|
29815
|
+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
29816
|
+
|
|
29817
|
+
"use strict";
|
|
29818
|
+
|
|
29819
|
+
|
|
29820
|
+
var __read = this && this.__read || function (o, n) {
|
|
29821
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
29822
|
+
if (!m) return o;
|
|
29823
|
+
var i = m.call(o),
|
|
29824
|
+
r,
|
|
29825
|
+
ar = [],
|
|
29826
|
+
e;
|
|
29827
|
+
try {
|
|
29828
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
29829
|
+
} catch (error) {
|
|
29830
|
+
e = {
|
|
29831
|
+
error: error
|
|
29832
|
+
};
|
|
29833
|
+
} finally {
|
|
29834
|
+
try {
|
|
29835
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29836
|
+
} finally {
|
|
29837
|
+
if (e) throw e.error;
|
|
29838
|
+
}
|
|
29839
|
+
}
|
|
29840
|
+
return ar;
|
|
29841
|
+
};
|
|
29842
|
+
exports.__esModule = true;
|
|
29843
|
+
exports.createArgsString = void 0;
|
|
29844
|
+
var lodash_1 = __nccwpck_require__(3255);
|
|
29845
|
+
/**
|
|
29846
|
+
* creates arguments string:
|
|
29847
|
+
*
|
|
29848
|
+
* --key=value
|
|
29849
|
+
*
|
|
29850
|
+
* - undefined or null values will get removed completly
|
|
29851
|
+
* - true will just be "--key"
|
|
29852
|
+
* @param args args record
|
|
29853
|
+
* @returns
|
|
29854
|
+
*/
|
|
29855
|
+
var createArgsString = function (args) {
|
|
29856
|
+
return Object.entries(args).filter(function (_a) {
|
|
29857
|
+
var _b = __read(_a, 2),
|
|
29858
|
+
value = _b[1];
|
|
29859
|
+
return !(0, lodash_1.isNil)(value);
|
|
29860
|
+
}).map(function (_a) {
|
|
29861
|
+
var _b = __read(_a, 2),
|
|
29862
|
+
key = _b[0],
|
|
29863
|
+
value = _b[1];
|
|
29864
|
+
return "--".concat(key).concat(value !== true ? "=".concat(value) : "");
|
|
29865
|
+
}).join(" ");
|
|
29866
|
+
};
|
|
29867
|
+
exports.createArgsString = createArgsString;
|
|
29868
|
+
|
|
29869
|
+
/***/ }),
|
|
29870
|
+
|
|
29786
29871
|
/***/ 6745:
|
|
29787
29872
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
29788
29873
|
|
package/dist/constants.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
5
|
-
exports.PIPELINE_IMAGE_TAG = "refactor-gcloud-api-
|
|
5
|
+
exports.PIPELINE_IMAGE_TAG = "refactor-gcloud-api-3167c158" || "";
|
|
6
6
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "";
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
3
13
|
var __read = this && this.__read || function (o, n) {
|
|
4
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
15
|
if (!m) return o;
|
|
@@ -45,6 +55,7 @@ var gcloudServiceAccountLoginCommands_1 = require("./utils/gcloudServiceAccountL
|
|
|
45
55
|
var database_1 = require("./utils/database");
|
|
46
56
|
var gitlab_1 = require("../../utils/gitlab");
|
|
47
57
|
var jobName_1 = require("./utils/jobName");
|
|
58
|
+
var createArgsString_1 = require("./utils/createArgsString");
|
|
48
59
|
var setExtraVarsScripts = function (deployConfig) {
|
|
49
60
|
return ["export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe ".concat(deployConfig.projectId, " --format=\"value(projectNumber)\")"), "echo \"GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER\""];
|
|
50
61
|
};
|
|
@@ -70,9 +81,16 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
70
81
|
value = _b[1];
|
|
71
82
|
return "".concat(key, "=").concat(value);
|
|
72
83
|
}).join(",");
|
|
73
|
-
var commonArgs =
|
|
74
|
-
|
|
75
|
-
|
|
84
|
+
var commonArgs = {
|
|
85
|
+
project: deployConfig.projectId,
|
|
86
|
+
region: deployConfig.region
|
|
87
|
+
};
|
|
88
|
+
var commonDeployArgs = __assign(__assign({
|
|
89
|
+
image: gcloudImageName
|
|
90
|
+
}, commonArgs), {
|
|
91
|
+
"set-cloudsql-instances": deployConfig.cloudSql ? deployConfig.cloudSql.instanceConnectionName : undefined,
|
|
92
|
+
labels: labelsString
|
|
93
|
+
});
|
|
76
94
|
var serviceName = context.environment.fullName.toLowerCase();
|
|
77
95
|
var getFullJobName = function (name) {
|
|
78
96
|
return (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
@@ -102,35 +120,33 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
102
120
|
};
|
|
103
121
|
});
|
|
104
122
|
var getServiceDeployScript = function (service, nameSuffix) {
|
|
105
|
-
var _a;
|
|
123
|
+
var _a, _b;
|
|
106
124
|
var customConfig = service !== true ? service : undefined;
|
|
107
125
|
var command = service !== true ? (_a = service === null || service === void 0 ? void 0 : service.command) !== null && _a !== void 0 ? _a : context.componentConfig.build.startCommand : undefined;
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
|
|
126
|
+
var argsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
127
|
+
command: command ? '"' + command.split(" ").join(",") + '"' : undefined
|
|
128
|
+
}, commonDeployArgs), {
|
|
129
|
+
"env-vars-file": "____envvars.yaml",
|
|
111
130
|
"min-instances": customConfig === null || customConfig === void 0 ? void 0 : customConfig.minInstances,
|
|
112
131
|
"max-instances": customConfig === null || customConfig === void 0 ? void 0 : customConfig.maxInstances,
|
|
113
132
|
"no-cpu-throttling": customConfig === null || customConfig === void 0 ? void 0 : customConfig.noCpuThrottling
|
|
114
|
-
};
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
value = _b[1];
|
|
118
|
-
return !(0, lodash_1.isNil)(value);
|
|
119
|
-
}).map(function (_a) {
|
|
120
|
-
var _b = __read(_a, 2),
|
|
121
|
-
key = _b[0],
|
|
122
|
-
value = _b[1];
|
|
123
|
-
return "--".concat(key).concat(value !== true ? "=".concat(value) : "");
|
|
124
|
-
}).join(" ");
|
|
125
|
-
return "gcloud run deploy ".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "", " ").concat(commandArg, " ").concat(commonDeployArgs, " --env-vars-file=____envvars.yaml ").concat(argsString);
|
|
133
|
+
}));
|
|
134
|
+
var authenticationString = ((_b = customConfig === null || customConfig === void 0 ? void 0 : customConfig.allowUnauthenticated) !== null && _b !== void 0 ? _b : true) ? "--allow-unauthenticated" : "--no-allow-unauthenticated";
|
|
135
|
+
return "gcloud run deploy ".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "", " ").concat(argsString, " ").concat(authenticationString);
|
|
126
136
|
};
|
|
127
137
|
var getJobCreateScriptsForJob = function (jobName, job) {
|
|
128
138
|
// due to some oversight from google, jobs create does not accept `--env-vars-file` 🤦
|
|
129
139
|
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
130
140
|
// also we cannot upsert a job, so we have to create it and catch the error and then update
|
|
131
|
-
var
|
|
132
|
-
|
|
141
|
+
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
142
|
+
command: '"' + job.command.split(" ").join(",") + '"'
|
|
143
|
+
}, commonDeployArgs), {
|
|
144
|
+
memory: job.memory || "512Mi"
|
|
145
|
+
}));
|
|
146
|
+
var argsString = "".concat(jobName, " ").concat(commonDeployArgsString);
|
|
147
|
+
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud beta run jobs create ".concat(argsString)])), false), ["gcloud beta run jobs update ".concat(argsString, " --env-vars-file=____envvars.yaml")], false);
|
|
133
148
|
};
|
|
149
|
+
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
134
150
|
var getJobCreateScripts = function () {
|
|
135
151
|
return jobsWithNames.map(function (_a) {
|
|
136
152
|
var job = _a.job,
|
|
@@ -139,7 +155,7 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
139
155
|
}).flat();
|
|
140
156
|
};
|
|
141
157
|
var getJobRunScriptForJob = function (jobName) {
|
|
142
|
-
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(
|
|
158
|
+
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(commonArgsString);
|
|
143
159
|
};
|
|
144
160
|
var getJobRunScripts = function (when) {
|
|
145
161
|
return jobsWithNames.filter(function (_a) {
|
|
@@ -155,20 +171,32 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
155
171
|
var job = _a.job,
|
|
156
172
|
jobName = _a.jobName,
|
|
157
173
|
schedulerName = _a.schedulerName;
|
|
158
|
-
var
|
|
174
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
175
|
+
project: deployConfig.projectId,
|
|
176
|
+
location: deployConfig.region,
|
|
177
|
+
schedule: "\"".concat(job.schedule, "\""),
|
|
178
|
+
uri: "\"https://".concat(deployConfig.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfig.projectId, "/jobs/").concat(jobName, ":run\""),
|
|
179
|
+
"http-method": "POST",
|
|
180
|
+
"oauth-service-account-email": "$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"
|
|
181
|
+
});
|
|
182
|
+
var commonArgs = "http ".concat(schedulerName, " ").concat(argsString);
|
|
159
183
|
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs create ".concat(commonArgs)])), false), ["gcloud scheduler jobs update ".concat(commonArgs)], false);
|
|
160
184
|
}).flat();
|
|
161
185
|
};
|
|
162
186
|
var getDeleteSchedulesScripts = function () {
|
|
187
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
188
|
+
project: deployConfig.projectId,
|
|
189
|
+
location: deployConfig.region
|
|
190
|
+
});
|
|
163
191
|
return jobsWithSchedule.map(function (_a) {
|
|
164
192
|
var schedulerName = _a.schedulerName;
|
|
165
|
-
return __spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs delete ".concat(schedulerName, "
|
|
193
|
+
return __spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs delete ".concat(schedulerName, " ").concat(argsString)])), false);
|
|
166
194
|
}).flat();
|
|
167
195
|
};
|
|
168
196
|
var getDeleteJobsScripts = function () {
|
|
169
197
|
return jobsWithNames.map(function (_a) {
|
|
170
198
|
var jobName = _a.jobName;
|
|
171
|
-
return "gcloud beta run jobs delete ".concat(jobName, " ").concat(
|
|
199
|
+
return "gcloud beta run jobs delete ".concat(jobName, " ").concat(commonArgsString);
|
|
172
200
|
});
|
|
173
201
|
};
|
|
174
202
|
var deployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(setExtraVarsScripts(deployConfig)), false), __read(pushImageToArtifactsRegistry), false), ["echo \"$ENV_VARS\" > ____envvars.yaml"], false), __read(deployConfig.cloudSql ? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
@@ -178,10 +206,10 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
178
206
|
service = _b[1];
|
|
179
207
|
return getServiceDeployScript(service, "-" + name);
|
|
180
208
|
})), false), __read(getJobRunScripts("postDeploy")), false), ["docker image rm ".concat(gcloudImageName)], false);
|
|
181
|
-
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(
|
|
209
|
+
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgsString)] : []), false), __read(Object.entries((_c = deployConfig.additionalServices) !== null && _c !== void 0 ? _c : {}).map(function (_a) {
|
|
182
210
|
var _b = __read(_a, 1),
|
|
183
211
|
name = _b[0];
|
|
184
|
-
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(
|
|
212
|
+
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(commonArgsString);
|
|
185
213
|
})), false), __read(getDeleteSchedulesScripts()), false), __read(getDeleteJobsScripts()), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false);
|
|
186
214
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, (0, docker_1.getDockerJobBaseProps)(context), {
|
|
187
215
|
artifacts: {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* creates arguments string:
|
|
3
|
+
*
|
|
4
|
+
* --key=value
|
|
5
|
+
*
|
|
6
|
+
* - undefined or null values will get removed completly
|
|
7
|
+
* - true will just be "--key"
|
|
8
|
+
* @param args args record
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare const createArgsString: (args: Record<string, string | number | true | undefined>) => string;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __read = this && this.__read || function (o, n) {
|
|
4
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
+
if (!m) return o;
|
|
6
|
+
var i = m.call(o),
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
10
|
+
try {
|
|
11
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
e = {
|
|
14
|
+
error: error
|
|
15
|
+
};
|
|
16
|
+
} finally {
|
|
17
|
+
try {
|
|
18
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
19
|
+
} finally {
|
|
20
|
+
if (e) throw e.error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
exports.__esModule = true;
|
|
26
|
+
exports.createArgsString = void 0;
|
|
27
|
+
var lodash_1 = require("lodash");
|
|
28
|
+
/**
|
|
29
|
+
* creates arguments string:
|
|
30
|
+
*
|
|
31
|
+
* --key=value
|
|
32
|
+
*
|
|
33
|
+
* - undefined or null values will get removed completly
|
|
34
|
+
* - true will just be "--key"
|
|
35
|
+
* @param args args record
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
var createArgsString = function (args) {
|
|
39
|
+
return Object.entries(args).filter(function (_a) {
|
|
40
|
+
var _b = __read(_a, 2),
|
|
41
|
+
value = _b[1];
|
|
42
|
+
return !(0, lodash_1.isNil)(value);
|
|
43
|
+
}).map(function (_a) {
|
|
44
|
+
var _b = __read(_a, 2),
|
|
45
|
+
key = _b[0],
|
|
46
|
+
value = _b[1];
|
|
47
|
+
return "--".concat(key).concat(value !== true ? "=".concat(value) : "");
|
|
48
|
+
}).join(" ");
|
|
49
|
+
};
|
|
50
|
+
exports.createArgsString = createArgsString;
|
|
@@ -46,6 +46,10 @@ export declare type DeployConfigCloudRunService = {
|
|
|
46
46
|
* set to true for workers
|
|
47
47
|
*/
|
|
48
48
|
noCpuThrottling?: true;
|
|
49
|
+
/**
|
|
50
|
+
* whether to allow public access (defaults to true)
|
|
51
|
+
*/
|
|
52
|
+
allowUnauthenticated?: boolean;
|
|
49
53
|
};
|
|
50
54
|
export declare type DeployConfigCloudRunJobBase = {
|
|
51
55
|
/**
|