@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.
Files changed (112) hide show
  1. package/dist/build/base/createBuildJob.js +5 -27
  2. package/dist/build/base/writeBuildInfo.js +0 -3
  3. package/dist/build/custom/buildJob.js +3 -23
  4. package/dist/build/custom/index.js +3 -10
  5. package/dist/build/docker.js +5 -40
  6. package/dist/build/index.js +0 -8
  7. package/dist/build/node/buildJob.js +3 -25
  8. package/dist/build/node/cache.js +3 -21
  9. package/dist/build/node/index.js +3 -16
  10. package/dist/build/node/meteor.js +3 -20
  11. package/dist/build/node/testJob.js +5 -22
  12. package/dist/build/node/yarn.js +5 -18
  13. package/dist/build/rails/build.js +2 -8
  14. package/dist/build/rails/index.js +3 -11
  15. package/dist/build/rails/test.js +5 -18
  16. package/dist/build/types.d.ts +0 -9
  17. package/dist/build/types.js +0 -4
  18. package/dist/bundles/catladder-gitlab/index.js +1 -1
  19. package/dist/catladder-gitlab.js +6 -24
  20. package/dist/config/{configruedEnvs.test.d.ts → __tests__/configruedEnvs.test.d.ts} +0 -0
  21. package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +10 -12
  22. package/dist/config/configruedEnvs.js +7 -22
  23. package/dist/config/index.js +0 -4
  24. package/dist/config/readConfig.js +2 -13
  25. package/dist/constants.js +1 -1
  26. package/dist/context/{resolveReferences.test.d.ts → __tests__/resolveReferences.test.d.ts} +0 -0
  27. package/dist/context/{resolveReferences.test.js → __tests__/resolveReferences.test.js} +52 -103
  28. package/dist/context/getEnvConfig.js +0 -8
  29. package/dist/context/getEnvType.js +0 -5
  30. package/dist/context/getEnvironment.js +13 -49
  31. package/dist/context/getEnvironmentContext.js +0 -5
  32. package/dist/context/getEnvironmentVariables.js +20 -83
  33. package/dist/context/getLabels.js +2 -13
  34. package/dist/context/index.js +13 -58
  35. package/dist/context/resolveReferences.js +36 -126
  36. package/dist/deploy/base.js +4 -19
  37. package/dist/deploy/cloudRun/deployJob.js +19 -61
  38. package/dist/deploy/cloudRun/index.js +17 -39
  39. package/dist/deploy/cloudRun/utils/database.js +11 -29
  40. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +0 -4
  41. package/dist/deploy/cloudRun/utils/jobName.js +0 -2
  42. package/dist/deploy/custom/deployJob.js +3 -18
  43. package/dist/deploy/custom/index.js +0 -2
  44. package/dist/deploy/dockerTag/deployJob.js +0 -9
  45. package/dist/deploy/dockerTag/index.js +0 -2
  46. package/dist/deploy/index.js +0 -11
  47. package/dist/deploy/kubernetes/additionalSecretKeys.js +0 -9
  48. package/dist/deploy/kubernetes/cloudSql/index.js +0 -12
  49. package/dist/deploy/kubernetes/deployJob.js +3 -24
  50. package/dist/deploy/kubernetes/index.js +7 -17
  51. package/dist/deploy/kubernetes/kubeEnv.d.ts +0 -1
  52. package/dist/deploy/kubernetes/kubeEnv.js +5 -23
  53. package/dist/deploy/kubernetes/kubeValues.js +6 -24
  54. package/dist/deploy/kubernetes/mongodb.js +0 -24
  55. package/dist/deploy/kubernetes/processSecretsAsFiles.js +2 -10
  56. package/dist/deploy/types/base.d.ts +0 -1
  57. package/dist/deploy/types/custom.d.ts +0 -6
  58. package/dist/deploy/types/googleCloudRun.d.ts +4 -12
  59. package/dist/deploy/types/index.js +0 -10
  60. package/dist/deploy/types/kubernetes.d.ts +0 -28
  61. package/dist/deploy/utils.js +0 -11
  62. package/dist/index.js +0 -10
  63. package/dist/pipeline/commitInfo/getBuildId.d.ts +1 -0
  64. package/dist/pipeline/{createChildPipeline.test.js → commitInfo/getBuildId.js} +25 -84
  65. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +2 -0
  66. package/dist/{build/tests/storybook.test.js → pipeline/commitInfo/getCommitInfo.js} +30 -104
  67. package/dist/pipeline/createChildPipeline.js +19 -76
  68. package/dist/pipeline/createJobs.js +35 -135
  69. package/dist/pipeline/gitlab/makeGitlabJob.d.ts +1 -0
  70. package/dist/pipeline/gitlab/makeGitlabJob.js +13 -15
  71. package/dist/pipeline/index.js +0 -4
  72. package/dist/pipeline/packageManager.js +20 -173
  73. package/dist/pipeline/yarn/yarnUtils.d.ts +4 -0
  74. package/dist/pipeline/yarn/yarnUtils.js +193 -0
  75. package/dist/runner/index.js +0 -3
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/dist/types/config.d.ts +0 -13
  78. package/dist/types/config.js +5 -15
  79. package/dist/types/context.d.ts +0 -2
  80. package/dist/types/environmentContext.d.ts +0 -1
  81. package/dist/types/gitlab-types.d.ts +0 -1
  82. package/dist/types/index.js +0 -6
  83. package/dist/types/jobs.d.ts +5 -15
  84. package/dist/utils/gitlab.js +3 -13
  85. package/dist/utils/index.js +5 -15
  86. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +1765 -0
  87. package/examples/__snapshots__/custom-build-job.ts.snap +1174 -0
  88. package/examples/__snapshots__/custom-envs.ts.snap +261 -0
  89. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +1626 -0
  90. package/examples/__utils__/helpers.ts +14 -0
  91. package/examples/{cloud-sql.ts → cloud-run-with-sql.ts} +12 -15
  92. package/examples/custom-build-job.ts +4 -1
  93. package/examples/custom-envs.ts +31 -0
  94. package/examples/wait-for-other-deploy.ts +36 -0
  95. package/package.json +2 -2
  96. package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
  97. package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +3 -3
  98. package/src/deploy/cloudRun/index.ts +2 -1
  99. package/src/deploy/types/googleCloudRun.ts +5 -0
  100. package/src/pipeline/commitInfo/getBuildId.ts +6 -0
  101. package/src/pipeline/commitInfo/getCommitInfo.ts +12 -0
  102. package/src/pipeline/createChildPipeline.ts +6 -1
  103. package/src/pipeline/createJobs.ts +3 -10
  104. package/src/pipeline/gitlab/makeGitlabJob.ts +7 -1
  105. package/src/pipeline/packageManager.ts +4 -38
  106. package/src/pipeline/yarn/yarnUtils.ts +37 -0
  107. package/src/types/jobs.ts +2 -1
  108. package/tsconfig.json +1 -1
  109. package/dist/build/tests/storybook.test.d.ts +0 -1
  110. package/dist/pipeline/createChildPipeline.test.d.ts +0 -1
  111. package/src/build/tests/storybook.test.ts +0 -54
  112. 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
