@catladder/cli 2.9.2 → 2.10.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.
Files changed (26) hide show
  1. package/dist/bundles/catenv/index.js +2 -2
  2. package/dist/bundles/cli/index.js +1 -1
  3. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +5 -3
  4. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +16 -105
  5. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
  6. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.d.ts +4 -0
  7. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js +85 -0
  8. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js.map +1 -0
  9. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.d.ts +3 -0
  10. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +136 -0
  11. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -0
  12. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +5 -3
  13. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
  14. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +5 -3
  15. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
  16. package/dist/pipeline/src/deploy/cloudRun/index.js +6 -2
  17. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  18. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.d.ts +6 -0
  19. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js +11 -0
  20. package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js.map +1 -0
  21. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.d.ts +5 -1
  22. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +7 -1
  23. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
  24. package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +95 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +1 -1
@@ -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 getCreateScheduleScripts: (context: ComponentContext) => string[];
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.getCreateScheduleScripts = exports.getJobCreateScripts = exports.getJobRunScripts = exports.getDeleteJobsScripts = exports.getDeleteSchedulesScripts = void 0;
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 utils_1 = require("../../../utils");
11
- const getJobRunScriptForJob = (context, jobName, wait) => {
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(({ jobName }) => [
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 ${jobName} --format="value(name)" | xargs -I {} ${(0, common_1.gcloudRunCmd)()} jobs executions delete {} --quiet ${commonArgsString}`,
37
- `${(0, common_1.gcloudRunCmd)()} jobs delete ${jobName} ${commonArgsString}`,
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 getJobRunScripts = (context, when) => {
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="${jobName}"`,
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(([jobKey, job]) => ({
161
- jobName: getFullJobName(jobKey),
70
+ .map(([jobName, job]) => ({
71
+ fullJobName: (0, jobName_1.getFullJobName)(context, jobName),
162
72
  job,
163
- jobKey,
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":";;;AAMA,gEAA6D;AAC7D,8CAAsD;AACtD,qCAOkB;AAClB,0DAAuD;AACvD,uCAA+C;AAK/C,2CAAgD;AAChD,0CAAwC;AAExC,MAAM,qBAAqB,GAAG,CAC5B,OAAyB,EACzB,OAA+B,EAC/B,IAAa,EACb,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;IACtD,OAAO,GAAG,IAAA,qBAAY,GAAE,iBAAiB,OAAO,CAAC,QAAQ,EAAE,IAAI,gBAAgB,GAC7E,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACrB,EAAE,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;QAClC,OAAO,EAAE,YAAY,CAAC,SAAS;QAC/B,QAAQ,EAAE,YAAY,CAAC,MAAM;KAC9B,CAAC,CAAC;IACH,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAChB,OAAO,CAAC,GAAG,IAAA,2BAAkB,GAAE,gBAAgB,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAZW,QAAA,yBAAyB,6BAYpC;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAyB,EAAE,EAAE;IAChE,MAAM,UAAU,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5C,gGAAgG;QAChG,GAAG,IAAA,qBAAY,GAAE,yBAAyB,gBAAgB,UAAU,OAAO,yCAAyC,IAAA,qBAAY,GAAE,uCAAuC,gBAAgB,EAAE;QAC3L,GAAG,IAAA,qBAAY,GAAE,gBAAgB,OAAO,IAAI,gBAAgB,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,gBAAgB,GAAG,CAC9B,OAAyB,EACzB,IAAqC,EACrC,EAAE;IACF,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa;SACjB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;SACtC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE;;QACxB,2DAA2D;QAC3D,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9D,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,mBAAmB,IAAI,GAAG;gBAC1B,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,iBAAiB,mCAAI,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC;QACZ,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAyB,EAAY,EAAE,CACzE,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,CACnC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAU,EAAE;;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3B,MAAM,EACJ,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,MAAM,EACN,GAAG,UAAU,EACd,GAAG,IAAA,4BAAmB,EAAC,OAAO,CAAC,CAAC;IACjC,MAAM,sBAAsB,GAAG,IAAA,mCAAgB,EAC7C;QACE,OAAO,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACtC,MAAM,EAAE,IAAI,IAAA,wBAAe,EAAC,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAC,wCAAwC;QACvF,KAAK,EAAE,IAAI,MAAA,GAAG,CAAC,KAAK,mCAAI,WAAW,GAAG;QACtC,OAAO;QACP,MAAM;QACN,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,mCAAI,OAAO;QAC7B,WAAW,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,CAAC;QAEjC,cAAc,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,KAAK;QACpC,eAAe,EAAE,6BAAiB;QAClC,aAAa,EAAE,CAAC;QAEhB,GAAG,UAAU;QAEb,UAAU;QACV,eAAe,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY;QAClC,YAAY,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS;QAC5B,OAAO,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO;QACrB,MAAM,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM;KACpB,EACD,GAAG,IAAA,4BAAkB,EAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAC1C,CAAC;IAEF,OAAO;QACL,QAAQ,KAAK,CAAC;YACZ,CAAC,CAAC,0BAA0B,IAAA,qBAAY,GAAE,wCAAwC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,mDAAmD,OAAO,eAAe,MAAM,OAAO;YACpM,CAAC,CAAC,IAAI;QACR,qBAAqB,OAAO,GAAG;QAC/B,oEAAoE;QACpE,KAAK,IAAA,qBAAY,GAAE,oCAAoC,sBAAsB,EAAE;QAC/E,MAAM;QACN,KAAK,IAAA,qBAAY,GAAE,oCAAoC,sBAAsB,EAAE;QAC/E,IAAI;KACL;SACE,MAAM,CAAC,cAAM,CAAC;SACd,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CACF,CAAC;AArDS,QAAA,mBAAmB,uBAqD5B;AAEG,MAAM,wBAAwB,GAAG,CACtC,OAAyB,EACf,EAAE;IACZ,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5C,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAU,EAAE;;QACnD,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,IAAA,mCAAgB,EAAC;YAClC,OAAO;YACP,QAAQ;YACR,GAAG,EAAE,oBAAoB;YACzB,aAAa,EAAE,MAAM;YACrB,6BAA6B,EAAE,gEAAgE;YAC/F,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,GAAG;YACnC,oBAAoB,EAAE,MAAA,SAAS,CAAC,gBAAgB,mCAAI,CAAC;SACtD,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,KAAK,CAAC;gBACZ,CAAC,CAAC,gCAAgC,IAAA,2BAAkB,GAAE,yCAAyC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,oDAAoD,QAAQ,gBAAgB,OAAO,OAAO;gBACrN,CAAC,CAAC,IAAI;YACR,oBAAoB,GAAG,GAAG;YAC1B,2BAA2B,SAAS,CAAC,IAAI,GAAG;YAC5C,gFAAgF;YAChF,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,MAAM;YACN,KAAK,IAAA,2BAAkB,GAAE,+CAA+C,UAAU,EAAE;YACpF,IAAI;SACL;aACE,MAAM,CAAC,cAAM,CAAC;aACd,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAlCW,QAAA,wBAAwB,4BAkCnC;AAWF,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAyB,EAAE,EAAE;IAC1E,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5C,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,WAAW,QAAQ,6DAA6D,OAAO,OAAO,CAAC;QAE/G,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC,OAAO,MAAM,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAyB,EAAe,EAAE;IAC9D,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,aAAa;SACjB,MAAM,CACL,CACE,KAAK,EAKL,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CACnC;SACA,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,gBAAgB;YAChB,QAAQ;YACR,IAAI,EAAE,aAAa;YACnB,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,OAAyB,EAAE,EAAE;;IAC7D,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,IAAA,4BAAkB,EAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC3D,2BAA2B;SAC1B,MAAM,CAAC,CAAC,KAAK,EAA8C,EAAE,CAC5D,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAClB;SACA,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC;QAC/B,GAAG;QACH,MAAM;KACP,CAAC,CAAC,CAAC;IACN,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
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,3 @@
1
+ import type { ComponentContext } from "../../../../types/context";
2
+ export declare const getDeleteSchedulesScript: (context: ComponentContext) => string[];
3
+ export declare const getCreateScheduleScript: (context: ComponentContext) => string[];
@@ -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, cloudRunJobs_1.getCreateScheduleScripts)(context),
32
+ ...(0, schedules_1.getCreateScheduleScript)(context),
31
33
  ...(0, cloudRunJobs_1.getJobCreateScripts)(context),
32
- ...(0, cloudRunJobs_1.getJobRunScripts)(context, "preDeploy"),
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, cloudRunJobs_1.getJobRunScripts)(context, "postDeploy"),
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,iDAIwB;AACxB,yDAA4D;AAC5D,qCAGkB;AAClB,2CAAgD;AAEhD,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,uCAAwB,EAAC,OAAO,CAAC;YACpC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC;YAC/B,GAAG,IAAA,+BAAgB,EAAC,OAAO,EAAE,WAAW,CAAC;YAEzC,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,+BAAgB,EAAC,OAAO,EAAE,YAAY,CAAC;SAC3C,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"}
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, cloudRunJobs_1.getJobRunScripts)(context, "preStop"),
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, cloudRunJobs_1.getJobRunScripts)(context, "postStop"),
20
- ...(0, cloudRunJobs_1.getDeleteSchedulesScripts)(context),
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,iDAIwB;AACxB,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,+BAAgB,EAAC,OAAO,EAAE,SAAS,CAAC;QACvC,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,+BAAgB,EAAC,OAAO,EAAE,UAAU,CAAC;QACxC,GAAG,IAAA,wCAAyB,EAAC,OAAO,CAAC;QACrC,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"}
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
- `https://${deployConfigRaw.region}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${deployConfigRaw.projectId}/jobs/${(0, jobName_1.getCloudRunJobName)(fullName, name)}:run`,
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { StringOrBashExpression } from "../../../bash";
2
+ export declare function getCloudRunJobExecuteUrl(jobName: string, { region, projectId, appFullName, }: {
3
+ appFullName: StringOrBashExpression;
4
+ region: string;
5
+ projectId: string;
6
+ }): string;
@@ -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
- export declare const getCloudRunJobName: (fullAppName: StringOrBashExpression, jobName: string) => StringOrBashExpression;
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;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCloudRunJobName = void 0;
3
+ exports.getFullSchedulerName = exports.getCloudRunSchedulerName = exports.getFullJobName = exports.getCloudRunJobName = void 0;
4
4
  const getCloudRunJobName = (fullAppName, jobName) => fullAppName.toLowerCase().concat("-" + jobName.toLowerCase());
5
5
  exports.getCloudRunJobName = getCloudRunJobName;
6
+ const getFullJobName = (context, name) => (0, exports.getCloudRunJobName)(context.environment.fullName, name);
7
+ exports.getFullJobName = getFullJobName;
8
+ const getCloudRunSchedulerName = (fullAppName, schedulerName) => fullAppName.toLowerCase().concat("-" + schedulerName.toLowerCase());
9
+ exports.getCloudRunSchedulerName = getCloudRunSchedulerName;
10
+ const getFullSchedulerName = (context, name) => (0, exports.getCloudRunSchedulerName)(context.environment.fullName, name);
11
+ exports.getFullSchedulerName = getFullSchedulerName;
6
12
  //# sourceMappingURL=jobName.js.map