@catladder/pipeline 1.111.5 → 1.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/base/createAppBuildJob.d.ts +8 -0
- package/dist/build/base/{createBuildJob.js → createAppBuildJob.js} +3 -3
- package/dist/build/base/index.d.ts +8 -0
- package/dist/build/base/index.js +57 -0
- package/dist/build/custom/buildJob.js +19 -22
- package/dist/build/docker.d.ts +2 -4
- package/dist/build/docker.js +4 -39
- package/dist/build/node/buildJob.js +30 -32
- package/dist/build/node/meteor.js +19 -21
- package/dist/build/rails/build.js +12 -19
- package/dist/build/types.d.ts +4 -3
- package/dist/bundles/catladder-gitlab/index.js +1 -1
- package/dist/constants.js +1 -1
- package/dist/context/getLabels.d.ts +1 -0
- package/dist/context/getLabels.js +1 -0
- package/dist/deploy/base/deploy.d.ts +3 -2
- package/dist/deploy/base/deploy.js +9 -4
- package/dist/deploy/base/index.d.ts +10 -3
- package/dist/deploy/base/index.js +37 -16
- package/dist/deploy/base/rollback.d.ts +3 -2
- package/dist/deploy/base/rollback.js +8 -6
- package/dist/deploy/base/stop.d.ts +3 -2
- package/dist/deploy/base/stop.js +8 -6
- package/dist/deploy/cloudRun/deployJob.js +28 -26
- package/dist/deploy/custom/deployJob.js +14 -11
- package/dist/deploy/dockerTag/deployJob.js +15 -5
- package/dist/deploy/kubernetes/deployJob.js +14 -14
- package/dist/deploy/kubernetes/mongodb.d.ts +1 -1
- package/dist/deploy/kubernetes/mongodb.js +8 -7
- package/dist/deploy/types/index.d.ts +1 -1
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +1 -0
- package/dist/pipeline/gitlab/createGitlabJobs.js +4 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/gitlab-ci-yml.d.ts +769 -0
- package/dist/types/gitlab-ci-yml.js +9 -0
- package/dist/types/gitlab-types.d.ts +12 -82
- package/dist/types/jobs.d.ts +3 -3
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +4 -4
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +4 -4
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +4 -4
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +24 -24
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +4 -4
- package/examples/__snapshots__/custom-build-job.ts.snap +4 -4
- package/examples/__snapshots__/custom-sbom-java.ts.snap +4 -4
- package/examples/__snapshots__/native-app.ts.snap +4 -4
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +4 -4
- package/package.json +4 -2
- package/scripts/generate-gitlab-ci-types.ts +51 -0
- package/src/build/base/{createBuildJob.ts → createAppBuildJob.ts} +3 -2
- package/src/build/base/index.ts +35 -0
- package/src/build/custom/buildJob.ts +32 -45
- package/src/build/docker.ts +14 -17
- package/src/build/node/buildJob.ts +50 -61
- package/src/build/node/meteor.ts +31 -36
- package/src/build/rails/build.ts +8 -10
- package/src/build/types.ts +4 -8
- package/src/context/getLabels.ts +1 -0
- package/src/deploy/base/deploy.ts +16 -2
- package/src/deploy/base/index.ts +22 -3
- package/src/deploy/base/rollback.ts +13 -2
- package/src/deploy/base/stop.ts +13 -4
- package/src/deploy/cloudRun/deployJob.ts +13 -15
- package/src/deploy/custom/deployJob.ts +17 -20
- package/src/deploy/dockerTag/deployJob.ts +6 -7
- package/src/deploy/kubernetes/deployJob.ts +17 -23
- package/src/deploy/kubernetes/mongodb.ts +3 -2
- package/src/pipeline/gitlab/createGitlabJobs.ts +3 -0
- package/src/types/gitlab-ci-yml.ts +892 -0
- package/src/types/gitlab-types.ts +49 -83
- package/src/types/jobs.ts +3 -4
- package/dist/build/base/createBuildJob.d.ts +0 -7
package/dist/constants.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
5
|
-
exports.PIPELINE_IMAGE_TAG = "v1-
|
|
5
|
+
exports.PIPELINE_IMAGE_TAG = "v1-113-0-8de39eaa" || "";
|
|
6
6
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Context } from "../types";
|
|
2
2
|
export declare const getLabels: (context: Context) => {
|
|
3
3
|
"customer-name": string | undefined;
|
|
4
|
+
"component-name": string | undefined;
|
|
4
5
|
"app-name": string | undefined;
|
|
5
6
|
"env-type": string | undefined;
|
|
6
7
|
"env-name": string | undefined;
|
|
@@ -28,6 +28,7 @@ var getLabels = function (context) {
|
|
|
28
28
|
var _a, _b, _c;
|
|
29
29
|
var labels = __assign({
|
|
30
30
|
"customer-name": sanitize(context.fullConfig.customerName),
|
|
31
|
+
"component-name": sanitize(context.componentName),
|
|
31
32
|
"app-name": sanitize(context.fullConfig.appName),
|
|
32
33
|
"env-type": sanitize(context.environment.envType),
|
|
33
34
|
"env-name": sanitize(context.environment.shortName),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Context } from "../../types/context";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CatladderJob } from "../../types/jobs";
|
|
3
3
|
export declare const DEPLOY_JOB_NAME = "\uD83D\uDE80 Deploy";
|
|
4
|
-
export declare
|
|
4
|
+
export declare type DeployJobDefinition = Pick<CatladderJob, "script" | "variables" | "image" | "cache" | "artifacts" | "services">;
|
|
5
|
+
export declare const createDeployJob: (context: Context, jobDefinition: DeployJobDefinition) => CatladderJob;
|
|
@@ -42,7 +42,7 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
42
42
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
43
|
};
|
|
44
44
|
exports.__esModule = true;
|
|
45
|
-
exports.
|
|
45
|
+
exports.createDeployJob = exports.DEPLOY_JOB_NAME = void 0;
|
|
46
46
|
var docker_1 = require("../../build/docker");
|
|
47
47
|
var sbom_1 = require("../../build/sbom");
|
|
48
48
|
var sbom_2 = require("../sbom");
|
|
@@ -50,7 +50,7 @@ var utils_1 = require("../utils");
|
|
|
50
50
|
var stop_1 = require("./stop");
|
|
51
51
|
var variables_1 = require("./variables");
|
|
52
52
|
exports.DEPLOY_JOB_NAME = "🚀 Deploy";
|
|
53
|
-
var
|
|
53
|
+
var createDeployJob = function (context, jobDefinition) {
|
|
54
54
|
var _a, _b, _c, _d;
|
|
55
55
|
var hasDocker = (0, docker_1.requiresDockerBuild)(context);
|
|
56
56
|
var isStoppable = (0, utils_1.contextIsStoppable)(context);
|
|
@@ -64,6 +64,11 @@ var getBaseDeploymentJob = function (context) {
|
|
|
64
64
|
var whenDeploy = whenDeployDefined ? whenDeployDefined : whenDeployDefault;
|
|
65
65
|
return {
|
|
66
66
|
name: exports.DEPLOY_JOB_NAME,
|
|
67
|
+
script: jobDefinition.script,
|
|
68
|
+
image: jobDefinition.image,
|
|
69
|
+
cache: jobDefinition.cache,
|
|
70
|
+
artifacts: jobDefinition.artifacts,
|
|
71
|
+
services: jobDefinition.services,
|
|
67
72
|
envMode: "stagePerEnv",
|
|
68
73
|
needs: __spreadArray(__spreadArray([], __read((0, sbom_2.sbomDeactivated)(context) ? [] : [{
|
|
69
74
|
job: sbom_1.SBOM_BUILD_JOB_NAME,
|
|
@@ -90,7 +95,7 @@ var getBaseDeploymentJob = function (context) {
|
|
|
90
95
|
}],
|
|
91
96
|
allow_failure: whenDeploy === "manual" ? true : false,
|
|
92
97
|
stage: "deploy",
|
|
93
|
-
variables: __assign(__assign(__assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.envVars), hasDocker ? (0, docker_1.getDockerImageVariables)(context) : {}), context.environment.jobOnlyVars.deploy.envVars), context.componentConfig.deploy ? (_d = context.componentConfig.deploy.extraVars) !== null && _d !== void 0 ? _d : {} : {}),
|
|
98
|
+
variables: __assign(__assign(__assign(__assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.envVars), hasDocker ? (0, docker_1.getDockerImageVariables)(context) : {}), context.environment.jobOnlyVars.deploy.envVars), context.componentConfig.deploy ? (_d = context.componentConfig.deploy.extraVars) !== null && _d !== void 0 ? _d : {} : {}), jobDefinition.variables),
|
|
94
99
|
environment: __assign(__assign({}, context.environment.gitlabEnvironment), isStoppable ? {
|
|
95
100
|
on_stop: stop_1.STOP_JOB_NAME,
|
|
96
101
|
auto_stop_in: autoStop
|
|
@@ -98,4 +103,4 @@ var getBaseDeploymentJob = function (context) {
|
|
|
98
103
|
jobTags: context.componentConfig.deploy ? context.componentConfig.deploy.jobTags : undefined
|
|
99
104
|
};
|
|
100
105
|
};
|
|
101
|
-
exports.
|
|
106
|
+
exports.createDeployJob = createDeployJob;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { Context } from "../../types/context";
|
|
2
|
+
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
+
import { type DeployJobDefinition } from "./deploy";
|
|
4
|
+
import { type RollbackJobDefinition } from "./rollback";
|
|
5
|
+
import { type StopJobDefinition } from "./stop";
|
|
6
|
+
export declare const createDeployementJobs: (context: Context, definitions: {
|
|
7
|
+
deploy: DeployJobDefinition;
|
|
8
|
+
stop?: StopJobDefinition;
|
|
9
|
+
rollback?: RollbackJobDefinition;
|
|
10
|
+
}) => CatladderJob[];
|
|
@@ -1,21 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
var __read = this && this.__read || function (o, n) {
|
|
4
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
+
if (!m) return o;
|
|
6
|
+
var i = m.call(o),
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
10
|
+
try {
|
|
11
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
e = {
|
|
14
|
+
error: error
|
|
15
|
+
};
|
|
16
|
+
} finally {
|
|
17
|
+
try {
|
|
18
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
19
|
+
} finally {
|
|
20
|
+
if (e) throw e.error;
|
|
9
21
|
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
}
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
17
33
|
};
|
|
18
34
|
exports.__esModule = true;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
35
|
+
exports.createDeployementJobs = void 0;
|
|
36
|
+
var deploy_1 = require("./deploy");
|
|
37
|
+
var rollback_1 = require("./rollback");
|
|
38
|
+
var stop_1 = require("./stop");
|
|
39
|
+
var createDeployementJobs = function (context, definitions) {
|
|
40
|
+
return __spreadArray(__spreadArray([(0, deploy_1.createDeployJob)(context, definitions.deploy)], __read(definitions.stop ? [(0, stop_1.createStopJob)(context, definitions.stop)] : []), false), __read(definitions.rollback ? [(0, rollback_1.createRollbackJob)(context, definitions.rollback)] : []), false);
|
|
41
|
+
};
|
|
42
|
+
exports.createDeployementJobs = createDeployementJobs;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Context } from "../../types/context";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CatladderJob } from "../../types/jobs";
|
|
3
3
|
export declare const ROLLBACK_JOB_NAME = "\u21A9\uFE0F Rollback \u26A0\uFE0F";
|
|
4
|
-
export declare
|
|
4
|
+
export declare type RollbackJobDefinition = Pick<CatladderJob, "script" | "variables" | "image">;
|
|
5
|
+
export declare const createRollbackJob: (context: Context, jobDefinition: RollbackJobDefinition) => CatladderJob;
|
|
@@ -11,25 +11,27 @@ var __assign = this && this.__assign || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
exports.__esModule = true;
|
|
14
|
-
exports.
|
|
14
|
+
exports.createRollbackJob = exports.ROLLBACK_JOB_NAME = void 0;
|
|
15
15
|
var variables_1 = require("./variables");
|
|
16
16
|
exports.ROLLBACK_JOB_NAME = "↩️ Rollback ⚠️";
|
|
17
|
-
var
|
|
17
|
+
var createRollbackJob = function (context, jobDefinition) {
|
|
18
18
|
return {
|
|
19
19
|
name: exports.ROLLBACK_JOB_NAME,
|
|
20
|
+
image: jobDefinition.image,
|
|
20
21
|
envMode: "stagePerEnv",
|
|
21
22
|
needs: [],
|
|
22
23
|
rules: [{
|
|
23
24
|
when: "manual",
|
|
24
25
|
allow_failure: true
|
|
25
26
|
}],
|
|
26
|
-
variables: __assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.jobOnlyVars.deploy.envVars), {
|
|
27
|
+
variables: __assign(__assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.jobOnlyVars.deploy.envVars), {
|
|
27
28
|
GIT_STRATEGY: "none"
|
|
28
|
-
}),
|
|
29
|
+
}), jobDefinition.variables),
|
|
29
30
|
stage: "rollback",
|
|
30
31
|
environment: __assign(__assign({}, context.environment.gitlabEnvironment), {
|
|
31
32
|
action: "access"
|
|
32
|
-
})
|
|
33
|
+
}),
|
|
34
|
+
script: jobDefinition.script
|
|
33
35
|
};
|
|
34
36
|
};
|
|
35
|
-
exports.
|
|
37
|
+
exports.createRollbackJob = createRollbackJob;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Context } from "../../types/context";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CatladderJob } from "../../types/jobs";
|
|
3
3
|
export declare const STOP_JOB_NAME = "\uD83D\uDED1 Stop \u26A0\uFE0F";
|
|
4
|
-
export declare
|
|
4
|
+
export declare type StopJobDefinition = Pick<CatladderJob, "script" | "variables" | "image">;
|
|
5
|
+
export declare const createStopJob: (context: Context, jobDefinition: StopJobDefinition) => CatladderJob;
|
package/dist/deploy/base/stop.js
CHANGED
|
@@ -11,12 +11,13 @@ var __assign = this && this.__assign || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
exports.__esModule = true;
|
|
14
|
-
exports.
|
|
14
|
+
exports.createStopJob = exports.STOP_JOB_NAME = void 0;
|
|
15
15
|
var variables_1 = require("./variables");
|
|
16
16
|
exports.STOP_JOB_NAME = "🛑 Stop ⚠️";
|
|
17
|
-
var
|
|
17
|
+
var createStopJob = function (context, jobDefinition) {
|
|
18
18
|
return {
|
|
19
19
|
name: exports.STOP_JOB_NAME,
|
|
20
|
+
image: jobDefinition.image,
|
|
20
21
|
envMode: "stagePerEnv",
|
|
21
22
|
needs: [],
|
|
22
23
|
rules: [{
|
|
@@ -27,13 +28,14 @@ var getBaseDeploymentStopJob = function (context) {
|
|
|
27
28
|
when: "manual",
|
|
28
29
|
allow_failure: true
|
|
29
30
|
}],
|
|
30
|
-
variables: __assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.jobOnlyVars.deploy.envVars), {
|
|
31
|
+
variables: __assign(__assign(__assign(__assign({}, variables_1.DEPLOY_RUNNER_VARIABLES), context.environment.jobOnlyVars.deploy.envVars), {
|
|
31
32
|
GIT_STRATEGY: "none"
|
|
32
|
-
}),
|
|
33
|
+
}), jobDefinition.variables),
|
|
33
34
|
stage: "stop",
|
|
34
35
|
environment: __assign(__assign({}, context.environment.gitlabEnvironment), {
|
|
35
36
|
action: "stop"
|
|
36
|
-
})
|
|
37
|
+
}),
|
|
38
|
+
script: jobDefinition.script
|
|
37
39
|
};
|
|
38
40
|
};
|
|
39
|
-
exports.
|
|
41
|
+
exports.createStopJob = createStopJob;
|
|
@@ -49,14 +49,14 @@ var _1 = require(".");
|
|
|
49
49
|
var docker_1 = require("../../build/docker");
|
|
50
50
|
var getLabels_1 = require("../../context/getLabels");
|
|
51
51
|
var runner_1 = require("../../runner");
|
|
52
|
+
var gitlab_1 = require("../../utils/gitlab");
|
|
52
53
|
var base_1 = require("../base");
|
|
54
|
+
var sbom_1 = require("../sbom");
|
|
53
55
|
var types_1 = require("../types");
|
|
54
|
-
var
|
|
56
|
+
var createArgsString_1 = require("./utils/createArgsString");
|
|
55
57
|
var database_1 = require("./utils/database");
|
|
56
|
-
var
|
|
58
|
+
var gcloudServiceAccountLoginCommands_1 = require("./utils/gcloudServiceAccountLoginCommands");
|
|
57
59
|
var jobName_1 = require("./utils/jobName");
|
|
58
|
-
var createArgsString_1 = require("./utils/createArgsString");
|
|
59
|
-
var sbom_1 = require("../sbom");
|
|
60
60
|
var setExtraVarsScripts = function (deployConfig) {
|
|
61
61
|
return ["export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe ".concat(deployConfig.projectId, " --format=\"value(projectNumber)\")"), "echo \"GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER\""];
|
|
62
62
|
};
|
|
@@ -70,7 +70,6 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
70
70
|
// should not happen
|
|
71
71
|
throw new Error("deploy config is wrong");
|
|
72
72
|
}
|
|
73
|
-
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
74
73
|
var fullAppName = "".concat(context.fullConfig.customerName, "-").concat(context.fullConfig.appName);
|
|
75
74
|
var dockerUrl = "".concat(deployConfig.region, "-docker.pkg.dev/").concat(deployConfig.projectId, "/catladder-deploy/").concat(fullAppName);
|
|
76
75
|
var gcloudImageName = "".concat(dockerUrl, "/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG");
|
|
@@ -220,26 +219,29 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
220
219
|
name = _b[0];
|
|
221
220
|
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(commonArgsString);
|
|
222
221
|
})), false), __read(getDeleteSchedulesScripts()), false), __read(getDeleteJobsScripts()), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false), __read((0, sbom_1.getDependencyTrackDeleteScript)(context)), false);
|
|
223
|
-
return
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
222
|
+
return (0, base_1.createDeployementJobs)(context, {
|
|
223
|
+
deploy: (0, lodash_1.merge)((0, docker_1.getDockerJobBaseProps)(context), {
|
|
224
|
+
artifacts: {
|
|
225
|
+
paths: ["____envvars.yaml"]
|
|
226
|
+
},
|
|
227
|
+
variables: {
|
|
228
|
+
CLOUDSDK_CORE_DISABLE_PROMPTS: "1",
|
|
229
|
+
ENV_VARS: (0, js_yaml_1.dump)(allEnvVars, {
|
|
230
|
+
lineWidth: -1,
|
|
231
|
+
quotingType: "'",
|
|
232
|
+
forceQuotes: true
|
|
233
|
+
})
|
|
234
|
+
},
|
|
235
|
+
image: (0, runner_1.getRunnerImage)("gcloud"),
|
|
236
|
+
script: deployScripts
|
|
237
|
+
}),
|
|
238
|
+
stop: {
|
|
239
|
+
image: (0, runner_1.getRunnerImage)("gcloud"),
|
|
240
|
+
variables: {
|
|
241
|
+
CLOUDSDK_CORE_DISABLE_PROMPTS: "1"
|
|
242
|
+
},
|
|
243
|
+
script: (0, gitlab_1.allowFailureInScripts)(stopScripts)
|
|
244
|
+
}
|
|
245
|
+
});
|
|
244
246
|
};
|
|
245
247
|
exports.createGoogleCloudRunDeployJobs = createGoogleCloudRunDeployJobs;
|
|
@@ -33,12 +33,11 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
33
33
|
};
|
|
34
34
|
exports.__esModule = true;
|
|
35
35
|
exports.createCustomDeployJobs = void 0;
|
|
36
|
-
var lodash_1 = require("lodash");
|
|
37
36
|
var yarn_1 = require("../../build/node/yarn");
|
|
38
37
|
var runner_1 = require("../../runner");
|
|
39
38
|
var base_1 = require("../base");
|
|
40
|
-
var types_1 = require("../types");
|
|
41
39
|
var sbom_1 = require("../sbom");
|
|
40
|
+
var types_1 = require("../types");
|
|
42
41
|
var createCustomDeployJobs = function (context) {
|
|
43
42
|
var _a, _b, _c;
|
|
44
43
|
var deployConfig = context.componentConfig.deploy;
|
|
@@ -49,18 +48,22 @@ var createCustomDeployJobs = function (context) {
|
|
|
49
48
|
// should not happen
|
|
50
49
|
throw new Error("deploy config is not custom");
|
|
51
50
|
}
|
|
52
|
-
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
53
51
|
// FIXME: custom deploy currently assumes yarn-based project
|
|
54
52
|
var yarnInstall = (0, yarn_1.getYarnInstall)(context, {
|
|
55
53
|
noCustomPostInstall: true
|
|
56
54
|
});
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
return (0, base_1.createDeployementJobs)(context, {
|
|
56
|
+
deploy: {
|
|
57
|
+
image: (_a = deployConfig.jobImage) !== null && _a !== void 0 ? _a : (0, runner_1.getRunnerImage)("jobs-default"),
|
|
58
|
+
cache: (_b = deployConfig.jobCache) !== null && _b !== void 0 ? _b : [],
|
|
59
|
+
script: __spreadArray(__spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(deployConfig.requiresYarnInstall ? yarnInstall : []), false), __read(deployConfig.script), false), __read((0, sbom_1.getDependencyTrackUploadScript)(context)), false),
|
|
60
|
+
variables: {}
|
|
61
|
+
},
|
|
62
|
+
stop: deployConfig.stopScript ? {
|
|
63
|
+
image: (_c = deployConfig.jobImage) !== null && _c !== void 0 ? _c : (0, runner_1.getRunnerImage)("jobs-default"),
|
|
64
|
+
script: __spreadArray(__spreadArray([], __read(deployConfig.stopScript), false), __read((0, sbom_1.getDependencyTrackDeleteScript)(context)), false),
|
|
65
|
+
variables: {}
|
|
66
|
+
} : undefined
|
|
67
|
+
});
|
|
65
68
|
};
|
|
66
69
|
exports.createCustomDeployJobs = createCustomDeployJobs;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
3
13
|
exports.__esModule = true;
|
|
4
14
|
exports.createDockerTagDeployJobs = void 0;
|
|
5
|
-
var lodash_1 = require("lodash");
|
|
6
15
|
var docker_1 = require("../../build/docker");
|
|
7
16
|
var base_1 = require("../base");
|
|
8
17
|
var types_1 = require("../types");
|
|
@@ -15,10 +24,11 @@ var createDockerTagDeployJobs = function (context) {
|
|
|
15
24
|
// should not happen
|
|
16
25
|
throw new Error("deploy config is not dockerTag");
|
|
17
26
|
}
|
|
18
|
-
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
19
27
|
var tag = deployConfig.tag;
|
|
20
|
-
return
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
return (0, base_1.createDeployementJobs)(context, {
|
|
29
|
+
deploy: __assign(__assign({}, (0, docker_1.getDockerJobBaseProps)(context)), {
|
|
30
|
+
script: [docker_1.gitlabDockerLogin, "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG", "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG $DOCKER_IMAGE:".concat(tag), "docker push $DOCKER_IMAGE:".concat(tag), "echo \"pushed as $DOCKER_IMAGE:".concat(tag, "\"")]
|
|
31
|
+
})
|
|
32
|
+
});
|
|
23
33
|
};
|
|
24
34
|
exports.createDockerTagDeployJobs = createDockerTagDeployJobs;
|
|
@@ -44,13 +44,12 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
44
44
|
exports.__esModule = true;
|
|
45
45
|
exports.createKubernetesDeployJobs = void 0;
|
|
46
46
|
var js_yaml_1 = require("js-yaml");
|
|
47
|
-
var lodash_1 = require("lodash");
|
|
48
|
-
var __1 = require("../..");
|
|
49
47
|
var runner_1 = require("../../runner");
|
|
50
48
|
var base_1 = require("../base");
|
|
49
|
+
var sbom_1 = require("../sbom");
|
|
51
50
|
var types_1 = require("../types");
|
|
52
51
|
var kubeValues_1 = require("./kubeValues");
|
|
53
|
-
var
|
|
52
|
+
var getEnvironmentVariables_1 = require("../../context/getEnvironmentVariables");
|
|
54
53
|
var createKubernetesDeployJobs = function (context) {
|
|
55
54
|
var _a, _b, _c;
|
|
56
55
|
var deployConfig = context.componentConfig.deploy;
|
|
@@ -79,17 +78,18 @@ var createKubernetesDeployJobs = function (context) {
|
|
|
79
78
|
BUILD_ID: (_c = context.commitInfo) === null || _c === void 0 ? void 0 : _c.buildId
|
|
80
79
|
})
|
|
81
80
|
};
|
|
82
|
-
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
83
|
-
var baseStopJob = (0, base_1.getBaseDeploymentStopJob)(context);
|
|
84
|
-
var baseRollbackJob = (0, base_1.getBaseRollbackJob)(context);
|
|
85
81
|
var clusterName = "kube-".concat(context.environment.fullName);
|
|
86
|
-
var connectContext = ["kubectl config set-cluster \"".concat(clusterName, "\" --server=\"$").concat((0,
|
|
87
|
-
return
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
82
|
+
var connectContext = ["kubectl config set-cluster \"".concat(clusterName, "\" --server=\"$").concat((0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "KUBE_URL"), "\" --certificate-authority <(echo $").concat((0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "KUBE_CA_PEM"), " | base64 -d) --embed-certs=true"), "kubectl config set-credentials \"".concat(clusterName, "\" --token=\"$").concat((0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "KUBE_TOKEN"), "\""), "kubectl config set-context \"".concat(clusterName, "\" --cluster=\"").concat(clusterName, "\" --user=\"").concat(clusterName, "\" --namespace=\"").concat(context.environment.envVars.KUBE_NAMESPACE, "\""), "kubectl config use-context \"".concat(clusterName, "\"")];
|
|
83
|
+
return (0, base_1.createDeployementJobs)(context, {
|
|
84
|
+
deploy: __assign(__assign({}, shared), {
|
|
85
|
+
script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(connectContext), false), ["kubernetesCreateSecret", "kubernetesDeploy"], false), __read((0, sbom_1.getDependencyTrackUploadScript)(context)), false), ["echo deployment successful 😻"], false)
|
|
86
|
+
}),
|
|
87
|
+
stop: __assign(__assign({}, shared), {
|
|
88
|
+
script: __spreadArray(__spreadArray(__spreadArray([], __read(connectContext), false), ["kubernetesDelete"], false), __read((0, sbom_1.getDependencyTrackDeleteScript)(context)), false)
|
|
89
|
+
}),
|
|
90
|
+
rollback: __assign(__assign({}, shared), {
|
|
91
|
+
script: __spreadArray(__spreadArray([], __read(connectContext), false), ["kubernetesRollback"], false)
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
94
|
};
|
|
95
95
|
exports.createKubernetesDeployJobs = createKubernetesDeployJobs;
|
|
@@ -13,9 +13,10 @@ var __assign = this && this.__assign || function () {
|
|
|
13
13
|
exports.__esModule = true;
|
|
14
14
|
exports.createMongodbBaseConfig = void 0;
|
|
15
15
|
var lodash_1 = require("lodash");
|
|
16
|
-
var
|
|
16
|
+
var getEnvironmentVariables_1 = require("../../context/getEnvironmentVariables");
|
|
17
|
+
var types_1 = require("../types");
|
|
17
18
|
var getCredentialString = function (context) {
|
|
18
|
-
return "root:$".concat((0,
|
|
19
|
+
return "root:$".concat((0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "MONGODB_ROOT_PASSWORD"), "@");
|
|
19
20
|
};
|
|
20
21
|
var getMongodbHost = function (context, name) {
|
|
21
22
|
var namespace = context.environment.envVars.KUBE_NAMESPACE;
|
|
@@ -31,7 +32,7 @@ var getMongodbReplicasetHost = function (context, index) {
|
|
|
31
32
|
};
|
|
32
33
|
var createMongodbUrl = function (context, dbName) {
|
|
33
34
|
var _a, _b;
|
|
34
|
-
if (!(0,
|
|
35
|
+
if (!(0, types_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
35
36
|
throw new Error("can only createMongodbUrl on supported deploys");
|
|
36
37
|
}
|
|
37
38
|
var mongodbConfig = (_a = context.componentConfig.deploy.values) === null || _a === void 0 ? void 0 : _a.mongodb;
|
|
@@ -50,7 +51,7 @@ var createMongodbUrl = function (context, dbName) {
|
|
|
50
51
|
};
|
|
51
52
|
var createMongoBackupDefaultConfig = function (context) {
|
|
52
53
|
var _a;
|
|
53
|
-
if (!(0,
|
|
54
|
+
if (!(0, types_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
54
55
|
throw new Error("can only create mongodb base config on supported deploys");
|
|
55
56
|
}
|
|
56
57
|
var mongodbConfig = (_a = context.componentConfig.deploy.values) === null || _a === void 0 ? void 0 : _a.mongodb;
|
|
@@ -79,7 +80,7 @@ var createMongoBackupDefaultConfig = function (context) {
|
|
|
79
80
|
};
|
|
80
81
|
var createMongodbBaseConfig = function (context) {
|
|
81
82
|
var _a, _b;
|
|
82
|
-
if (!(0,
|
|
83
|
+
if (!(0, types_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
83
84
|
throw new Error("can only create mongodb base config on supported deploys");
|
|
84
85
|
}
|
|
85
86
|
var mongodbConfig = (_a = context.componentConfig.deploy.values) === null || _a === void 0 ? void 0 : _a.mongodb;
|
|
@@ -88,8 +89,8 @@ var createMongodbBaseConfig = function (context) {
|
|
|
88
89
|
enabled: true,
|
|
89
90
|
auth: {
|
|
90
91
|
enabled: true,
|
|
91
|
-
rootPassword: "$" + (0,
|
|
92
|
-
replicaSetKey: "$" + (0,
|
|
92
|
+
rootPassword: "$" + (0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "MONGODB_ROOT_PASSWORD"),
|
|
93
|
+
replicaSetKey: "$" + (0, getEnvironmentVariables_1.getSecretVarNameForContext)(context, "MONGODB_REPLICASET_KEY")
|
|
93
94
|
},
|
|
94
95
|
persistence: {
|
|
95
96
|
storageClass: "standard-rwo"
|
|
@@ -11,7 +11,7 @@ export declare type DeployConfigType = DeployConfig["type"];
|
|
|
11
11
|
export declare type DeployConfigGeneric<T extends DeployConfigType> = Extract<DeployConfig, {
|
|
12
12
|
type: T;
|
|
13
13
|
}>;
|
|
14
|
-
export declare const isOfDeployType: <T extends ("custom" | "dockerTag" | "google-cloudrun"
|
|
14
|
+
export declare const isOfDeployType: <T extends ("kubernetes" | "custom" | "dockerTag" | "google-cloudrun")[]>(t: DeployConfig | false, ...types: T) => t is Extract<DeployConfigCustom, {
|
|
15
15
|
type: T[number];
|
|
16
16
|
}> | Extract<DeployConfigDockerTag, {
|
|
17
17
|
type: T[number];
|
|
@@ -9,6 +9,7 @@ export declare const makeGitlabJob: (componentName: string, env: string, {
|
|
|
9
9
|
name,
|
|
10
10
|
needs,
|
|
11
11
|
jobTags,
|
|
12
|
+
script,
|
|
12
13
|
...job
|
|
13
14
|
}: CatladderJob<string>, allJobs: AllCatladderJobs) => [fullName: string, job: GitlabJobDef];
|
|
14
15
|
export declare const createGitlabJobs: (allJobs: AllCatladderJobs) => Promise<AllGitlabJobs>;
|
|
@@ -168,6 +168,7 @@ exports.__esModule = true;
|
|
|
168
168
|
exports.createGitlabJobs = exports.makeGitlabJob = void 0;
|
|
169
169
|
var lodash_1 = require("lodash");
|
|
170
170
|
var defaults_1 = require("../../defaults");
|
|
171
|
+
var utils_1 = require("../../utils");
|
|
171
172
|
var removeUndefined = function (obj) {
|
|
172
173
|
return Object.fromEntries(Object.entries(obj).filter(function (_a) {
|
|
173
174
|
var _b = __read(_a, 2),
|
|
@@ -203,7 +204,8 @@ var makeGitlabJob = function (componentName, env, _a, allJobs) {
|
|
|
203
204
|
name = _a.name,
|
|
204
205
|
needs = _a.needs,
|
|
205
206
|
jobTags = _a.jobTags,
|
|
206
|
-
|
|
207
|
+
script = _a.script,
|
|
208
|
+
job = __rest(_a, ["envMode", "needsStages", "needsOtherComponent", "name", "needs", "jobTags", "script"]);
|
|
207
209
|
var stage = envMode === "stagePerEnv" ? "".concat(job.stage, " ").concat(env) : job.stage;
|
|
208
210
|
var needsFromStages = needsStages === null || needsStages === void 0 ? void 0 : needsStages.flatMap(function (n) {
|
|
209
211
|
var _a, _b, _c, _d;
|
|
@@ -237,6 +239,7 @@ var makeGitlabJob = function (componentName, env, _a, allJobs) {
|
|
|
237
239
|
})).values()), false);
|
|
238
240
|
var fullJobName = getFullJobName(name, componentName, envMode !== "none" ? env : undefined);
|
|
239
241
|
var gitlabJob = removeUndefined(__assign(__assign({}, job), {
|
|
242
|
+
script: script === null || script === void 0 ? void 0 : script.filter(utils_1.notNil),
|
|
240
243
|
tags: jobTags,
|
|
241
244
|
stage: stage,
|
|
242
245
|
environment: ((_b = job.environment) === null || _b === void 0 ? void 0 : _b.on_stop) ? __assign(__assign({}, job.environment), {
|