- r,
8
- ar = [],
9
- e;
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
- key = _b[0],
92
- value = _b[1];
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
- var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {}) // filter out disabled jobs
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
- name = _b[0],
111
- job = _b[1];
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
- jobName = _a.jobName;
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
- value = _b[1];
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
- key = _b[0],
150
- value = _b[1];
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
- jobName = _a.jobName;
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
- jobName = _a.jobName,
191
- schedulerName = _a.schedulerName;
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
- name = _b[0],
215
- service = _b[1];
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
- name = _b[0];
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
- r,
22
- ar = [],
23
- e;
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
- environmentSlug = _a.environmentSlug,
71
- env = _a.env,
72
- componentName = _a.componentName,
73
- fullConfig = _a.fullConfig;
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
- key = _b[0],
80
- value = _b[1];
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
- envType = _a.envType;
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
- env = ctx.env,
119
- componentName = ctx.componentName,
120
- deployConfigRaw = ctx.deployConfigRaw;
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
- name = _b[0],
125
- job = _b[1];
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
- r,
8
- ar = [],
9
- e;
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
- projectId = _b[0],
48
- region = _b[1],
49
- instanceId = _b[2]; // unfortunatly the database cannot be deleted right after the service has stopped, as it might still have connections
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
- projectId = _b[0],
75
- region = _b[1],
76
- instanceId = _b[2]; // may fail if it already exists
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;
@@ -2,9 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.getCloudRunJobName = void 0;
5
-
6
5
  var getCloudRunJobName = function (fullAppName, jobName) {
7
6
  return fullAppName.toLowerCase() + "-" + jobName.toLowerCase();
8
7
  };
9
-
10
8
  exports.getCloudRunJobName = getCloudRunJobName;
@@ -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
- r,
8
- ar = [],
9
- e;
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,9 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.CUSTOM_DEPLOY_TYPE = void 0;
5
-
6
5
  var deployJob_1 = require("./deployJob");
7
-
8
6
  exports.CUSTOM_DEPLOY_TYPE = {
9
7
  jobs: deployJob_1.createCustomDeployJobs,
10
8
  defaults: function () {
@@ -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;
@@ -2,9 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.DOCKER_TAG_DEPLOY_TYPE = void 0;
5
-
6
5
  var deployJob_1 = require("./deployJob");
7
-
8
6
  exports.DOCKER_TAG_DEPLOY_TYPE = {
9
7
  jobs: deployJob_1.createDockerTagDeployJobs,
10
8
  defaults: function () {
@@ -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;