@catladder/pipeline 1.59.0 → 1.60.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/bundles/catladder-gitlab/index.js +3 -3
- package/dist/constants.js +1 -1
- package/dist/deploy/cloudRun/deployJob.js +22 -20
- package/dist/deploy/cloudRun/index.js +53 -6
- package/dist/deploy/cloudRun/utils/database.d.ts +4 -0
- package/dist/deploy/cloudRun/utils/database.js +82 -0
- package/dist/deploy/index.d.ts +3 -2
- package/dist/deploy/index.js +1 -1
- package/dist/deploy/kubernetes/cloudSql/index.d.ts +8 -0
- package/dist/deploy/{cloudSql → kubernetes/cloudSql}/index.js +6 -6
- package/dist/deploy/kubernetes/kubeValues.js +2 -2
- package/dist/deploy/types/googleCloudRun.d.ts +28 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.js +3 -0
- package/dist/utils/gitlab.d.ts +5 -1
- package/dist/utils/gitlab.js +14 -2
- package/examples/cloud-sql.ts +42 -0
- package/package.json +1 -2
- package/src/context/index.ts +3 -2
- package/src/deploy/cloudRun/deployJob.ts +29 -17
- package/src/deploy/cloudRun/index.ts +47 -3
- package/src/deploy/cloudRun/utils/database.ts +55 -0
- package/src/deploy/index.ts +3 -2
- package/src/deploy/{cloudSql → kubernetes/cloudSql}/index.ts +4 -4
- package/src/deploy/kubernetes/kubeValues.ts +2 -2
- package/src/deploy/types/googleCloudRun.ts +26 -1
- package/src/types/config.ts +2 -1
- package/src/types/utils.ts +7 -0
- package/src/utils/gitlab.ts +18 -0
- package/dist/deploy/cloudSql/index.d.ts +0 -8
- package/examples/test.catladder.ts +0 -26
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-60-0-3b922c26" || "";
|
|
6
6
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "";
|
|
@@ -56,10 +56,12 @@ var types_1 = require("../types");
|
|
|
56
56
|
|
|
57
57
|
var gcloudServiceAccountLoginCommands_1 = require("./utils/gcloudServiceAccountLoginCommands");
|
|
58
58
|
|
|
59
|
+
var database_1 = require("./utils/database");
|
|
60
|
+
|
|
59
61
|
var gitlab_1 = require("../../utils/gitlab");
|
|
60
62
|
|
|
61
63
|
var createGoogleCloudRunDeployJobs = function (context) {
|
|
62
|
-
var _a
|
|
64
|
+
var _a;
|
|
63
65
|
|
|
64
66
|
var deployConfig = context.componentConfig.deploy;
|
|
65
67
|
|
|
@@ -88,7 +90,8 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
88
90
|
return "".concat(key, "=").concat(value);
|
|
89
91
|
}).join(",");
|
|
90
92
|
var commonArgs = "--project ".concat(deployConfig.projectId, " --region=").concat(deployConfig.region);
|
|
91
|
-
var
|
|
93
|
+
var cloudRunArgs = deployConfig.cloudSql ? "--set-cloudsql-instances=".concat(deployConfig.cloudSql.instanceConnectionName) : "";
|
|
94
|
+
var commonDeployArgs = "--image ".concat(gcloudImageName, " ").concat(commonArgs, " ").concat(cloudRunArgs, " --labels ").concat(labelsString);
|
|
92
95
|
var serviceName = context.environment.fullName.toLowerCase();
|
|
93
96
|
|
|
94
97
|
var getServiceDeployScript = function (service) {
|
|
@@ -103,7 +106,7 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
103
106
|
// due to some oversight from google, jobs create does not accept `--env-vars-file` 🤦
|
|
104
107
|
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
105
108
|
// also we cannot upsert a job, so we have to create it and catch the error and then update
|
|
106
|
-
var args = "".concat(jobName, " --command=\"").concat(job.command.split(" ").join(","), "\" ").concat(commonDeployArgs);
|
|
109
|
+
var args = "".concat(jobName, " --command=\"").concat(job.command.split(" ").join(","), "\" ").concat(commonDeployArgs, " --memory=").concat(job.memory || "512Mi");
|
|
107
110
|
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);
|
|
108
111
|
};
|
|
109
112
|
|
|
@@ -112,10 +115,13 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
var getFullJobName = function (name) {
|
|
115
|
-
return context.environment.fullName.toLowerCase() + "-" + name;
|
|
118
|
+
return context.environment.fullName.toLowerCase() + "-" + name.toLowerCase();
|
|
116
119
|
};
|
|
117
120
|
|
|
118
|
-
var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {})
|
|
121
|
+
var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {}) // filter out disabled jobs
|
|
122
|
+
.filter(function (entry) {
|
|
123
|
+
return Boolean(entry[1]);
|
|
124
|
+
}).map(function (_a) {
|
|
119
125
|
var _b = __read(_a, 2),
|
|
120
126
|
name = _b[0],
|
|
121
127
|
job = _b[1];
|
|
@@ -123,7 +129,8 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
123
129
|
return [getFullJobName(name), job];
|
|
124
130
|
});
|
|
125
131
|
|
|
126
|
-
var cloudRunDeployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(["echo \"$ENV_VARS\" > ____envvars.yaml"
|
|
132
|
+
var cloudRunDeployScripts = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(["echo \"$ENV_VARS\" > ____envvars.yaml"], __read(deployConfig.cloudSql ? (0, database_1.getDatabaseCreateScript)(context, deployConfig) // we create the db, so that we can also delete it afterwards
|
|
133
|
+
: []), false), __read(jobsWithNames.map(function (_a) {
|
|
127
134
|
var _b = __read(_a, 2),
|
|
128
135
|
name = _b[0],
|
|
129
136
|
job = _b[1];
|
|
@@ -131,37 +138,32 @@ var createGoogleCloudRunDeployJobs = function (context) {
|
|
|
131
138
|
return getJobCreateScripts(name, job);
|
|
132
139
|
}).flat()), false), __read(jobsWithNames.filter(function (_a) {
|
|
133
140
|
var _b = __read(_a, 2),
|
|
134
|
-
name = _b[0],
|
|
135
141
|
job = _b[1];
|
|
136
142
|
|
|
137
143
|
return job.when === "preDeploy";
|
|
138
144
|
}).map(function (_a) {
|
|
139
|
-
var _b = __read(_a,
|
|
140
|
-
name = _b[0]
|
|
141
|
-
job = _b[1];
|
|
145
|
+
var _b = __read(_a, 1),
|
|
146
|
+
name = _b[0];
|
|
142
147
|
|
|
143
148
|
return getJobRunScript(name);
|
|
144
149
|
})), false), __read(deployConfig.service !== false ? [getServiceDeployScript(deployConfig.service)] : []), false), __read(jobsWithNames.filter(function (_a) {
|
|
145
150
|
var _b = __read(_a, 2),
|
|
146
|
-
name = _b[0],
|
|
147
151
|
job = _b[1];
|
|
148
152
|
|
|
149
153
|
return job.when === "postDeploy";
|
|
150
154
|
}).map(function (_a) {
|
|
151
|
-
var _b = __read(_a,
|
|
152
|
-
name = _b[0]
|
|
153
|
-
job = _b[1];
|
|
155
|
+
var _b = __read(_a, 1),
|
|
156
|
+
name = _b[0];
|
|
154
157
|
|
|
155
158
|
return getJobRunScript(name);
|
|
156
159
|
})), false), ["docker image rm ".concat(gcloudImageName)], false);
|
|
157
160
|
|
|
158
|
-
var cloudRunStopScripts = __spreadArray(__spreadArray([], __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgs)] : []), false), __read(
|
|
159
|
-
var _b = __read(_a,
|
|
160
|
-
name = _b[0]
|
|
161
|
-
job = _b[1];
|
|
161
|
+
var cloudRunStopScripts = __spreadArray(__spreadArray(__spreadArray([], __read(deployConfig.service !== false ? ["gcloud run services delete ".concat(serviceName, " ").concat(commonArgs)] : []), false), __read(jobsWithNames.map(function (_a) {
|
|
162
|
+
var _b = __read(_a, 1),
|
|
163
|
+
name = _b[0];
|
|
162
164
|
|
|
163
|
-
return "gcloud beta run jobs delete ".concat(
|
|
164
|
-
})), false);
|
|
165
|
+
return "gcloud beta run jobs delete ".concat(name, " ").concat(commonArgs);
|
|
166
|
+
})), false), __read(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop ? (0, database_1.getDatabaseDeleteScript)(context, deployConfig) : []), false);
|
|
165
167
|
|
|
166
168
|
var baseStopJob = (0, base_1.getBaseDeploymentStopJob)(context);
|
|
167
169
|
return [(0, lodash_1.merge)({}, baseDeploymentJob, (0, docker_1.getDockerJobBaseProps)(context), {
|
|
@@ -39,22 +39,69 @@ var __read = this && this.__read || function (o, n) {
|
|
|
39
39
|
return ar;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
43
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
44
|
+
if (ar || !(i in from)) {
|
|
45
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
46
|
+
ar[i] = from[i];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
50
|
+
};
|
|
51
|
+
|
|
42
52
|
exports.__esModule = true;
|
|
43
53
|
exports.GCLOUD_RUN_DEPLOY_TYPE = exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = void 0;
|
|
44
54
|
|
|
45
55
|
var context_1 = require("../../context");
|
|
46
56
|
|
|
57
|
+
var gitlab_1 = require("../../utils/gitlab");
|
|
58
|
+
|
|
47
59
|
var deployJob_1 = require("./deployJob");
|
|
48
60
|
|
|
49
61
|
exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
50
62
|
exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
|
|
63
|
+
|
|
64
|
+
var getCloudSqlVariables = function (_a) {
|
|
65
|
+
var _b;
|
|
66
|
+
|
|
67
|
+
var deployConfigRaw = _a.deployConfigRaw,
|
|
68
|
+
environmentSlug = _a.environmentSlug,
|
|
69
|
+
env = _a.env,
|
|
70
|
+
componentName = _a.componentName,
|
|
71
|
+
fullConfig = _a.fullConfig;
|
|
72
|
+
|
|
73
|
+
if (deployConfigRaw && deployConfigRaw.cloudSql) {
|
|
74
|
+
var DB_NAME = [(_b = deployConfigRaw.cloudSql.dbNamePrefix) !== null && _b !== void 0 ? _b : "".concat(fullConfig.customerName, "-").concat(fullConfig.appName), environmentSlug].filter(Boolean).join("-");
|
|
75
|
+
return {
|
|
76
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME: deployConfigRaw.cloudSql.instanceConnectionName,
|
|
77
|
+
DB_NAME: DB_NAME,
|
|
78
|
+
DB_USER: "postgres",
|
|
79
|
+
DB_PASSWORD: "$" + (0, context_1.getSecretVarName)(env, componentName, "DB_PASSWORD"),
|
|
80
|
+
DATABASE_URL: "postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME"
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return {};
|
|
85
|
+
};
|
|
86
|
+
|
|
51
87
|
exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
52
88
|
jobs: deployJob_1.createGoogleCloudRunDeployJobs,
|
|
53
|
-
defaults: function () {
|
|
89
|
+
defaults: function (_a) {
|
|
90
|
+
var deployConfigRaw = _a.deployConfigRaw,
|
|
91
|
+
envType = _a.envType;
|
|
92
|
+
|
|
93
|
+
if (deployConfigRaw && deployConfigRaw.cloudSql) {
|
|
94
|
+
return {
|
|
95
|
+
cloudSql: {
|
|
96
|
+
deleteDatabaseOnStop: envType === "review"
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
54
101
|
return {};
|
|
55
102
|
},
|
|
56
|
-
additionalSecretKeys: function () {
|
|
57
|
-
return [exports.GCLOUD_DEPLOY_CREDENTIALS_KEY];
|
|
103
|
+
additionalSecretKeys: function (ctx) {
|
|
104
|
+
return __spreadArray([exports.GCLOUD_DEPLOY_CREDENTIALS_KEY], __read(ctx.deployConfigRaw && ctx.deployConfigRaw.cloudSql ? ["DB_PASSWORD"] : []), false);
|
|
58
105
|
},
|
|
59
106
|
getAdditionalEnvVars: function (ctx) {
|
|
60
107
|
var fullName = ctx.fullName,
|
|
@@ -67,10 +114,10 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
67
114
|
name = _b[0],
|
|
68
115
|
job = _b[1];
|
|
69
116
|
|
|
70
|
-
return ["CLOUD_RUN_JOB_TRIGGER_URL_" + name, "https://".concat(deployConfigRaw.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfigRaw.projectId, "/jobs/").concat(name, ":run")];
|
|
117
|
+
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(name, ":run")];
|
|
71
118
|
})) : {};
|
|
72
|
-
return __assign({
|
|
119
|
+
return __assign(__assign({
|
|
73
120
|
HOST_CANONICAL: HOST_CANONICAL
|
|
74
|
-
}, jobTriggers);
|
|
121
|
+
}, getCloudSqlVariables(ctx)), jobTriggers);
|
|
75
122
|
}
|
|
76
123
|
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Context } from "../../../types";
|
|
2
|
+
import type { DeployConfigCloudRun } from "../../types";
|
|
3
|
+
export declare const getDatabaseDeleteScript: (context: Context, deployConfig: DeployConfigCloudRun) => string[];
|
|
4
|
+
export declare const getDatabaseCreateScript: (context: Context, deployConfig: DeployConfigCloudRun) => string[];
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
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
|
+
|
|
11
|
+
try {
|
|
12
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
e = {
|
|
15
|
+
error: error
|
|
16
|
+
};
|
|
17
|
+
} finally {
|
|
18
|
+
try {
|
|
19
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
20
|
+
} finally {
|
|
21
|
+
if (e) throw e.error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.__esModule = true;
|
|
29
|
+
exports.getDatabaseCreateScript = exports.getDatabaseDeleteScript = void 0;
|
|
30
|
+
|
|
31
|
+
var gitlab_1 = require("../../../utils/gitlab");
|
|
32
|
+
|
|
33
|
+
var getDatabaseDeleteScript = function (context, deployConfig) {
|
|
34
|
+
var _a;
|
|
35
|
+
|
|
36
|
+
if (!deployConfig.cloudSql || !deployConfig.cloudSql.deleteDatabaseOnStop) {
|
|
37
|
+
throw new Error("not possible");
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var DB_NAME = ((_a = context.environment.envVars) !== null && _a !== void 0 ? _a : {}).DB_NAME;
|
|
41
|
+
|
|
42
|
+
if (!DB_NAME) {
|
|
43
|
+
throw new Error("error: env vars did not specify DB_NAME");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
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
|
|
50
|
+
// we have to repeate this process
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
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
|
+
pauseInSeconds: 10
|
|
55
|
+
})];
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.getDatabaseDeleteScript = getDatabaseDeleteScript;
|
|
59
|
+
|
|
60
|
+
var getDatabaseCreateScript = function (context, deployConfig) {
|
|
61
|
+
var _a;
|
|
62
|
+
|
|
63
|
+
if (!deployConfig.cloudSql) {
|
|
64
|
+
throw new Error("not possible");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var DB_NAME = ((_a = context.environment.envVars) !== null && _a !== void 0 ? _a : {}).DB_NAME;
|
|
68
|
+
|
|
69
|
+
if (!DB_NAME) {
|
|
70
|
+
throw new Error("error: env vars did not specify DB_NAME");
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
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
|
+
|
|
79
|
+
return (0, gitlab_1.allowFailureInScripts)(["echo \"ensuring Database...\"", "gcloud sql databases create ".concat(DB_NAME, " --instance=").concat(instanceId, " --project ").concat(projectId)]);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
exports.getDatabaseCreateScript = getDatabaseCreateScript;
|
package/dist/deploy/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { Context } from "../types/context";
|
|
2
2
|
import type { EnvironmentContext } from "../types/environmentContext";
|
|
3
3
|
import type { CatladderJob } from "../types/jobs";
|
|
4
|
+
import type { PartialDeep } from "../types/utils";
|
|
4
5
|
import type { DeployConfigGeneric, DeployConfigType } from "./types";
|
|
5
6
|
export * from "./cloudRun";
|
|
6
|
-
export * from "./cloudSql";
|
|
7
|
+
export * from "./kubernetes/cloudSql";
|
|
7
8
|
export * from "./kubernetes";
|
|
8
9
|
export * from "./types";
|
|
9
10
|
export * from "./utils";
|
|
10
11
|
export declare type DeployTypeDefinition<T extends DeployConfigType> = {
|
|
11
12
|
jobs: (context: Context) => CatladderJob[];
|
|
12
|
-
defaults: (envContext: EnvironmentContext<any, T>) =>
|
|
13
|
+
defaults: (envContext: EnvironmentContext<any, T>) => PartialDeep<DeployConfigGeneric<T>>;
|
|
13
14
|
additionalSecretKeys: (envContext: EnvironmentContext<any, T>) => string[];
|
|
14
15
|
getAdditionalEnvVars: (envContext: EnvironmentContext<any, T>) => Record<string, string | undefined | null>;
|
|
15
16
|
};
|
package/dist/deploy/index.js
CHANGED
|
@@ -30,7 +30,7 @@ var kubernetes_1 = require("./kubernetes");
|
|
|
30
30
|
|
|
31
31
|
__exportStar(require("./cloudRun"), exports);
|
|
32
32
|
|
|
33
|
-
__exportStar(require("./cloudSql"), exports);
|
|
33
|
+
__exportStar(require("./kubernetes/cloudSql"), exports);
|
|
34
34
|
|
|
35
35
|
__exportStar(require("./kubernetes"), exports);
|
|
36
36
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Context } from "../../../types";
|
|
2
|
+
export declare const hasKubernetesCloudSQL: (context: Context) => boolean | undefined;
|
|
3
|
+
export declare const getKubernetesCloudSQLConfig: (context: Context) => {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
instanceId?: string | undefined;
|
|
6
|
+
projectId?: string | undefined;
|
|
7
|
+
region?: string | undefined;
|
|
8
|
+
} | undefined;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.
|
|
4
|
+
exports.getKubernetesCloudSQLConfig = exports.hasKubernetesCloudSQL = void 0;
|
|
5
5
|
|
|
6
|
-
var types_1 = require("
|
|
6
|
+
var types_1 = require("../../types");
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var hasKubernetesCloudSQL = function (context) {
|
|
9
9
|
var _a, _b;
|
|
10
10
|
|
|
11
11
|
if ((0, types_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
@@ -15,9 +15,9 @@ var hasCloudSQL = function (context) {
|
|
|
15
15
|
return false;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
exports.
|
|
18
|
+
exports.hasKubernetesCloudSQL = hasKubernetesCloudSQL;
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var getKubernetesCloudSQLConfig = function (context) {
|
|
21
21
|
var _a;
|
|
22
22
|
|
|
23
23
|
if ((0, types_1.isOfDeployType)(context.componentConfig.deploy, "kubernetes")) {
|
|
@@ -27,4 +27,4 @@ var getCloudSQLConfig = function (context) {
|
|
|
27
27
|
throw new Error("cannot get cloud sql config");
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
exports.
|
|
30
|
+
exports.getKubernetesCloudSQLConfig = getKubernetesCloudSQLConfig;
|
|
@@ -18,7 +18,7 @@ var lodash_1 = require("lodash");
|
|
|
18
18
|
|
|
19
19
|
var utils_1 = require("../../utils");
|
|
20
20
|
|
|
21
|
-
var cloudSql_1 = require("
|
|
21
|
+
var cloudSql_1 = require("./cloudSql");
|
|
22
22
|
|
|
23
23
|
var types_1 = require("../types");
|
|
24
24
|
|
|
@@ -88,7 +88,7 @@ var createKubeValues = function (context) {
|
|
|
88
88
|
var defaultKubeValues = (0, lodash_1.merge)({
|
|
89
89
|
env: env,
|
|
90
90
|
application: createAppConfig(context, application)
|
|
91
|
-
}, (0, cloudSql_1.
|
|
91
|
+
}, (0, cloudSql_1.hasKubernetesCloudSQL)(context) ? (0, cloudsql_1.createCloudsqlBaseConfig)(context) : {}, ((_b = (_a = deployConfig.values) === null || _a === void 0 ? void 0 : _a.mongodb) === null || _b === void 0 ? void 0 : _b.enabled) ? (0, mongodb_1.createMongodbBaseConfig)(context) : {});
|
|
92
92
|
var kubeValues = (0, processSecretsAsFiles_1.processSecretsAsFiles)((0, utils_1.mergeWithMergingArrays)(defaultKubeValues, rest));
|
|
93
93
|
return kubeValues;
|
|
94
94
|
};
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import type { DeployConfigBase } from "./base";
|
|
2
2
|
export declare type Gcloudregion = "asia-east1" | "asia-northeast1" | "asia-northeast2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west4" | "europe-west8" | "europe-west9" | "me-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "asia-east2" | "asia-northeast3" | "asia-southeast1" | "asia-southeast2" | "asia-south1" | "asia-south2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-west2" | "europe-west3" | "europe-west6" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-west2" | "us-west3" | "us-west4";
|
|
3
|
+
export declare type DeployConfigCloudRunCloudSql = {
|
|
4
|
+
type: "unmanaged";
|
|
5
|
+
instanceConnectionName: string;
|
|
6
|
+
/**
|
|
7
|
+
* the prefix of the database, the full db name is this plus the environment slug
|
|
8
|
+
*
|
|
9
|
+
* defaults to customerName-appName
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
dbNamePrefix?: string | false;
|
|
13
|
+
/**
|
|
14
|
+
* whether to delete the database if the environment is stopped
|
|
15
|
+
* defaults to true for review envs, to false for every other environment
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
deleteDatabaseOnStop?: boolean;
|
|
19
|
+
};
|
|
3
20
|
export declare type DeployConfigCloudRunService = {
|
|
4
21
|
/**
|
|
5
22
|
* command / entrypoint, fallsback to buildConfig.startcommand
|
|
@@ -12,6 +29,11 @@ export declare type DeployConfigCloudRunJob = {
|
|
|
12
29
|
*/
|
|
13
30
|
command: string;
|
|
14
31
|
when: "manual" | "preDeploy" | "postDeploy";
|
|
32
|
+
/**
|
|
33
|
+
* memory limit of the job, defaults to 51Mi
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
memory?: `${number}${"M" | "G" | "Mi" | "Gi"}`;
|
|
15
37
|
};
|
|
16
38
|
export declare type DeployConfigCloudRun = {
|
|
17
39
|
/**
|
|
@@ -38,6 +60,11 @@ export declare type DeployConfigCloudRun = {
|
|
|
38
60
|
|
|
39
61
|
service?: boolean | DeployConfigCloudRunService;
|
|
40
62
|
jobs?: {
|
|
41
|
-
[name: string]: DeployConfigCloudRunJob;
|
|
63
|
+
[name: string]: DeployConfigCloudRunJob | false | null;
|
|
42
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* add cloudSql
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
cloudSql?: DeployConfigCloudRunCloudSql | false;
|
|
43
70
|
} & DeployConfigBase;
|