@catladder/cli 0.0.0-main-99d0da33 → 0.0.0-main-ca4b8550
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/catenv/index.js +304 -119
- package/dist/bundles/cli/index.js +296 -116
- package/dist/cli/src/apps/catenv/printVariables.js +4 -1
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/utils.d.ts +6 -2
- package/dist/cli/src/apps/catenv/utils.js +4 -2
- package/dist/cli/src/apps/catenv/utils.js.map +1 -1
- package/dist/pipeline/src/bash/bashEscape.d.ts +4 -1
- package/dist/pipeline/src/bash/bashEscape.js +4 -2
- package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +16 -105
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.d.ts +4 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js +85 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.d.ts +3 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +136 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.js +6 -2
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.d.ts +6 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js +11 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.d.ts +5 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +7 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
- package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +95 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/catenv/printVariables.ts +4 -1
- package/src/apps/catenv/utils.ts +12 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":";;;AAAA,oEAAwE;AAExE,sGAAmG;AACnG,qDAAkD;AAOlD;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,KAA0B,EAC1B,UAAyB;IACvB,MAAM,EAAE,QAAQ;CACjB,EACD,EAAE;IACF,IAAI,KAAK,YAAY,+BAAc,EAAE,CAAC;QACpC,oBAAoB;QACpB,OAAO,IAAA,4BAAoB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,YAAY,qEAAiC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEK,MAAM,YAAY,GAAG,CAC1B,KAAgC,EAChC,EAAE,MAAM,KAAoB;IAC1B,MAAM,EAAE,QAAQ;CACjB,EACD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC,MAAM,KAAK,QAAQ;YACnB,CAAC,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB;AAEK,MAAM,oBAAoB,GAAG,CAClC,KAAqB,EACrB,OAAsB,EACtB,EAAE;IACF,+CAA+C;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAgC,EAAE,EAAE,CACrE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAD5B,QAAA,kBAAkB,sBACU;AAElC,MAAM,kBAAkB,GAAG,CAAC,KAAgC,EAAE,EAAE,CACrE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAD5B,QAAA,kBAAkB,sBACU;
|
|
1
|
+
{"version":3,"file":"bashEscape.js","sourceRoot":"","sources":["../../../../../pipeline/src/bash/bashEscape.ts"],"names":[],"mappings":";;;AAAA,oEAAwE;AAExE,sGAAmG;AACnG,qDAAkD;AAOlD;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,KAA0B,EAC1B,UAAyB;IACvB,MAAM,EAAE,QAAQ;CACjB,EACD,EAAE;IACF,IAAI,KAAK,YAAY,+BAAc,EAAE,CAAC;QACpC,oBAAoB;QACpB,OAAO,IAAA,4BAAoB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,YAAY,qEAAiC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC;AAdW,QAAA,UAAU,cAcrB;AAEK,MAAM,YAAY,GAAG,CAC1B,KAAgC,EAChC,EAAE,MAAM,KAAoB;IAC1B,MAAM,EAAE,QAAQ;CACjB,EACD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM;QACzB,CAAC,CAAC,MAAM,KAAK,QAAQ;YACnB,CAAC,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB;AAEK,MAAM,oBAAoB,GAAG,CAClC,KAAqB,EACrB,OAAsB,EACtB,EAAE;IACF,+CAA+C;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAgC,EAAE,EAAE,CACrE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAD5B,QAAA,kBAAkB,sBACU;AAElC,MAAM,kBAAkB,GAAG,CAAC,KAAgC,EAAE,EAAE,CACrE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAD5B,QAAA,kBAAkB,sBACU;AAKzC;;;;;;;;;;;;;;;GAeG;AACI,MAAM,eAAe,GAAG,CAC7B,KAAuC,EACvC,UAAkC;IAChC,SAAS,EAAE,MAAM;CAClB,EACO,EAAE;IACV,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,4DAA4D;QAC5D,+DAA+D;QAC/D,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAErD,kEAAkE;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACnB,CAAC,CAAC,yIAAyI;4BACzI,GAAG;wBACL,CAAC,CAAC,GAAG;oBACP,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,GAAG,CAAC;YAER,oDAAoD;YACpD,OAAO,GAAG,KAAK,GAAG,gBAAgB,GAAG,KAAK,EAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,YAAY,+BAAc,EAAE,CAAC;QAC3C,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,YAAY,qEAAiC,EAAE,CAAC;QAC9D,2DAA2D;QAE3D,MAAM,yBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,+BAAc,CACzC,CAAC;QACF,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,OAAO,IAAA,uBAAe,EACpB,KAAK,CAAC,QAAQ,CAAC;gBACb,MAAM,EAAE,QAAQ;aACjB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,6BAA6B,CAC1C,IAAI,+BAAc,CAChB,KAAK,CAAC,QAAQ,CAAC;gBACb,MAAM,EAAE,QAAQ;aACjB,CAAC,CACH,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AA3DW,QAAA,eAAe,mBA2D1B;AACF,6CAA6C;AAC7C,uBAAuB;AACvB,MAAM,qBAAqB,GAAG,IAAA,oDAA4B,EACxD,iBAAiB,EACjB;;;;;sCAKoC,CAAA,+BAAgC,EAAE;;;;;;;;;;;GAWrE,CACF,CAAC;AAEF,MAAM,6BAA6B,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC9D,OAAO,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC3E,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../../types/context";
|
|
2
2
|
import type { DeployConfigCloudRunJob } from "../../types/googleCloudRun";
|
|
3
|
-
export declare const getDeleteSchedulesScripts: (context: ComponentContext) => string[];
|
|
4
3
|
export declare const getDeleteJobsScripts: (context: ComponentContext) => string[];
|
|
5
|
-
export declare const getJobRunScripts: (context: ComponentContext, when: DeployConfigCloudRunJob["when"]) => string[];
|
|
6
4
|
export declare const getJobCreateScripts: (context: ComponentContext) => string[];
|
|
7
|
-
export declare const
|
|
5
|
+
export declare const getCloudRunJobsWithNames: (context: ComponentContext) => {
|
|
6
|
+
fullJobName: import("../../..").StringOrBashExpression;
|
|
7
|
+
job: DeployConfigCloudRunJob;
|
|
8
|
+
jobName: string;
|
|
9
|
+
}[];
|
|
@@ -1,61 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getCloudRunJobsWithNames = exports.getJobCreateScripts = exports.getDeleteJobsScripts = void 0;
|
|
4
|
+
const getLabels_1 = require("../../../context/getLabels");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
4
6
|
const createArgsString_1 = require("../utils/createArgsString");
|
|
5
7
|
const jobName_1 = require("../utils/jobName");
|
|
6
8
|
const common_1 = require("./common");
|
|
7
|
-
const getLabels_1 = require("../../../context/getLabels");
|
|
8
|
-
const volumes_1 = require("./volumes");
|
|
9
9
|
const constants_1 = require("./constants");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
13
|
-
const commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
14
|
-
return `${(0, common_1.gcloudRunCmd)()} jobs execute ${jobName.toString()} ${commonArgsString}${wait ? " --wait" : ""}`;
|
|
15
|
-
};
|
|
16
|
-
const getDeleteSchedulesScripts = (context) => {
|
|
17
|
-
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
18
|
-
const schedules = getSchedules(context);
|
|
19
|
-
const argsString = (0, createArgsString_1.createArgsString)({
|
|
20
|
-
project: deployConfig.projectId,
|
|
21
|
-
location: deployConfig.region,
|
|
22
|
-
});
|
|
23
|
-
return schedules
|
|
24
|
-
.map(({ name }) => {
|
|
25
|
-
return [`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${name} ${argsString}`];
|
|
26
|
-
})
|
|
27
|
-
.flat();
|
|
28
|
-
};
|
|
29
|
-
exports.getDeleteSchedulesScripts = getDeleteSchedulesScripts;
|
|
10
|
+
const volumes_1 = require("./volumes");
|
|
11
|
+
const onDeploy_1 = require("./execute/onDeploy");
|
|
30
12
|
const getDeleteJobsScripts = (context) => {
|
|
31
13
|
const commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
32
14
|
const commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
33
|
-
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
34
|
-
return jobsWithNames.flatMap(({
|
|
15
|
+
const jobsWithNames = (0, exports.getCloudRunJobsWithNames)(context);
|
|
16
|
+
return jobsWithNames.flatMap(({ fullJobName }) => [
|
|
35
17
|
// first delete all job executions. Otherwise delete might fail if one of those is still running
|
|
36
|
-
`${(0, common_1.gcloudRunCmd)()} jobs executions list ${commonArgsString} --job ${
|
|
37
|
-
`${(0, common_1.gcloudRunCmd)()} jobs delete ${
|
|
18
|
+
`${(0, common_1.gcloudRunCmd)()} jobs executions list ${commonArgsString} --job ${fullJobName} --format="value(name)" | xargs -I {} ${(0, common_1.gcloudRunCmd)()} jobs executions delete {} --quiet ${commonArgsString}`,
|
|
19
|
+
`${(0, common_1.gcloudRunCmd)()} jobs delete ${fullJobName} ${commonArgsString}`,
|
|
38
20
|
]);
|
|
39
21
|
};
|
|
40
22
|
exports.getDeleteJobsScripts = getDeleteJobsScripts;
|
|
41
|
-
const
|
|
42
|
-
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
43
|
-
return jobsWithNames
|
|
44
|
-
.filter(({ job }) => job.when === when)
|
|
45
|
-
.map(({ jobName, job }) => {
|
|
46
|
-
var _a;
|
|
47
|
-
// always wait for completion for preStop and postStop jobs
|
|
48
|
-
// since stop will delete the jobs afterwards, so they will fail
|
|
49
|
-
const waitForCompletion = ["preStop", "postStop"].includes(when)
|
|
50
|
-
? true
|
|
51
|
-
: "waitForCompletion" in job
|
|
52
|
-
? ((_a = job.waitForCompletion) !== null && _a !== void 0 ? _a : false)
|
|
53
|
-
: false;
|
|
54
|
-
return getJobRunScriptForJob(context, jobName, waitForCompletion);
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
exports.getJobRunScripts = getJobRunScripts;
|
|
58
|
-
const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map(({ job, jobName }, jobIndex) => {
|
|
23
|
+
const getJobCreateScripts = (context) => (0, exports.getCloudRunJobsWithNames)(context).map(({ job, fullJobName }, jobIndex) => {
|
|
59
24
|
var _a, _b, _c, _d;
|
|
60
25
|
const commandArray = Array.isArray(job.command)
|
|
61
26
|
? job.command
|
|
@@ -63,6 +28,7 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
63
28
|
const { image: commonImage, project, region, ...deployArgs } = (0, common_1.getCommonDeployArgs)(context);
|
|
64
29
|
const commonDeployArgsString = (0, createArgsString_1.createArgsString)({
|
|
65
30
|
command: `"${commandArray.join(",")}"`,
|
|
31
|
+
args: (0, onDeploy_1.getCloudRunJobArgsArg)(job.args),
|
|
66
32
|
labels: `"${(0, common_1.makeLabelString)((0, getLabels_1.getLabels)(context))},cloud-run-job-name=$current_job_name"`,
|
|
67
33
|
image: `"${(_a = job.image) !== null && _a !== void 0 ? _a : commonImage}"`,
|
|
68
34
|
project,
|
|
@@ -84,7 +50,7 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
84
50
|
jobIndex === 0
|
|
85
51
|
? `exist_job_names="$(\n ${(0, common_1.gcloudRunCmd)()} jobs list --filter='metadata.name ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --project='${project}' --region='${region}'\n)"`
|
|
86
52
|
: null,
|
|
87
|
-
`current_job_name="${
|
|
53
|
+
`current_job_name="${fullJobName}"`,
|
|
88
54
|
'if grep "$current_job_name" <<<"$exist_job_names" >/dev/null; then',
|
|
89
55
|
` ${(0, common_1.gcloudRunCmd)()} jobs update "$current_job_name" ${commonDeployArgsString}`,
|
|
90
56
|
"else",
|
|
@@ -95,73 +61,18 @@ const getJobCreateScripts = (context) => getCloudRunJobsWithNames(context).map((
|
|
|
95
61
|
.join("\n");
|
|
96
62
|
});
|
|
97
63
|
exports.getJobCreateScripts = getJobCreateScripts;
|
|
98
|
-
const getCreateScheduleScripts = (context) => {
|
|
99
|
-
const schedules = getSchedules(context);
|
|
100
|
-
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
101
|
-
return schedules.map((scheduler, jobIndex) => {
|
|
102
|
-
var _a;
|
|
103
|
-
const uri = getSchedulerUrl(scheduler, context);
|
|
104
|
-
const argsString = (0, createArgsString_1.createArgsString)({
|
|
105
|
-
project,
|
|
106
|
-
location,
|
|
107
|
-
uri: `"$current_job_uri"`,
|
|
108
|
-
"http-method": "POST",
|
|
109
|
-
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
110
|
-
schedule: `"${scheduler.schedule}"`,
|
|
111
|
-
"max-retry-attempts": (_a = scheduler.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0,
|
|
112
|
-
});
|
|
113
|
-
return [
|
|
114
|
-
jobIndex === 0
|
|
115
|
-
? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"`
|
|
116
|
-
: null,
|
|
117
|
-
`current_job_uri="${uri}"`,
|
|
118
|
-
`current_scheduler_name="${scheduler.name}"`,
|
|
119
|
-
`if grep "$current_scheduler_name" <<<"$exist_scheduler_names" >/dev/null; then`,
|
|
120
|
-
` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}`,
|
|
121
|
-
`else`,
|
|
122
|
-
` ${(0, common_1.gcloudSchedulerCmd)()} jobs create http "$current_scheduler_name" ${argsString}`,
|
|
123
|
-
`fi`,
|
|
124
|
-
]
|
|
125
|
-
.filter(utils_1.notNil)
|
|
126
|
-
.join("\n");
|
|
127
|
-
});
|
|
128
|
-
};
|
|
129
|
-
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
130
|
-
const getSchedulerUrl = (scheduler, context) => {
|
|
131
|
-
if (scheduler.type === "cloudRunJob") {
|
|
132
|
-
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
133
|
-
const uriBase = `https://${location}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${project}/jobs`;
|
|
134
|
-
return `${uriBase}/${scheduler.jobName}:run`;
|
|
135
|
-
}
|
|
136
|
-
throw new Error(`Unknown scheduler type: ${scheduler.type}`);
|
|
137
|
-
};
|
|
138
|
-
const getSchedules = (context) => {
|
|
139
|
-
const jobsWithNames = getCloudRunJobsWithNames(context);
|
|
140
|
-
return jobsWithNames
|
|
141
|
-
.filter((entry) => entry.job.when === "schedule")
|
|
142
|
-
.map(({ job: { maxRetryAttempts, schedule }, jobName }) => {
|
|
143
|
-
const schedulerName = jobName.concat("-scheduler");
|
|
144
|
-
return {
|
|
145
|
-
name: schedulerName,
|
|
146
|
-
maxRetryAttempts,
|
|
147
|
-
schedule,
|
|
148
|
-
type: "cloudRunJob",
|
|
149
|
-
jobName,
|
|
150
|
-
};
|
|
151
|
-
});
|
|
152
|
-
};
|
|
153
64
|
const getCloudRunJobsWithNames = (context) => {
|
|
154
65
|
var _a;
|
|
155
66
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
156
|
-
const getFullJobName = (name) => (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
157
67
|
const jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {})
|
|
158
68
|
// filter out disabled jobs
|
|
159
69
|
.filter((entry) => Boolean(entry[1]))
|
|
160
|
-
.map(([
|
|
161
|
-
|
|
70
|
+
.map(([jobName, job]) => ({
|
|
71
|
+
fullJobName: (0, jobName_1.getFullJobName)(context, jobName),
|
|
162
72
|
job,
|
|
163
|
-
|
|
73
|
+
jobName,
|
|
164
74
|
}));
|
|
165
75
|
return jobsWithNames;
|
|
166
76
|
};
|
|
77
|
+
exports.getCloudRunJobsWithNames = getCloudRunJobsWithNames;
|
|
167
78
|
//# sourceMappingURL=cloudRunJobs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudRunJobs.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cloudRunJobs.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentContext } from "../../../../types/context";
|
|
2
|
+
import type { DeployConfigCloudRunExecuteOnDeploy, DeployConfigCloudRunJob } from "../../../types/googleCloudRun";
|
|
3
|
+
export declare const getOnDeployExecuteScript: (context: ComponentContext, when: DeployConfigCloudRunExecuteOnDeploy["when"]) => string[];
|
|
4
|
+
export declare const getCloudRunJobArgsArg: (args: DeployConfigCloudRunExecuteOnDeploy["args"] | DeployConfigCloudRunJob["args"]) => string;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCloudRunJobArgsArg = exports.getOnDeployExecuteScript = void 0;
|
|
4
|
+
const createArgsString_1 = require("../../utils/createArgsString");
|
|
5
|
+
const jobName_1 = require("../../utils/jobName");
|
|
6
|
+
const cloudRunJobs_1 = require("../cloudRunJobs");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const getOnDeployExecuteScript = (context, when) => {
|
|
9
|
+
const executes = getExecutes(context);
|
|
10
|
+
return executes
|
|
11
|
+
.filter(({ config }) => config.when === when)
|
|
12
|
+
.map((execute) => {
|
|
13
|
+
return getJobRunScriptForExecute(context, execute);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.getOnDeployExecuteScript = getOnDeployExecuteScript;
|
|
17
|
+
const getExecutes = (context) => {
|
|
18
|
+
var _a;
|
|
19
|
+
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
20
|
+
return [
|
|
21
|
+
...getLegacyExecutes(context),
|
|
22
|
+
...Object.entries((_a = deployConfig.execute) !== null && _a !== void 0 ? _a : {}).flatMap(([key, value]) => {
|
|
23
|
+
if (!value || (value.when !== "schedule" && value.type !== "job")) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
return [
|
|
27
|
+
{
|
|
28
|
+
jobName: key,
|
|
29
|
+
config: value,
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
}),
|
|
33
|
+
];
|
|
34
|
+
};
|
|
35
|
+
const getLegacyExecutes = (context) => {
|
|
36
|
+
const jobsWithNames = (0, cloudRunJobs_1.getCloudRunJobsWithNames)(context);
|
|
37
|
+
return jobsWithNames.flatMap(({ jobName, job }) => {
|
|
38
|
+
if (!job.when ||
|
|
39
|
+
!["preDeploy", "postDeploy", "preStop", "postStop"].includes(job.when)) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
return [
|
|
43
|
+
{
|
|
44
|
+
jobName,
|
|
45
|
+
config: {
|
|
46
|
+
job: jobName,
|
|
47
|
+
type: "job",
|
|
48
|
+
when: job.when,
|
|
49
|
+
...(job.when === "preDeploy" || job.when === "postDeploy"
|
|
50
|
+
? {
|
|
51
|
+
waitForCompletion: job.waitForCompletion,
|
|
52
|
+
}
|
|
53
|
+
: {}),
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const getJobRunScriptForExecute = (context, { jobName, config }) => {
|
|
60
|
+
var _a;
|
|
61
|
+
const commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
62
|
+
// always wait for completion for preStop and postStop jobs
|
|
63
|
+
// since stop will delete the jobs afterwards, so they will fail
|
|
64
|
+
const waitForCompletion = ["preStop", "postStop"].includes(config.when)
|
|
65
|
+
? true // always
|
|
66
|
+
: "waitForCompletion" in config
|
|
67
|
+
? ((_a = config.waitForCompletion) !== null && _a !== void 0 ? _a : false) // depends on config
|
|
68
|
+
: false;
|
|
69
|
+
const argString = (0, createArgsString_1.createArgsString)({
|
|
70
|
+
...commonArgs,
|
|
71
|
+
wait: waitForCompletion === true ? true : undefined,
|
|
72
|
+
args: (0, exports.getCloudRunJobArgsArg)(config.args),
|
|
73
|
+
});
|
|
74
|
+
const fullJobName = (0, jobName_1.getFullJobName)(context, jobName);
|
|
75
|
+
return `${(0, common_1.gcloudRunCmd)()} jobs execute ${fullJobName.toString()} ${argString}`;
|
|
76
|
+
};
|
|
77
|
+
const getCloudRunJobArgsArg = (args) => {
|
|
78
|
+
return args !== undefined
|
|
79
|
+
? args.length > 0
|
|
80
|
+
? args === null || args === void 0 ? void 0 : args.map((arg) => `"${arg}"`).join(",")
|
|
81
|
+
: ""
|
|
82
|
+
: undefined;
|
|
83
|
+
};
|
|
84
|
+
exports.getCloudRunJobArgsArg = getCloudRunJobArgsArg;
|
|
85
|
+
//# sourceMappingURL=onDeploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onDeploy.js","sourceRoot":"","sources":["../../../../../../../../pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCreateScheduleScript = exports.getDeleteSchedulesScript = void 0;
|
|
4
|
+
const bash_1 = require("../../../../bash");
|
|
5
|
+
const utils_1 = require("../../../../utils");
|
|
6
|
+
const cloudRunExecutionUrl_1 = require("../../utils/cloudRunExecutionUrl");
|
|
7
|
+
const createArgsString_1 = require("../../utils/createArgsString");
|
|
8
|
+
const jobName_1 = require("../../utils/jobName");
|
|
9
|
+
const cloudRunJobs_1 = require("../cloudRunJobs");
|
|
10
|
+
const common_1 = require("../common");
|
|
11
|
+
const getDeleteSchedulesScript = (context) => {
|
|
12
|
+
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
13
|
+
const schedules = getSchedules(context);
|
|
14
|
+
const argsString = (0, createArgsString_1.createArgsString)({
|
|
15
|
+
project: deployConfig.projectId,
|
|
16
|
+
location: deployConfig.region,
|
|
17
|
+
});
|
|
18
|
+
return schedules
|
|
19
|
+
.map(({ fullName }) => {
|
|
20
|
+
return [`${(0, common_1.gcloudSchedulerCmd)()} jobs delete ${fullName} ${argsString}`];
|
|
21
|
+
})
|
|
22
|
+
.flat();
|
|
23
|
+
};
|
|
24
|
+
exports.getDeleteSchedulesScript = getDeleteSchedulesScript;
|
|
25
|
+
const getCreateScheduleScript = (context) => {
|
|
26
|
+
const schedules = getSchedules(context);
|
|
27
|
+
const { region: location, projectId: project } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
28
|
+
return schedules.map(({ fullName, config }, jobIndex) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const { uri, ...args } = getSchedulerArgs(config, context);
|
|
31
|
+
const argsString = (0, createArgsString_1.createArgsString)({
|
|
32
|
+
project,
|
|
33
|
+
location,
|
|
34
|
+
uri: `"$current_job_uri"`,
|
|
35
|
+
...args,
|
|
36
|
+
schedule: `"${config.schedule}"`,
|
|
37
|
+
"max-retry-attempts": (_a = config.maxRetryAttempts) !== null && _a !== void 0 ? _a : 0,
|
|
38
|
+
});
|
|
39
|
+
return [
|
|
40
|
+
jobIndex === 0
|
|
41
|
+
? `exist_scheduler_names="$(\n ${(0, common_1.gcloudSchedulerCmd)()} jobs list --filter='httpTarget.uri ~ ${context.env}.*${context.name}' --format='value(name)' --limit=999 --location='${location}' --project='${project}'\n)"`
|
|
42
|
+
: null,
|
|
43
|
+
`current_job_uri="${uri}"`,
|
|
44
|
+
`current_scheduler_name="${fullName}"`,
|
|
45
|
+
`if grep "$current_scheduler_name" <<<"$exist_scheduler_names" >/dev/null; then`,
|
|
46
|
+
` ${(0, common_1.gcloudSchedulerCmd)()} jobs update http "$current_scheduler_name" ${argsString}`,
|
|
47
|
+
`else`,
|
|
48
|
+
` ${(0, common_1.gcloudSchedulerCmd)()} jobs create http "$current_scheduler_name" ${argsString}`,
|
|
49
|
+
`fi`,
|
|
50
|
+
]
|
|
51
|
+
.filter(utils_1.notNil)
|
|
52
|
+
.join("\n");
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.getCreateScheduleScript = getCreateScheduleScript;
|
|
56
|
+
const getSchedulerArgs = (scheduler, context) => {
|
|
57
|
+
var _a;
|
|
58
|
+
if (scheduler.type === "job") {
|
|
59
|
+
const { projectId, region } = (0, common_1.getCloudRunDeployConfig)(context);
|
|
60
|
+
const body = scheduler.args !== undefined
|
|
61
|
+
? {
|
|
62
|
+
overrides: {
|
|
63
|
+
containerOverrides: [
|
|
64
|
+
((_a = scheduler.args) === null || _a === void 0 ? void 0 : _a.length) > 0
|
|
65
|
+
? {
|
|
66
|
+
args: scheduler.args,
|
|
67
|
+
}
|
|
68
|
+
: {
|
|
69
|
+
args: [],
|
|
70
|
+
clearArgs: true, // not sure why this is neeeded, but it is
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
}
|
|
75
|
+
: null;
|
|
76
|
+
return {
|
|
77
|
+
uri: (0, cloudRunExecutionUrl_1.getCloudRunJobExecuteUrl)(scheduler.job, {
|
|
78
|
+
appFullName: context.environment.fullName,
|
|
79
|
+
projectId,
|
|
80
|
+
region,
|
|
81
|
+
}),
|
|
82
|
+
"message-body": body
|
|
83
|
+
? '"' + (0, bash_1.bashEscape)(JSON.stringify(body)) + '"'
|
|
84
|
+
: undefined,
|
|
85
|
+
"http-method": "POST",
|
|
86
|
+
"oauth-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (scheduler.type === "http") {
|
|
90
|
+
return {
|
|
91
|
+
uri: scheduler.url,
|
|
92
|
+
"message-body": scheduler.body,
|
|
93
|
+
"http-method": scheduler.method,
|
|
94
|
+
"oidc-service-account-email": `"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"`,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
throw new Error(`Unknown scheduler type: ${scheduler.type}`);
|
|
98
|
+
};
|
|
99
|
+
const getSchedules = (context) => {
|
|
100
|
+
const legacyScheduleJobs = getLegacyJobSchedules(context);
|
|
101
|
+
const schedules = getScheduledExecutes(context);
|
|
102
|
+
return Object.entries({ ...legacyScheduleJobs, ...schedules }).map(([name, config]) => ({
|
|
103
|
+
name,
|
|
104
|
+
fullName: (0, jobName_1.getFullSchedulerName)(context, name),
|
|
105
|
+
config,
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
108
|
+
const getLegacyJobSchedules = (context) => {
|
|
109
|
+
const jobsWithNames = (0, cloudRunJobs_1.getCloudRunJobsWithNames)(context);
|
|
110
|
+
return Object.fromEntries(jobsWithNames
|
|
111
|
+
.filter((entry) => entry.job.when === "schedule")
|
|
112
|
+
.map(({ job: { maxRetryAttempts, schedule }, jobName }) => {
|
|
113
|
+
const schedulerName = jobName.concat("-scheduler");
|
|
114
|
+
return [
|
|
115
|
+
schedulerName,
|
|
116
|
+
{
|
|
117
|
+
type: "job",
|
|
118
|
+
job: jobName,
|
|
119
|
+
maxRetryAttempts,
|
|
120
|
+
schedule,
|
|
121
|
+
when: "schedule",
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
}));
|
|
125
|
+
};
|
|
126
|
+
const getScheduledExecutes = (context) => {
|
|
127
|
+
var _a;
|
|
128
|
+
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
129
|
+
return Object.fromEntries(Object.entries((_a = deployConfig.execute) !== null && _a !== void 0 ? _a : {}).flatMap(([key, value]) => {
|
|
130
|
+
if (!value || value.when !== "schedule") {
|
|
131
|
+
return [];
|
|
132
|
+
}
|
|
133
|
+
return [[key, value]];
|
|
134
|
+
}));
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=schedules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../../../../../../../pipeline/src/deploy/cloudRun/createJobs/execute/schedules.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,11 @@ const cleanup_1 = require("../cleanup");
|
|
|
10
10
|
const database_1 = require("../utils/database");
|
|
11
11
|
const gcloudServiceAccountLoginCommands_1 = require("../utils/gcloudServiceAccountLoginCommands");
|
|
12
12
|
const cloudRunJobs_1 = require("./cloudRunJobs");
|
|
13
|
+
const onDeploy_1 = require("./execute/onDeploy");
|
|
13
14
|
const cloudRunServices_1 = require("./cloudRunServices");
|
|
14
15
|
const common_1 = require("./common");
|
|
15
16
|
const constants_1 = require("./constants");
|
|
17
|
+
const schedules_1 = require("./execute/schedules");
|
|
16
18
|
function getCloudRunDeployScripts(context) {
|
|
17
19
|
var _a;
|
|
18
20
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
@@ -27,14 +29,14 @@ function getCloudRunDeployScripts(context) {
|
|
|
27
29
|
...(deployConfig.cloudSql
|
|
28
30
|
? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
29
31
|
: []),
|
|
30
|
-
...(0,
|
|
32
|
+
...(0, schedules_1.getCreateScheduleScript)(context),
|
|
31
33
|
...(0, cloudRunJobs_1.getJobCreateScripts)(context),
|
|
32
|
-
...(0,
|
|
34
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "preDeploy"),
|
|
33
35
|
...(deployConfig.service !== false
|
|
34
36
|
? [(0, cloudRunServices_1.getServiceDeployScript)(context, deployConfig.service)]
|
|
35
37
|
: []),
|
|
36
38
|
...Object.entries((_a = deployConfig.additionalServices) !== null && _a !== void 0 ? _a : {}).map(([name, service]) => (0, cloudRunServices_1.getServiceDeployScript)(context, service, "-" + name)),
|
|
37
|
-
...(0,
|
|
39
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "postDeploy"),
|
|
38
40
|
]),
|
|
39
41
|
...(0, gitlab_1.collapseableSection)("cleanup", "Cleanup")((0, cleanup_1.getRemoveOldRevisionsAndImagesCommand)(context, "postDeploy")),
|
|
40
42
|
...(0, sbom_1.getDependencyTrackUploadScript)(context),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAE9B,kDAA4D;AAC5D,qCAA4D;AAE5D,0BAAmD;AACnD,qDAAmE;AACnE,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"getCloudRunDeployScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAE9B,kDAA4D;AAC5D,qCAA4D;AAE5D,0BAAmD;AACnD,qDAAmE;AACnE,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAAqD;AACrD,iDAA8D;AAC9D,yDAA4D;AAC5D,qCAGkB;AAClB,2CAAgD;AAChD,mDAA8D;AAE9D,SAAgB,wBAAwB,CAAC,OAAyB;;IAChE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAA,aAAI,EACrB,OAAO,CAAC,WAAW,CAAC,OAAO,EAC3B,iCAA6B,CAC9B,CAAC;IAEF,OAAO;QACL,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,YAAY,CACb,CAAC;YACA,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC;YAC7C,GAAG,IAAA,qCAA4B,EAAC,YAAY,CAAC;SAC9C,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,cAAc,EACd,wBAAwB,CACzB,CAAC,IAAA,oCAAyB,EAAC,UAAU,EAAE,6BAAiB,CAAC,CAAC;QAE3D,GAAG,IAAA,4BAAmB,EACpB,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACA,GAAG,CAAC,YAAY,CAAC,QAAQ;gBACvB,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,6DAA6D;gBAC9G,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,IAAA,mCAAuB,EAAC,OAAO,CAAC;YACnC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC;YAC/B,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,WAAW,CAAC;YAEjD,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK;gBAChC,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAClB,IAAA,yCAAsB,EAAC,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,CACvD;YACD,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,YAAY,CAAC;SACnD,CAAC;QACF,GAAG,IAAA,4BAAmB,EACpB,SAAS,EACT,SAAS,CACV,CACC,IAAA,+CAAqC,EAAC,OAAO,EAAE,YAAY,CAAC,CAC7D;QACD,GAAG,IAAA,qCAA8B,EAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAhDD,4DAgDC"}
|
|
@@ -6,6 +6,8 @@ const cleanup_1 = require("../cleanup");
|
|
|
6
6
|
const database_1 = require("../utils/database");
|
|
7
7
|
const gcloudServiceAccountLoginCommands_1 = require("../utils/gcloudServiceAccountLoginCommands");
|
|
8
8
|
const cloudRunJobs_1 = require("./cloudRunJobs");
|
|
9
|
+
const onDeploy_1 = require("./execute/onDeploy");
|
|
10
|
+
const schedules_1 = require("./execute/schedules");
|
|
9
11
|
const cloudRunServices_1 = require("./cloudRunServices");
|
|
10
12
|
const common_1 = require("./common");
|
|
11
13
|
function getCloudRunStopScripts(context) {
|
|
@@ -13,11 +15,11 @@ function getCloudRunStopScripts(context) {
|
|
|
13
15
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
14
16
|
return [
|
|
15
17
|
...(0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context),
|
|
16
|
-
...(0,
|
|
18
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "preStop"),
|
|
17
19
|
...(deployConfig.service !== false ? (0, cloudRunServices_1.getServiceDeleteScript)(context) : []),
|
|
18
20
|
...Object.entries((_a = deployConfig.additionalServices) !== null && _a !== void 0 ? _a : {}).flatMap(([name]) => (0, cloudRunServices_1.getServiceDeleteScript)(context, name)),
|
|
19
|
-
...(0,
|
|
20
|
-
...(0,
|
|
21
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "postStop"),
|
|
22
|
+
...(0, schedules_1.getDeleteSchedulesScript)(context),
|
|
21
23
|
...(0, cloudRunJobs_1.getDeleteJobsScripts)(context),
|
|
22
24
|
...(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop
|
|
23
25
|
? (0, database_1.getDatabaseDeleteScript)(context, deployConfig)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCloudRunStopScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAE5D,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"getCloudRunStopScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAE5D,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAAsD;AACtD,iDAA8D;AAC9D,mDAA+D;AAC/D,yDAA4D;AAC5D,qCAAmD;AAEnD,SAAgB,sBAAsB,CAAC,OAAyB;;IAC9D,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC;QAC7C,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,SAAS,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAC1E,IAAA,yCAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,CACtC;QACD,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,UAAU,CAAC;QAChD,GAAG,IAAA,oCAAwB,EAAC,OAAO,CAAC;QACpC,GAAG,IAAA,mCAAoB,EAAC,OAAO,CAAC;QAChC,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB;YACrE,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QAEP,GAAG,IAAA,+CAAqC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,qDAAqD;QAClH,GAAG,IAAA,qCAA8B,EAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAnBD,wDAmBC"}
|
|
@@ -6,8 +6,8 @@ const context_1 = require("../../context");
|
|
|
6
6
|
const gitlab_1 = require("../../utils/gitlab");
|
|
7
7
|
const utils_1 = require("../cloudSql/utils");
|
|
8
8
|
const createJobs_1 = require("./createJobs");
|
|
9
|
+
const cloudRunExecutionUrl_1 = require("./utils/cloudRunExecutionUrl");
|
|
9
10
|
const database_1 = require("./utils/database");
|
|
10
|
-
const jobName_1 = require("./utils/jobName");
|
|
11
11
|
exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
12
12
|
// FIXME: rename to internalHostSuffix, but this means that project-setup needs to be rerun, so its kindof a breaking change
|
|
13
13
|
exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
|
|
@@ -63,7 +63,11 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
63
63
|
const jobTriggers = deployConfigRaw && deployConfigRaw.jobs
|
|
64
64
|
? Object.fromEntries(Object.entries(deployConfigRaw.jobs).map(([name, job]) => [
|
|
65
65
|
"CLOUD_RUN_JOB_TRIGGER_URL_" + (0, gitlab_1.sanitizeForBashVariable)(name),
|
|
66
|
-
|
|
66
|
+
(0, cloudRunExecutionUrl_1.getCloudRunJobExecuteUrl)(name, {
|
|
67
|
+
appFullName: fullName,
|
|
68
|
+
projectId: deployConfigRaw.projectId,
|
|
69
|
+
region: deployConfigRaw.region,
|
|
70
|
+
}),
|
|
67
71
|
]))
|
|
68
72
|
: {};
|
|
69
73
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":";;;AACA,8DAGmC;AAEnC,2CAAiD;AAEjD,+CAA6D;AAC7D,6CAAkD;AAClD,6CAA8D;AAC9D,+CAG0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCloudRunJobExecuteUrl = void 0;
|
|
4
|
+
const jobName_1 = require("./jobName");
|
|
5
|
+
function getCloudRunJobExecuteUrl(jobName, { region, projectId, appFullName, }) {
|
|
6
|
+
const uriBase = `https://${region}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${projectId}/jobs`;
|
|
7
|
+
const fullJobName = (0, jobName_1.getCloudRunJobName)(appFullName, jobName);
|
|
8
|
+
return `${uriBase}/${fullJobName}:run`;
|
|
9
|
+
}
|
|
10
|
+
exports.getCloudRunJobExecuteUrl = getCloudRunJobExecuteUrl;
|
|
11
|
+
//# sourceMappingURL=cloudRunExecutionUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudRunExecutionUrl.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAE/C,SAAgB,wBAAwB,CACtC,OAAe,EACf,EACE,MAAM,EACN,SAAS,EACT,WAAW,GAKZ;IAED,MAAM,OAAO,GAAG,WAAW,MAAM,6DAA6D,SAAS,OAAO,CAAC;IAC/G,MAAM,WAAW,GAAG,IAAA,4BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE7D,OAAO,GAAG,OAAO,IAAI,WAAW,MAAM,CAAC;AACzC,CAAC;AAhBD,4DAgBC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { StringOrBashExpression } from "../../../bash/BashExpression";
|
|
2
|
-
|
|
2
|
+
import type { ComponentContext } from "../../../types";
|
|
3
|
+
export declare const getCloudRunJobName: (fullAppName: StringOrBashExpression, jobName: StringOrBashExpression) => StringOrBashExpression;
|
|
4
|
+
export declare const getFullJobName: (context: ComponentContext, name: StringOrBashExpression) => StringOrBashExpression;
|
|
5
|
+
export declare const getCloudRunSchedulerName: (fullAppName: StringOrBashExpression, schedulerName: string) => StringOrBashExpression;
|
|
6
|
+
export declare const getFullSchedulerName: (context: ComponentContext, name: string) => StringOrBashExpression;
|