@catladder/cli 2.9.3 → 2.10.1
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 +2 -2
- package/dist/bundles/cli/index.js +1 -1
- 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
|
@@ -42,5 +42,8 @@ const printVariables = async (config, choice) => {
|
|
|
42
42
|
console.log(makeExportKeyValuestring(variables));
|
|
43
43
|
};
|
|
44
44
|
exports.printVariables = printVariables;
|
|
45
|
-
const makeExportKeyValuestring = (variables) => (0, utils_1.makeKeyValueString)(variables,
|
|
45
|
+
const makeExportKeyValuestring = (variables) => (0, utils_1.makeKeyValueString)(variables, {
|
|
46
|
+
keyPrefix: "export ",
|
|
47
|
+
escapeOptions: { quoteMode: "always" },
|
|
48
|
+
});
|
|
46
49
|
//# sourceMappingURL=printVariables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printVariables.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/printVariables.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAEnE,mCAIiB;AAEjB,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;;IACvE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,wCAAwC;QACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,0EAA0E;QAC1E,mCAAmC;QACnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAChD,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;;YAC3B,wCAAwC;YACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;gBACpD,OAAO,MAAM,GAAG,CAAC;YACnB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,GAAG,UAAU;gBACb,qCAAqC;gBACrC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE;oBAC3D,KAAK;iBACN,CAAC,CACH;aACF,CAAC;QACJ,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAA4B,CAAC,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAiC,EAAE,EAAE,CACrE,IAAA,0BAAkB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"printVariables.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/printVariables.ts"],"names":[],"mappings":";;;AACA,oEAAmE;AAEnE,mCAIiB;AAEjB,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;;IACvE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,2CAAmC,EACzE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,wCAAwC;QACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,0EAA0E;QAC1E,mCAAmC;QACnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAChD,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;;YAC3B,wCAAwC;YACxC,IAAI,MAAA,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,mCAAI,IAAI,EAAE,CAAC;gBACpD,OAAO,MAAM,GAAG,CAAC;YACnB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAA,qCAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YACtE,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO;gBACL,GAAG,CAAC,MAAM,GAAG,CAAC;gBACd,GAAG,UAAU;gBACb,qCAAqC;gBACrC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,IAAA,0BAAkB,EAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,EAAE;oBAC3D,KAAK;iBACN,CAAC,CACH;aACF,CAAC;QACJ,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,EAA4B,CAAC,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAiC,EAAE,EAAE,CACrE,IAAA,0BAAkB,EAAC,SAAS,EAAE;IAC5B,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;CACvC,CAAC,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import type { Config } from "../../../../pipeline/src/index.js";
|
|
1
|
+
import type { Config, EscapeForDotEnvOptions } from "../../../../pipeline/src/index.js";
|
|
2
2
|
import type { Choice } from "./types";
|
|
3
3
|
export declare const getComponentFullPath: (gitRoot: string, config: Config, componentName: string) => string;
|
|
4
4
|
export declare const getCurrentComponentAndEnvFromChoice: (config: Config, choice?: Choice) => Promise<{
|
|
5
5
|
currentComponent: string;
|
|
6
6
|
env: string;
|
|
7
7
|
}>;
|
|
8
|
-
export
|
|
8
|
+
export type MakeKeyValueStringOptions = {
|
|
9
|
+
keyPrefix?: string;
|
|
10
|
+
escapeOptions?: EscapeForDotEnvOptions;
|
|
11
|
+
};
|
|
12
|
+
export declare const makeKeyValueString: (variables: Record<string, string>, { keyPrefix, escapeOptions }?: MakeKeyValueStringOptions) => string;
|
|
9
13
|
export declare const sanitizeEnvVarName: (name: string) => string;
|
|
@@ -23,9 +23,11 @@ const getCurrentComponentAndEnvFromChoice = async (config, choice) => {
|
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
exports.getCurrentComponentAndEnvFromChoice = getCurrentComponentAndEnvFromChoice;
|
|
26
|
-
const makeKeyValueString = (variables, keyPrefix
|
|
26
|
+
const makeKeyValueString = (variables, { keyPrefix, escapeOptions } = {
|
|
27
|
+
keyPrefix: "",
|
|
28
|
+
}) => Object.entries(variables)
|
|
27
29
|
// quotes are important, otherwise line breaks don't work properly
|
|
28
|
-
.map(([key, value]) => `${keyPrefix}${key}=${(0, pipeline_1.escapeForDotEnv)(value)}`)
|
|
30
|
+
.map(([key, value]) => `${keyPrefix}${key}=${(0, pipeline_1.escapeForDotEnv)(value, escapeOptions)}`)
|
|
29
31
|
.join("\n");
|
|
30
32
|
exports.makeKeyValueString = makeKeyValueString;
|
|
31
33
|
const sanitizeEnvVarName = (name) => name.replace(/[\s\-.]+/g, "_");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/utils.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,mDAAkD;AAElD,kDAAsD;AAC/C,MAAM,oBAAoB,GAAG,CAClC,OAAe,EACf,MAAc,EACd,aAAqB,EACrB,EAAE;IACF,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AACF,MAAM,uBAAuB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,UAAU,CAAC,UAAU,CAAC,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,mCAAmC,GAAG,KAAK,EACtD,MAAc,EACd,MAAe,EACf,EAAE;;IACF,MAAM,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,OAAO,CAAC;IACnC,MAAM,gBAAgB,GACpB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,mCAAI,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO;QACL,gBAAgB;QAChB,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,mCAAmC,uCAY9C;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/apps/catenv/utils.ts"],"names":[],"mappings":";;;AACA,+BAA4B;AAC5B,mDAAkD;AAElD,kDAAsD;AAC/C,MAAM,oBAAoB,GAAG,CAClC,OAAe,EACf,MAAc,EACd,aAAqB,EACrB,EAAE;IACF,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AACF,MAAM,uBAAuB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAU,GAAE,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,UAAU,CAAC,UAAU,CAAC,IAAA,4BAAoB,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,mCAAmC,GAAG,KAAK,EACtD,MAAc,EACd,MAAe,EACf,EAAE;;IACF,MAAM,GAAG,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,OAAO,CAAC;IACnC,MAAM,gBAAgB,GACpB,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,mCAAI,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO;QACL,gBAAgB;QAChB,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,mCAAmC,uCAY9C;AAMK,MAAM,kBAAkB,GAAG,CAChC,SAAiC,EACjC,EAAE,SAAS,EAAE,aAAa,KAAgC;IACxD,SAAS,EAAE,EAAE;CACd,EACD,EAAE,CACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IACvB,kEAAkE;KACjE,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,SAAS,GAAG,GAAG,IAAI,IAAA,0BAAe,EAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAChE;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAZH,QAAA,kBAAkB,sBAYf;AAET,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AADpB,QAAA,kBAAkB,sBACE"}
|
|
@@ -13,6 +13,9 @@ export declare const escapeString: (value: string | null | undefined, { quotes }
|
|
|
13
13
|
export declare const escapeBashExpression: (value: BashExpression, options: EscapeOptions) => BashExpression;
|
|
14
14
|
export declare const escapeDoubleQuotes: (value: string | null | undefined) => string;
|
|
15
15
|
export declare const escapeSingleQuotes: (value: string | null | undefined) => string;
|
|
16
|
+
export type EscapeForDotEnvOptions = {
|
|
17
|
+
quoteMode: "auto" | "always";
|
|
18
|
+
};
|
|
16
19
|
/**
|
|
17
20
|
*
|
|
18
21
|
* escape env vars for .env files.
|
|
@@ -29,4 +32,4 @@ export declare const escapeSingleQuotes: (value: string | null | undefined) => s
|
|
|
29
32
|
*
|
|
30
33
|
* - other languages are currently only partially supported, since most .env implementations are slightly different
|
|
31
34
|
*/
|
|
32
|
-
export declare const escapeForDotEnv: (value: VariableValue | undefined | null) => string;
|
|
35
|
+
export declare const escapeForDotEnv: (value: VariableValue | undefined | null, options?: EscapeForDotEnvOptions) => string;
|
|
@@ -57,14 +57,16 @@ exports.escapeSingleQuotes = escapeSingleQuotes;
|
|
|
57
57
|
*
|
|
58
58
|
* - other languages are currently only partially supported, since most .env implementations are slightly different
|
|
59
59
|
*/
|
|
60
|
-
const escapeForDotEnv = (value
|
|
60
|
+
const escapeForDotEnv = (value, options = {
|
|
61
|
+
quoteMode: "auto",
|
|
62
|
+
}) => {
|
|
61
63
|
if (value === undefined || value === null) {
|
|
62
64
|
return "";
|
|
63
65
|
}
|
|
64
66
|
if (typeof value === "string") {
|
|
65
67
|
// if string contains newlines, we need to wrap it in quotes
|
|
66
68
|
// we additionaly escape newlines, that give best compatibility
|
|
67
|
-
if (value.includes("\n")) {
|
|
69
|
+
if (options.quoteMode === "always" || value.includes("\n")) {
|
|
68
70
|
const newlinesReplaces = value.replace(/\n/g, "\\n");
|
|
69
71
|
// default to ", but if this is not possible, we try to use ' or `
|
|
70
72
|
const quote = value.includes(`"`)
|
|
@@ -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":"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"}
|
|
@@ -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"}
|