@catladder/pipeline 1.75.4 → 1.76.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/createBuildJob.js +5 -27
- package/dist/build/base/writeBuildInfo.js +0 -3
- package/dist/build/custom/buildJob.js +3 -23
- package/dist/build/custom/index.js +3 -10
- package/dist/build/docker.js +5 -40
- package/dist/build/index.js +0 -8
- package/dist/build/node/buildJob.js +3 -25
- package/dist/build/node/cache.js +3 -21
- package/dist/build/node/index.js +3 -16
- package/dist/build/node/meteor.js +3 -20
- package/dist/build/node/testJob.js +5 -22
- package/dist/build/node/yarn.js +5 -18
- package/dist/build/rails/build.js +2 -8
- package/dist/build/rails/index.js +3 -11
- package/dist/build/rails/test.js +5 -18
- package/dist/build/types.d.ts +0 -9
- package/dist/build/types.js +0 -4
- package/dist/bundles/catladder-gitlab/index.js +1 -1
- package/dist/catladder-gitlab.js +6 -24
- package/dist/config/{configruedEnvs.test.d.ts → __tests__/configruedEnvs.test.d.ts} +0 -0
- package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +10 -12
- package/dist/config/configruedEnvs.js +7 -22
- package/dist/config/index.js +0 -4
- package/dist/config/readConfig.js +2 -13
- package/dist/constants.js +1 -1
- package/dist/context/{resolveReferences.test.d.ts → __tests__/resolveReferences.test.d.ts} +0 -0
- package/dist/context/{resolveReferences.test.js → __tests__/resolveReferences.test.js} +52 -103
- package/dist/context/getEnvConfig.js +0 -8
- package/dist/context/getEnvType.js +0 -5
- package/dist/context/getEnvironment.js +13 -49
- package/dist/context/getEnvironmentContext.js +0 -5
- package/dist/context/getEnvironmentVariables.js +20 -83
- package/dist/context/getLabels.js +2 -13
- package/dist/context/index.js +13 -58
- package/dist/context/resolveReferences.js +36 -126
- package/dist/deploy/base.js +4 -19
- package/dist/deploy/cloudRun/deployJob.js +19 -61
- package/dist/deploy/cloudRun/index.js +17 -39
- package/dist/deploy/cloudRun/utils/database.js +11 -29
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +0 -4
- package/dist/deploy/cloudRun/utils/jobName.js +0 -2
- package/dist/deploy/custom/deployJob.js +3 -18
- package/dist/deploy/custom/index.js +0 -2
- package/dist/deploy/dockerTag/deployJob.js +0 -9
- package/dist/deploy/dockerTag/index.js +0 -2
- package/dist/deploy/index.js +0 -11
- package/dist/deploy/kubernetes/additionalSecretKeys.js +0 -9
- package/dist/deploy/kubernetes/cloudSql/index.js +0 -12
- package/dist/deploy/kubernetes/deployJob.js +3 -24
- package/dist/deploy/kubernetes/index.js +7 -17
- package/dist/deploy/kubernetes/kubeEnv.d.ts +0 -1
- package/dist/deploy/kubernetes/kubeEnv.js +5 -23
- package/dist/deploy/kubernetes/kubeValues.js +6 -24
- package/dist/deploy/kubernetes/mongodb.js +0 -24
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +2 -10
- package/dist/deploy/types/base.d.ts +0 -1
- package/dist/deploy/types/custom.d.ts +0 -6
- package/dist/deploy/types/googleCloudRun.d.ts +4 -12
- package/dist/deploy/types/index.js +0 -10
- package/dist/deploy/types/kubernetes.d.ts +0 -28
- package/dist/deploy/utils.js +0 -11
- package/dist/index.js +0 -10
- package/dist/pipeline/commitInfo/getBuildId.d.ts +1 -0
- package/dist/pipeline/{createChildPipeline.test.js → commitInfo/getBuildId.js} +25 -84
- package/dist/pipeline/commitInfo/getCommitInfo.d.ts +2 -0
- package/dist/{build/tests/storybook.test.js → pipeline/commitInfo/getCommitInfo.js} +30 -104
- package/dist/pipeline/createChildPipeline.js +19 -76
- package/dist/pipeline/createJobs.js +35 -135
- package/dist/pipeline/gitlab/makeGitlabJob.d.ts +1 -0
- package/dist/pipeline/gitlab/makeGitlabJob.js +13 -15
- package/dist/pipeline/index.js +0 -4
- package/dist/pipeline/packageManager.js +20 -173
- package/dist/pipeline/yarn/yarnUtils.d.ts +4 -0
- package/dist/pipeline/yarn/yarnUtils.js +193 -0
- package/dist/runner/index.js +0 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +0 -13
- package/dist/types/config.js +5 -15
- package/dist/types/context.d.ts +0 -2
- package/dist/types/environmentContext.d.ts +0 -1
- package/dist/types/gitlab-types.d.ts +0 -1
- package/dist/types/index.js +0 -6
- package/dist/types/jobs.d.ts +5 -15
- package/dist/utils/gitlab.js +3 -13
- package/dist/utils/index.js +5 -15
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +1765 -0
- package/examples/__snapshots__/custom-build-job.ts.snap +1174 -0
- package/examples/__snapshots__/custom-envs.ts.snap +261 -0
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +1626 -0
- package/examples/__utils__/helpers.ts +14 -0
- package/examples/{cloud-sql.ts → cloud-run-with-sql.ts} +12 -15
- package/examples/custom-build-job.ts +4 -1
- package/examples/custom-envs.ts +31 -0
- package/examples/wait-for-other-deploy.ts +36 -0
- package/package.json +2 -2
- package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
- package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +3 -3
- package/src/deploy/cloudRun/index.ts +2 -1
- package/src/deploy/types/googleCloudRun.ts +5 -0
- package/src/pipeline/commitInfo/getBuildId.ts +6 -0
- package/src/pipeline/commitInfo/getCommitInfo.ts +12 -0
- package/src/pipeline/createChildPipeline.ts +6 -1
- package/src/pipeline/createJobs.ts +3 -10
- package/src/pipeline/gitlab/makeGitlabJob.ts +7 -1
- package/src/pipeline/packageManager.ts +4 -38
- package/src/pipeline/yarn/yarnUtils.ts +37 -0
- package/src/types/jobs.ts +2 -1
- package/tsconfig.json +1 -1
- package/dist/build/tests/storybook.test.d.ts +0 -1
- package/dist/pipeline/createChildPipeline.test.d.ts +0 -1
- package/src/build/tests/storybook.test.ts +0 -54
- package/src/pipeline/createChildPipeline.test.ts +0 -49
|
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
|
|
|
4
4
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
5
|
if (!m) return o;
|
|
6
6
|
var i = m.call(o),
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
11
10
|
try {
|
|
12
11
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
13
12
|
} catch (error) {
|
|
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
|
|
|
21
20
|
if (e) throw e.error;
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
return ar;
|
|
26
24
|
};
|
|
27
|
-
|
|
28
25
|
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
29
26
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
27
|
if (ar || !(i in from)) {
|
|
@@ -34,52 +31,33 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
34
31
|
}
|
|
35
32
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
33
|
};
|
|
37
|
-
|
|
38
34
|
exports.__esModule = true;
|
|
39
35
|
exports.createGoogleCloudRunDeployJobs = void 0;
|
|
40
|
-
|
|
41
36
|
var js_yaml_1 = require("js-yaml");
|
|
42
|
-
|
|
43
37
|
var lodash_1 = require("lodash");
|
|
44
|
-
|
|
45
38
|
var _1 = require(".");
|
|
46
|
-
|
|
47
39
|
var docker_1 = require("../../build/docker");
|
|
48
|
-
|
|
49
40
|
var getLabels_1 = require("../../context/getLabels");
|
|
50
|
-
|
|
51
41
|
var runner_1 = require("../../runner");
|
|
52
|
-
|
|
53
42
|
var base_1 = require("../base");
|
|
54
|
-
|
|
55
43
|
var types_1 = require("../types");
|
|
56
|
-
|
|
57
44
|
var gcloudServiceAccountLoginCommands_1 = require("./utils/gcloudServiceAccountLoginCommands");
|
|
58
|
-
|
|
59
45
|
var database_1 = require("./utils/database");
|
|
60
|
-
|
|
61
46
|
var gitlab_1 = require("../../utils/gitlab");
|
|
62
|
-
|
|
63
47
|
var jobName_1 = require("./utils/jobName");
|
|
64
|
-
|
|
65
48
|
var setExtraVarsScripts = function (deployConfig) {
|
|
66
49
|
return ["export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe ".concat(deployConfig.projectId, " --format=\"value(projectNumber)\")"), "echo \"GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER\""];
|
|
67
50
|
};
|
|
68
|
-
|
|
69
51
|
var createGoogleCloudRunDeployJobs = function (context) {
|
|
70
52
|
var _a, _b, _c;
|
|
71
|
-
|
|
72
53
|
var deployConfig = context.componentConfig.deploy;
|
|
73
|
-
|
|
74
54
|
if (deployConfig === false) {
|
|
75
55
|
return [];
|
|
76
56
|
}
|
|
77
|
-
|
|
78
57
|
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
79
58
|
// should not happen
|
|
80
59
|
throw new Error("deploy config is wrong");
|
|
81
60
|
}
|
|
82
|
-
|
|
83
61
|
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
84
62
|
var fullAppName = "".concat(context.fullConfig.customerName, "-").concat(context.fullConfig.appName);
|
|
85
63
|
var dockerUrl = "".concat(deployConfig.region, "-docker.pkg.dev/").concat(deployConfig.projectId, "/catladder-deploy/").concat(fullAppName);
|
|
@@ -88,28 +66,25 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
88
66
|
var allEnvVars = (0, lodash_1.omit)(context.environment.envVars, _1.GCLOUD_DEPLOY_CREDENTIALS_KEY);
|
|
89
67
|
var labelsString = Object.entries((0, getLabels_1.getLabels)(context)).map(function (_a) {
|
|
90
68
|
var _b = __read(_a, 2),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
key = _b[0],
|
|
70
|
+
value = _b[1];
|
|
94
71
|
return "".concat(key, "=").concat(value);
|
|
95
72
|
}).join(",");
|
|
96
73
|
var commonArgs = "--project ".concat(deployConfig.projectId, " --region=").concat(deployConfig.region);
|
|
97
74
|
var cloudRunArgs = deployConfig.cloudSql ? "--set-cloudsql-instances=".concat(deployConfig.cloudSql.instanceConnectionName) : "";
|
|
98
75
|
var commonDeployArgs = "--image ".concat(gcloudImageName, " ").concat(commonArgs, " ").concat(cloudRunArgs, " --labels ").concat(labelsString);
|
|
99
76
|
var serviceName = context.environment.fullName.toLowerCase();
|
|
100
|
-
|
|
101
77
|
var getFullJobName = function (name) {
|
|
102
78
|
return (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
103
79
|
};
|
|
104
|
-
|
|
105
|
-
|
|
80
|
+
var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {})
|
|
81
|
+
// filter out disabled jobs
|
|
106
82
|
.filter(function (entry) {
|
|
107
83
|
return Boolean(entry[1]);
|
|
108
84
|
}).map(function (_a) {
|
|
109
85
|
var _b = __read(_a, 2),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
86
|
+
name = _b[0],
|
|
87
|
+
job = _b[1];
|
|
113
88
|
return {
|
|
114
89
|
jobName: getFullJobName(name),
|
|
115
90
|
job: job
|
|
@@ -119,17 +94,15 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
119
94
|
return entry.job.when === "schedule";
|
|
120
95
|
}).map(function (_a) {
|
|
121
96
|
var job = _a.job,
|
|
122
|
-
|
|
97
|
+
jobName = _a.jobName;
|
|
123
98
|
return {
|
|
124
99
|
job: job,
|
|
125
100
|
jobName: jobName,
|
|
126
101
|
schedulerName: jobName + "-scheduler"
|
|
127
102
|
};
|
|
128
103
|
});
|
|
129
|
-
|
|
130
104
|
var getServiceDeployScript = function (service, nameSuffix) {
|
|
131
105
|
var _a;
|
|
132
|
-
|
|
133
106
|
var customConfig = service !== true ? service : undefined;
|
|
134
107
|
var command = service !== true ? (_a = service === null || service === void 0 ? void 0 : service.command) !== null && _a !== void 0 ? _a : context.componentConfig.build.startCommand : undefined;
|
|
135
108
|
var commandArg = command ? "--command=\"".concat(command.split(" ").join(","), "\"") : "";
|
|
@@ -141,19 +114,16 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
141
114
|
};
|
|
142
115
|
var argsString = Object.entries(args).filter(function (_a) {
|
|
143
116
|
var _b = __read(_a, 2),
|
|
144
|
-
|
|
145
|
-
|
|
117
|
+
value = _b[1];
|
|
146
118
|
return !(0, lodash_1.isNil)(value);
|
|
147
119
|
}).map(function (_a) {
|
|
148
120
|
var _b = __read(_a, 2),
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
121
|
+
key = _b[0],
|
|
122
|
+
value = _b[1];
|
|
152
123
|
return "--".concat(key).concat(value !== true ? "=".concat(value) : "");
|
|
153
124
|
}).join(" ");
|
|
154
125
|
return "gcloud run deploy ".concat(serviceName).concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "", " ").concat(commandArg, " ").concat(commonDeployArgs, " --env-vars-file=____envvars.yaml ").concat(argsString);
|
|
155
126
|
};
|
|
156
|
-
|
|
157
127
|
var getJobCreateScriptsForJob = function (jobName, job) {
|
|
158
128
|
// due to some oversight from google, jobs create does not accept `--env-vars-file` 🤦
|
|
159
129
|
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
@@ -161,19 +131,16 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
161
131
|
var args = "".concat(jobName, " --command=\"").concat(job.command.split(" ").join(","), "\" ").concat(commonDeployArgs, " --memory=").concat(job.memory || "512Mi");
|
|
162
132
|
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud beta run jobs create ".concat(args)])), false), ["gcloud beta run jobs update ".concat(args, " --env-vars-file=____envvars.yaml")], false);
|
|
163
133
|
};
|
|
164
|
-
|
|
165
134
|
var getJobCreateScripts = function () {
|
|
166
135
|
return jobsWithNames.map(function (_a) {
|
|
167
136
|
var job = _a.job,
|
|
168
|
-
|
|
137
|
+
jobName = _a.jobName;
|
|
169
138
|
return getJobCreateScriptsForJob(jobName, job);
|
|
170
139
|
}).flat();
|
|
171
140
|
};
|
|
172
|
-
|
|
173
141
|
var getJobRunScriptForJob = function (jobName) {
|
|
174
142
|
return "gcloud beta run jobs execute ".concat(jobName, " ").concat(commonArgs);
|
|
175
143
|
};
|
|
176
|
-
|
|
177
144
|
var getJobRunScripts = function (when) {
|
|
178
145
|
return jobsWithNames.filter(function (_a) {
|
|
179
146
|
var job = _a.job;
|
|
@@ -183,47 +150,39 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
183
150
|
return getJobRunScriptForJob(jobName);
|
|
184
151
|
});
|
|
185
152
|
};
|
|
186
|
-
|
|
187
153
|
var getCreateScheduleScripts = function () {
|
|
188
154
|
return jobsWithSchedule.map(function (_a) {
|
|
189
155
|
var job = _a.job,
|
|
190
|
-
|
|
191
|
-
|
|
156
|
+
jobName = _a.jobName,
|
|
157
|
+
schedulerName = _a.schedulerName;
|
|
192
158
|
var commonArgs = "http ".concat(schedulerName, " --project=").concat(deployConfig.projectId, " --location ").concat(deployConfig.region, " --schedule=\"").concat(job.schedule, "\" --uri=\"https://").concat(deployConfig.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfig.projectId, "/jobs/").concat(jobName, ":run\" --http-method POST --oauth-service-account-email $GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com");
|
|
193
159
|
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs create ".concat(commonArgs)])), false), ["gcloud scheduler jobs update ".concat(commonArgs)], false);
|
|
194
160
|
}).flat();
|
|
195
161
|
};
|
|
196
|
-
|
|
197
162
|
var getDeleteSchedulesScripts = function () {
|
|
198
163
|
return jobsWithSchedule.map(function (_a) {
|
|
199
164
|
var schedulerName = _a.schedulerName;
|
|
200
165
|
return __spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["gcloud scheduler jobs delete ".concat(schedulerName, " --project=").concat(deployConfig.projectId, " --location ").concat(deployConfig.region)])), false);
|
|
201
166
|
}).flat();
|
|
202
167
|
};
|
|
203
|
-
|
|
204
168
|
var getDeleteJobsScripts = function () {
|
|
205
169
|
return jobsWithNames.map(function (_a) {
|
|
206
170
|
var jobName = _a.jobName;
|
|
207
171
|
return "gcloud beta run jobs delete ".concat(jobName, " ").concat(commonArgs);
|
|
208
172
|
});
|
|
209
173
|
};
|
|
210
|
-
|
|
211
174
|
var deployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(setExtraVarsScripts(deployConfig)), false), __read(pushImageToArtifactsRegistry), false), ["echo \"$ENV_VARS\" > ____envvars.yaml"], false), __read(deployConfig.cloudSql ? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
212
175
|
: []), false), __read(getCreateScheduleScripts()), false), __read(getJobCreateScripts()), false), __read(getJobRunScripts("preDeploy")), false), __read(deployConfig.service !== false ? [getServiceDeployScript(deployConfig.service)] : []), false), __read(Object.entries((_b = deployConfig.additionalServices) !== null && _b !== void 0 ? _b : {}).map(function (_a) {
|
|
213
176
|
var _b = __read(_a, 2),
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
177
|
+
name = _b[0],
|
|
178
|
+
service = _b[1];
|
|
217
179
|
return getServiceDeployScript(service, "-" + name);
|
|
218
180
|
})), false), __read(getJobRunScripts("postDeploy")), false), ["docker image rm ".concat(gcloudImageName)], false);
|
|
219
|
-
|
|
220
181
|
var stopScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgs)] : []), false), __read(Object.entries((_c = deployConfig.additionalServices) !== null && _c !== void 0 ? _c : {}).map(function (_a) {
|
|
221
182
|
var _b = __read(_a, 1),
|
|
222
|
-
|
|
223
|
-
|
|
183
|
+
name = _b[0];
|
|
224
184
|
return "gcloud run services delete ".concat(serviceName, "-").concat(name, " ").concat(commonArgs);
|
|
225
185
|
})), false), __read(getDeleteSchedulesScripts()), false), __read(getDeleteJobsScripts()), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false);
|
|
226
|
-
|
|
227
186
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, (0, docker_1.getDockerJobBaseProps)(context), {
|
|
228
187
|
artifacts: {
|
|
229
188
|
paths: ["____envvars.yaml"]
|
|
@@ -246,5 +205,4 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
246
205
|
script: stopScripts
|
|
247
206
|
})];
|
|
248
207
|
};
|
|
249
|
-
|
|
250
208
|
exports.createGoogleCloudRunDeployJobs = createGoogleCloudRunDeployJobs;
|
|
@@ -4,24 +4,19 @@ var __assign = this && this.__assign || function () {
|
|
|
4
4
|
__assign = Object.assign || function (t) {
|
|
5
5
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
6
|
s = arguments[i];
|
|
7
|
-
|
|
8
7
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
return t;
|
|
12
10
|
};
|
|
13
|
-
|
|
14
11
|
return __assign.apply(this, arguments);
|
|
15
12
|
};
|
|
16
|
-
|
|
17
13
|
var __read = this && this.__read || function (o, n) {
|
|
18
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
15
|
if (!m) return o;
|
|
20
16
|
var i = m.call(o),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
r,
|
|
18
|
+
ar = [],
|
|
19
|
+
e;
|
|
25
20
|
try {
|
|
26
21
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
27
22
|
} catch (error) {
|
|
@@ -35,10 +30,8 @@ var __read = this && this.__read || function (o, n) {
|
|
|
35
30
|
if (e) throw e.error;
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
return ar;
|
|
40
34
|
};
|
|
41
|
-
|
|
42
35
|
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
43
36
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
44
37
|
if (ar || !(i in from)) {
|
|
@@ -48,58 +41,45 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
48
41
|
}
|
|
49
42
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
50
43
|
};
|
|
51
|
-
|
|
52
44
|
exports.__esModule = true;
|
|
53
45
|
exports.GCLOUD_RUN_DEPLOY_TYPE = exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = void 0;
|
|
54
|
-
|
|
55
46
|
var context_1 = require("../../context");
|
|
56
|
-
|
|
57
47
|
var gitlab_1 = require("../../utils/gitlab");
|
|
58
|
-
|
|
59
48
|
var deployJob_1 = require("./deployJob");
|
|
60
|
-
|
|
61
49
|
var jobName_1 = require("./utils/jobName");
|
|
62
|
-
|
|
63
50
|
exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
64
51
|
exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
|
|
65
|
-
|
|
66
52
|
var getCloudSqlVariables = function (_a) {
|
|
67
|
-
var _b, _c;
|
|
68
|
-
|
|
53
|
+
var _b, _c, _d;
|
|
69
54
|
var deployConfigRaw = _a.deployConfigRaw,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
55
|
+
environmentSlug = _a.environmentSlug,
|
|
56
|
+
env = _a.env,
|
|
57
|
+
componentName = _a.componentName,
|
|
58
|
+
fullConfig = _a.fullConfig;
|
|
75
59
|
if (deployConfigRaw && deployConfigRaw.cloudSql) {
|
|
76
60
|
var DB_NAME = [(_b = deployConfigRaw.cloudSql.dbNamePrefix) !== null && _b !== void 0 ? _b : "".concat(fullConfig.customerName, "-").concat(fullConfig.appName), environmentSlug].filter(Boolean).join("-");
|
|
77
61
|
var additionalQueryParamsString = Object.entries((_c = deployConfigRaw.cloudSql.dbAdditionalQueryParams) !== null && _c !== void 0 ? _c : {}).map(function (_a) {
|
|
78
62
|
var _b = __read(_a, 2),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
key = _b[0],
|
|
64
|
+
value = _b[1];
|
|
82
65
|
return "&".concat(key, "=").concat(value);
|
|
83
66
|
}).join("");
|
|
84
67
|
return {
|
|
85
68
|
CLOUD_SQL_INSTANCE_CONNECTION_NAME: deployConfigRaw.cloudSql.instanceConnectionName,
|
|
86
69
|
DB_NAME: DB_NAME,
|
|
87
|
-
DB_USER: "postgres",
|
|
70
|
+
DB_USER: (_d = deployConfigRaw.cloudSql.dbUser) !== null && _d !== void 0 ? _d : "postgres",
|
|
88
71
|
DB_PASSWORD: "$" + (0, context_1.getSecretVarName)(env, componentName, "DB_PASSWORD"),
|
|
89
72
|
DATABASE_URL: "postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME".concat(additionalQueryParamsString),
|
|
90
73
|
DATABASE_JDBC_URL: "jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD".concat(additionalQueryParamsString)
|
|
91
74
|
};
|
|
92
75
|
}
|
|
93
|
-
|
|
94
76
|
return {};
|
|
95
77
|
};
|
|
96
|
-
|
|
97
78
|
exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
98
79
|
jobs: deployJob_1.createGoogleCloudRunDeployJobs,
|
|
99
80
|
defaults: function (_a) {
|
|
100
81
|
var deployConfigRaw = _a.deployConfigRaw,
|
|
101
|
-
|
|
102
|
-
|
|
82
|
+
envType = _a.envType;
|
|
103
83
|
if (deployConfigRaw && deployConfigRaw.cloudSql) {
|
|
104
84
|
return {
|
|
105
85
|
cloudSql: {
|
|
@@ -107,7 +87,6 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
107
87
|
}
|
|
108
88
|
};
|
|
109
89
|
}
|
|
110
|
-
|
|
111
90
|
return {};
|
|
112
91
|
},
|
|
113
92
|
additionalSecretKeys: function (ctx) {
|
|
@@ -115,15 +94,14 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
115
94
|
},
|
|
116
95
|
getAdditionalEnvVars: function (ctx) {
|
|
117
96
|
var fullName = ctx.fullName,
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
97
|
+
env = ctx.env,
|
|
98
|
+
componentName = ctx.componentName,
|
|
99
|
+
deployConfigRaw = ctx.deployConfigRaw;
|
|
121
100
|
var HOST_CANONICAL = fullName.toLowerCase() + "-" + process.env[(0, context_1.getSecretVarName)(env, componentName, exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX)];
|
|
122
101
|
var jobTriggers = deployConfigRaw && deployConfigRaw.jobs ? Object.fromEntries(Object.entries(deployConfigRaw.jobs).map(function (_a) {
|
|
123
102
|
var _b = __read(_a, 2),
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
103
|
+
name = _b[0],
|
|
104
|
+
job = _b[1];
|
|
127
105
|
return ["CLOUD_RUN_JOB_TRIGGER_URL_" + (0, gitlab_1.sanitizeForBashVariable)(name), "https://".concat(deployConfigRaw.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfigRaw.projectId, "/jobs/").concat((0, jobName_1.getCloudRunJobName)(fullName, name), ":run")];
|
|
128
106
|
})) : {};
|
|
129
107
|
return __assign(__assign({
|
|
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
|
|
|
4
4
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
5
|
if (!m) return o;
|
|
6
6
|
var i = m.call(o),
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
11
10
|
try {
|
|
12
11
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
13
12
|
} catch (error) {
|
|
@@ -21,62 +20,45 @@ var __read = this && this.__read || function (o, n) {
|
|
|
21
20
|
if (e) throw e.error;
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
return ar;
|
|
26
24
|
};
|
|
27
|
-
|
|
28
25
|
exports.__esModule = true;
|
|
29
26
|
exports.getDatabaseCreateScript = exports.getDatabaseDeleteScript = void 0;
|
|
30
|
-
|
|
31
27
|
var gitlab_1 = require("../../../utils/gitlab");
|
|
32
|
-
|
|
33
28
|
var getDatabaseDeleteScript = function (context, deployConfig) {
|
|
34
29
|
var _a;
|
|
35
|
-
|
|
36
30
|
if (!deployConfig.cloudSql || !deployConfig.cloudSql.deleteDatabaseOnStop) {
|
|
37
31
|
throw new Error("not possible");
|
|
38
32
|
}
|
|
39
|
-
|
|
40
33
|
var DB_NAME = ((_a = context.environment.envVars) !== null && _a !== void 0 ? _a : {}).DB_NAME;
|
|
41
|
-
|
|
42
34
|
if (!DB_NAME) {
|
|
43
35
|
throw new Error("error: env vars did not specify DB_NAME");
|
|
44
36
|
}
|
|
45
|
-
|
|
46
37
|
var _b = __read(deployConfig.cloudSql.instanceConnectionName.split(":"), 3),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
projectId = _b[0],
|
|
39
|
+
region = _b[1],
|
|
40
|
+
instanceId = _b[2];
|
|
41
|
+
// unfortunatly the database cannot be deleted right after the service has stopped, as it might still have connections
|
|
50
42
|
// we have to repeate this process
|
|
51
|
-
|
|
52
|
-
|
|
53
43
|
return ["echo \"deleting database ".concat(DB_NAME, "...\""), "echo \"\uD83D\uDC46 this can take multiple attemps (3-5min), because google cloud run may still have a connection to the database after the cloud run service is shut down\"", (0, gitlab_1.repeatOnFailure)("gcloud sql databases delete ".concat(DB_NAME, " --instance=").concat(instanceId, " --project ").concat(projectId), {
|
|
54
44
|
pauseInSeconds: 10
|
|
55
45
|
})];
|
|
56
46
|
};
|
|
57
|
-
|
|
58
47
|
exports.getDatabaseDeleteScript = getDatabaseDeleteScript;
|
|
59
|
-
|
|
60
48
|
var getDatabaseCreateScript = function (context, deployConfig) {
|
|
61
49
|
var _a;
|
|
62
|
-
|
|
63
50
|
if (!deployConfig.cloudSql) {
|
|
64
51
|
throw new Error("not possible");
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
var DB_NAME = ((_a = context.environment.envVars) !== null && _a !== void 0 ? _a : {}).DB_NAME;
|
|
68
|
-
|
|
69
54
|
if (!DB_NAME) {
|
|
70
55
|
throw new Error("error: env vars did not specify DB_NAME");
|
|
71
56
|
}
|
|
72
|
-
|
|
73
57
|
var _b = __read(deployConfig.cloudSql.instanceConnectionName.split(":"), 3),
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
58
|
+
projectId = _b[0],
|
|
59
|
+
region = _b[1],
|
|
60
|
+
instanceId = _b[2];
|
|
61
|
+
// may fail if it already exists
|
|
79
62
|
return (0, gitlab_1.allowFailureInScripts)(["echo \"ensuring Database...\"", "gcloud sql databases create ".concat(DB_NAME, " --instance=").concat(instanceId, " --project ").concat(projectId)]);
|
|
80
63
|
};
|
|
81
|
-
|
|
82
64
|
exports.getDatabaseCreateScript = getDatabaseCreateScript;
|
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.gcloudServiceAccountLoginCommands = void 0;
|
|
5
|
-
|
|
6
5
|
var __1 = require("..");
|
|
7
|
-
|
|
8
6
|
var context_1 = require("../../../context");
|
|
9
|
-
|
|
10
7
|
var gcloudServiceAccountLoginCommands = function (context) {
|
|
11
8
|
return ["echo $".concat((0, context_1.getSecretVarNameForContext)(context, __1.GCLOUD_DEPLOY_CREDENTIALS_KEY), " > ./____keyfile.json\n "), "gcloud auth activate-service-account --key-file=\"./____keyfile.json\""];
|
|
12
9
|
};
|
|
13
|
-
|
|
14
10
|
exports.gcloudServiceAccountLoginCommands = gcloudServiceAccountLoginCommands;
|
|
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
|
|
|
4
4
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
5
|
if (!m) return o;
|
|
6
6
|
var i = m.call(o),
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
11
10
|
try {
|
|
12
11
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
13
12
|
} catch (error) {
|
|
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
|
|
|
21
20
|
if (e) throw e.error;
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
return ar;
|
|
26
24
|
};
|
|
27
|
-
|
|
28
25
|
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
29
26
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
27
|
if (ar || !(i in from)) {
|
|
@@ -34,34 +31,23 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
34
31
|
}
|
|
35
32
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
33
|
};
|
|
37
|
-
|
|
38
34
|
exports.__esModule = true;
|
|
39
35
|
exports.createCustomDeployJobs = void 0;
|
|
40
|
-
|
|
41
36
|
var lodash_1 = require("lodash");
|
|
42
|
-
|
|
43
37
|
var yarn_1 = require("../../build/node/yarn");
|
|
44
|
-
|
|
45
38
|
var runner_1 = require("../../runner");
|
|
46
|
-
|
|
47
39
|
var base_1 = require("../base");
|
|
48
|
-
|
|
49
40
|
var types_1 = require("../types");
|
|
50
|
-
|
|
51
41
|
var createCustomDeployJobs = function (context) {
|
|
52
42
|
var _a, _b;
|
|
53
|
-
|
|
54
43
|
var deployConfig = context.componentConfig.deploy;
|
|
55
|
-
|
|
56
44
|
if (deployConfig === false) {
|
|
57
45
|
return [];
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
if (!(0, types_1.isOfDeployType)(deployConfig, "custom")) {
|
|
61
48
|
// should not happen
|
|
62
49
|
throw new Error("deploy config is not custom");
|
|
63
50
|
}
|
|
64
|
-
|
|
65
51
|
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
66
52
|
var yarnInstall = (0, yarn_1.getYarnInstall)(context);
|
|
67
53
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, {
|
|
@@ -70,5 +56,4 @@ var createCustomDeployJobs = function (context) {
|
|
|
70
56
|
script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(deployConfig.requiresYarnInstall ? yarnInstall : []), false), __read(deployConfig.script), false)
|
|
71
57
|
})];
|
|
72
58
|
};
|
|
73
|
-
|
|
74
59
|
exports.createCustomDeployJobs = createCustomDeployJobs;
|
|
@@ -2,32 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.createDockerTagDeployJobs = void 0;
|
|
5
|
-
|
|
6
5
|
var lodash_1 = require("lodash");
|
|
7
|
-
|
|
8
6
|
var docker_1 = require("../../build/docker");
|
|
9
|
-
|
|
10
7
|
var base_1 = require("../base");
|
|
11
|
-
|
|
12
8
|
var types_1 = require("../types");
|
|
13
|
-
|
|
14
9
|
var createDockerTagDeployJobs = function (context) {
|
|
15
10
|
var deployConfig = context.componentConfig.deploy;
|
|
16
|
-
|
|
17
11
|
if (deployConfig === false) {
|
|
18
12
|
return [];
|
|
19
13
|
}
|
|
20
|
-
|
|
21
14
|
if (!(0, types_1.isOfDeployType)(deployConfig, "dockerTag")) {
|
|
22
15
|
// should not happen
|
|
23
16
|
throw new Error("deploy config is not dockerTag");
|
|
24
17
|
}
|
|
25
|
-
|
|
26
18
|
var baseDeploymentJob = (0, base_1.getBaseDeploymentJob)(context);
|
|
27
19
|
var tag = deployConfig.tag;
|
|
28
20
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, (0, docker_1.getDockerJobBaseProps)(context), {
|
|
29
21
|
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, "\"")]
|
|
30
22
|
})];
|
|
31
23
|
};
|
|
32
|
-
|
|
33
24
|
exports.createDockerTagDeployJobs = createDockerTagDeployJobs;
|
package/dist/deploy/index.js
CHANGED
|
@@ -12,30 +12,19 @@ var __createBinding = this && this.__createBinding || (Object.create ? function
|
|
|
12
12
|
if (k2 === undefined) k2 = k;
|
|
13
13
|
o[k2] = m[k];
|
|
14
14
|
});
|
|
15
|
-
|
|
16
15
|
var __exportStar = this && this.__exportStar || function (m, exports) {
|
|
17
16
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
17
|
};
|
|
19
|
-
|
|
20
18
|
exports.__esModule = true;
|
|
21
19
|
exports.DEPLOY_TYPES = void 0;
|
|
22
|
-
|
|
23
20
|
var cloudRun_1 = require("./cloudRun");
|
|
24
|
-
|
|
25
21
|
var custom_1 = require("./custom");
|
|
26
|
-
|
|
27
22
|
var dockerTag_1 = require("./dockerTag");
|
|
28
|
-
|
|
29
23
|
var kubernetes_1 = require("./kubernetes");
|
|
30
|
-
|
|
31
24
|
__exportStar(require("./cloudRun"), exports);
|
|
32
|
-
|
|
33
25
|
__exportStar(require("./kubernetes"), exports);
|
|
34
|
-
|
|
35
26
|
__exportStar(require("./types"), exports);
|
|
36
|
-
|
|
37
27
|
__exportStar(require("./utils"), exports);
|
|
38
|
-
|
|
39
28
|
exports.DEPLOY_TYPES = {
|
|
40
29
|
kubernetes: kubernetes_1.KUBERNETES_DEPLOY_TYPE,
|
|
41
30
|
custom: custom_1.CUSTOM_DEPLOY_TYPE,
|
|
@@ -2,32 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.additionalKubernetesSecretKeys = void 0;
|
|
5
|
-
|
|
6
5
|
var additionalKubernetesSecretKeys = function (_a) {
|
|
7
6
|
var _b, _c, _d, _e;
|
|
8
|
-
|
|
9
7
|
var deployConfigRaw = _a.deployConfigRaw;
|
|
10
|
-
|
|
11
8
|
if (!deployConfigRaw) {
|
|
12
9
|
return [];
|
|
13
10
|
}
|
|
14
|
-
|
|
15
11
|
var keys = [];
|
|
16
|
-
|
|
17
12
|
if ((_c = (_b = deployConfigRaw.values) === null || _b === void 0 ? void 0 : _b.mongodb) === null || _c === void 0 ? void 0 : _c.enabled) {
|
|
18
13
|
keys.push("MONGODB_ROOT_PASSWORD");
|
|
19
|
-
|
|
20
14
|
if (deployConfigRaw.values.mongodb.architecture === "replicaset") {
|
|
21
15
|
keys.push("MONGODB_REPLICASET_KEY");
|
|
22
16
|
}
|
|
23
17
|
}
|
|
24
|
-
|
|
25
18
|
if ((_e = (_d = deployConfigRaw.values) === null || _d === void 0 ? void 0 : _d.cloudsql) === null || _e === void 0 ? void 0 : _e.enabled) {
|
|
26
19
|
keys.push("POSTGRESQL_PASSWORD");
|
|
27
20
|
keys.push("cloudsqlProxyCredentials");
|
|
28
21
|
}
|
|
29
|
-
|
|
30
22
|
return keys;
|
|
31
23
|
};
|
|
32
|
-
|
|
33
24
|
exports.additionalKubernetesSecretKeys = additionalKubernetesSecretKeys;
|