@catladder/cli 3.9.2 → 3.10.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/catci/index.js +5 -5
- package/dist/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +26 -25
- package/dist/pipeline/src/build/rails/test.js +1 -1
- package/dist/pipeline/src/build/rails/test.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.js +7 -4
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/database.d.ts +21 -2
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js +55 -6
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
- package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +10 -0
- package/dist/pipeline/src/deploy/types/googleCloudRun.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
|
@@ -77,7 +77,7 @@ const createRailsTestJobs = (context) => {
|
|
|
77
77
|
`cd ${context.build.dir}`,
|
|
78
78
|
...bundlerInstall,
|
|
79
79
|
...((_q = (0, utils_1.ensureArrayOrNull)((_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.command)) !== null && _q !== void 0 ? _q : [
|
|
80
|
-
"bundle exec rake db:
|
|
80
|
+
"bundle exec rake db:test:prepare",
|
|
81
81
|
"bundle exec rake assets:precompile assets:clean",
|
|
82
82
|
"bundle exec rspec",
|
|
83
83
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/rails/test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../pipeline/src/build/rails/test.ts"],"names":[],"mappings":";;;AAAA,6BAGe;AAEf,uCAAwD;AAEjD,MAAM,mBAAmB,GAAG,CACjC,OAAyB,EACT,EAAE;;IAClB,gCAAgC;IAChC,6CAA6C;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,IAAA,qCAAiC,EAAC,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;IAEzC,MAAM,IAAI,GAA0C;QAClD,SAAS,EAAE;YACT,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO;SACjD;QACD,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,MAAM;KAChB,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CAAC;IACtC,MAAM,eAAe,GAAG,WAAW,CAAC;IACpC,MAAM,cAAc,GAAG;QACrB,2BAA2B,eAAe,GAAG;QAC7C,4BAA4B;KAC7B,CAAC;IACF,MAAM,YAAY,GAAG;QACnB,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,cAAc,CAAC;YACvB,MAAM,EAAE,eAAe,EAAE,8FAA8F;SACxH;QACD,KAAK,EAAE,CAAC,eAAe,CAAC;KACzB,CAAC;IACF,MAAM,QAAQ,GACZ,WAAW,CAAC,KAAK,KAAK,KAAK;QACzB,CAAC,CAAC;YACE,IAAI,EAAE,UAAU;YAEhB,GAAG,IAAI;YACP,KAAK,EAAE,SAAS,EAAE,kDAAkD;YACpE,KAAK,EACH,MAAA,MAAA,MAAA,WAAW,CAAC,KAAK,0CAAE,QAAQ,mCAAI,WAAW,CAAC,QAAQ,mCAAI,YAAY;YACrE,MAAM,EAAE;gBACN,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzB,GAAG,CAAC,MAAA,IAAA,yBAAiB,EAAC,MAAA,WAAW,CAAC,KAAK,0CAAE,OAAO,CAAC,mCAAI;oBACnD,2BAA2B;oBAC3B,oBAAoB;iBACrB,CAAC;aACH;YACD,aAAa,EAAE,IAAI;SACpB;QACH,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,OAAO,GACX,WAAW,CAAC,IAAI,KAAK,KAAK;QACxB,CAAC,CAAC;YACE,IAAI,EAAE,SAAS;YAEf,GAAG,IAAI;YACP,KAAK,EAAE,YAAY;YACnB,KAAK,EACH,MAAA,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,mCAAI,WAAW,CAAC,QAAQ,mCAAI,YAAY;YACpE,MAAM,EAAE;gBACN,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzB,GAAG,cAAc;gBACjB,GAAG,CAAC,MAAA,IAAA,yBAAiB,EAAC,MAAA,WAAW,CAAC,IAAI,0CAAE,OAAO,CAAC,mCAAI;oBAClD,qBAAqB;iBACtB,CAAC;aACH;SACF;QACH,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GACX,WAAW,CAAC,IAAI,KAAK,KAAK;QACxB,CAAC,CAAC;YACE,IAAI,EAAE,SAAS;YAEf,GAAG,IAAI;YACP,KAAK,EAAE,YAAY;YACnB,KAAK,EACH,MAAA,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,mCAAI,WAAW,CAAC,QAAQ,mCAAI,YAAY;YACpE,MAAM,EAAE;gBACN,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACzB,GAAG,cAAc;gBACjB,GAAG,CAAC,MAAA,IAAA,yBAAiB,EAAC,MAAA,WAAW,CAAC,IAAI,0CAAE,OAAO,CAAC,mCAAI;oBAClD,kCAAkC;oBAClC,iDAAiD;oBACjD,mBAAmB;iBACpB,CAAC;aACH;YACD,eAAe,EAAE;gBACf,SAAS,EAAE,MAAM;gBACjB,YAAY,EAAE,gCAAgC;aAC/C;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EACF,WAAW,CAAC,IAAI,IAAI,eAAe,IAAI,WAAW,CAAC,IAAI;wBACrD,CAAC,CAAC,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,aAAa,mCACjC,2BAA2B,CAAC;wBAC9B,CAAC,CAAC,2BAA2B;oBACjC,KAAK,EAAE,UAAU;oBACjB,SAAS,EAAE;wBACT,yBAAyB,EAAE,OAAO;qBACnC;iBACF;aACF;SACF;QACH,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;AACrD,CAAC,CAAC;AAjHW,QAAA,mBAAmB,uBAiH9B"}
|
|
@@ -12,19 +12,22 @@ exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
|
12
12
|
// FIXME: rename to internalHostSuffix, but this means that project-setup needs to be rerun, so its kindof a breaking change
|
|
13
13
|
exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
|
|
14
14
|
const getCloudSqlVariables = ({ deployConfigRaw, environmentSlugPrefix, env, componentName, fullConfig, }) => {
|
|
15
|
-
var _a, _b;
|
|
15
|
+
var _a, _b, _c;
|
|
16
16
|
if (deployConfigRaw && deployConfigRaw.cloudSql) {
|
|
17
17
|
const DB_NAME = (0, utils_1.getFullDbName)(deployConfigRaw.cloudSql, fullConfig, environmentSlugPrefix, componentName);
|
|
18
18
|
const additionalQueryParamsString = Object.entries((_a = deployConfigRaw.cloudSql.dbAdditionalQueryParams) !== null && _a !== void 0 ? _a : {})
|
|
19
19
|
.map(([key, value]) => `&${key}=${value}`)
|
|
20
20
|
.join("");
|
|
21
|
-
|
|
21
|
+
const dbVars = {
|
|
22
22
|
CLOUD_SQL_INSTANCE_CONNECTION_NAME: deployConfigRaw.cloudSql.instanceConnectionName,
|
|
23
23
|
DB_NAME: DB_NAME,
|
|
24
24
|
DB_USER: (_b = deployConfigRaw.cloudSql.dbUser) !== null && _b !== void 0 ? _b : "postgres",
|
|
25
25
|
DB_PASSWORD: "$" + (0, context_1.getSecretVarName)(env, componentName, "DB_PASSWORD"),
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
...dbVars,
|
|
29
|
+
DATABASE_URL: (0, database_1.getDatabaseConnectionString)(deployConfigRaw.cloudSql, dbVars).concat(additionalQueryParamsString),
|
|
30
|
+
DATABASE_JDBC_URL: (0, database_1.getDatabaseJdbcUrl)(dbVars, (_c = deployConfigRaw.cloudSql.dbConnectionStringVariablesMode) !== null && _c !== void 0 ? _c : database_1.DEFAULT_DB_VARIABLES_MODE),
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
33
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":";;;AACA,8DAGmC;AAEnC,2CAAiD;AAEjD,+CAA6D;AAC7D,6CAAkD;AAClD,6CAA8D;AAC9D,uEAAwE;AACxE,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
|
+
import { type StringOrBashExpression } from "../../../bash";
|
|
1
2
|
import type { ComponentContext } from "../../../types";
|
|
2
3
|
import type { DeployConfigCloudRun, DeployConfigCloudRunCloudSql } from "../../types";
|
|
3
4
|
export declare const getDatabaseDeleteScript: (context: ComponentContext, deployConfig: DeployConfigCloudRun) => string[];
|
|
4
5
|
export declare const getDatabaseCreateScript: (context: ComponentContext, deployConfig: DeployConfigCloudRun) => string[];
|
|
5
|
-
export
|
|
6
|
-
|
|
6
|
+
export type DBVariables = {
|
|
7
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME: StringOrBashExpression;
|
|
8
|
+
DB_NAME: StringOrBashExpression;
|
|
9
|
+
DB_USER: StringOrBashExpression;
|
|
10
|
+
DB_PASSWORD: StringOrBashExpression;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* controls how variables in the connection string are handled
|
|
14
|
+
*
|
|
15
|
+
* - legacy: variables like $DB_USER will be kept as environment variables to be replaced at runtime (default). It is not using BashExpressions as this was not the case in the past.
|
|
16
|
+
* - embedded: variables will be replaced with their actual values in the connection string
|
|
17
|
+
*
|
|
18
|
+
* We will remove the legacy mode in the future, as it is confusing. But its unclear whether its a breaking change in some edge cases
|
|
19
|
+
*/
|
|
20
|
+
export type DBVariablesMode = "legacy" | "embedded";
|
|
21
|
+
export declare const DEFAULT_DB_VARIABLES_MODE: DBVariablesMode;
|
|
22
|
+
export declare const getDatabaseJdbcUrl: (variables: DBVariables, mode: DBVariablesMode) => StringOrBashExpression;
|
|
23
|
+
export declare const getRailsDatabaseConnectionString: (variables: DBVariables, mode: DBVariablesMode) => StringOrBashExpression;
|
|
24
|
+
export declare const getPrismaDatabaseConnectionString: (variables: DBVariables, mode: DBVariablesMode) => StringOrBashExpression;
|
|
25
|
+
export declare const getDatabaseConnectionString: (config: DeployConfigCloudRunCloudSql, variables: DBVariables) => StringOrBashExpression;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDatabaseConnectionString = exports.
|
|
3
|
+
exports.getDatabaseConnectionString = exports.getPrismaDatabaseConnectionString = exports.getRailsDatabaseConnectionString = exports.getDatabaseJdbcUrl = exports.DEFAULT_DB_VARIABLES_MODE = exports.getDatabaseCreateScript = exports.getDatabaseDeleteScript = void 0;
|
|
4
|
+
const bash_1 = require("../../../bash");
|
|
4
5
|
const gitlab_1 = require("../../../utils/gitlab");
|
|
5
6
|
const getDatabaseDeleteScript = (context, deployConfig) => {
|
|
6
7
|
if (!deployConfig.cloudSql || !deployConfig.cloudSql.deleteDatabaseOnStop) {
|
|
@@ -38,16 +39,64 @@ const getDatabaseCreateScript = (context, deployConfig) => {
|
|
|
38
39
|
]);
|
|
39
40
|
};
|
|
40
41
|
exports.getDatabaseCreateScript = getDatabaseCreateScript;
|
|
41
|
-
exports.
|
|
42
|
-
const
|
|
42
|
+
exports.DEFAULT_DB_VARIABLES_MODE = "legacy";
|
|
43
|
+
const getVariableOrValue = (key, variables, mode) => {
|
|
44
|
+
return mode === "legacy" ? `$${key}` : variables[key];
|
|
45
|
+
};
|
|
46
|
+
const getDatabaseJdbcUrl = (variables, mode) => {
|
|
47
|
+
const parts = [
|
|
48
|
+
"jdbc:postgresql:///",
|
|
49
|
+
getVariableOrValue("DB_NAME", variables, mode),
|
|
50
|
+
"?cloudSqlInstance=",
|
|
51
|
+
getVariableOrValue("CLOUD_SQL_INSTANCE_CONNECTION_NAME", variables, mode),
|
|
52
|
+
"&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=",
|
|
53
|
+
getVariableOrValue("DB_USER", variables, mode),
|
|
54
|
+
"&password=",
|
|
55
|
+
getVariableOrValue("DB_PASSWORD", variables, mode),
|
|
56
|
+
];
|
|
57
|
+
return (0, bash_1.joinBashExpressions)(parts);
|
|
58
|
+
};
|
|
59
|
+
exports.getDatabaseJdbcUrl = getDatabaseJdbcUrl;
|
|
60
|
+
const getRailsDatabaseConnectionString = (variables, mode) => {
|
|
61
|
+
const parts = [
|
|
62
|
+
"postgresql://",
|
|
63
|
+
getVariableOrValue("DB_USER", variables, mode),
|
|
64
|
+
":",
|
|
65
|
+
getVariableOrValue("DB_PASSWORD", variables, mode),
|
|
66
|
+
"@",
|
|
67
|
+
encodeURIComponent(`/cloudsql/${variables.CLOUD_SQL_INSTANCE_CONNECTION_NAME}`),
|
|
68
|
+
"/",
|
|
69
|
+
getVariableOrValue("DB_NAME", variables, mode),
|
|
70
|
+
"?",
|
|
71
|
+
];
|
|
72
|
+
return (0, bash_1.joinBashExpressions)(parts);
|
|
73
|
+
};
|
|
74
|
+
exports.getRailsDatabaseConnectionString = getRailsDatabaseConnectionString;
|
|
75
|
+
const getPrismaDatabaseConnectionString = (variables, mode) => {
|
|
76
|
+
const parts = [
|
|
77
|
+
"postgresql://",
|
|
78
|
+
getVariableOrValue("DB_USER", variables, mode),
|
|
79
|
+
":",
|
|
80
|
+
getVariableOrValue("DB_PASSWORD", variables, mode),
|
|
81
|
+
"@localhost/",
|
|
82
|
+
getVariableOrValue("DB_NAME", variables, mode),
|
|
83
|
+
"?host=/cloudsql/",
|
|
84
|
+
getVariableOrValue("CLOUD_SQL_INSTANCE_CONNECTION_NAME", variables, mode),
|
|
85
|
+
];
|
|
86
|
+
return (0, bash_1.joinBashExpressions)(parts);
|
|
87
|
+
};
|
|
88
|
+
exports.getPrismaDatabaseConnectionString = getPrismaDatabaseConnectionString;
|
|
89
|
+
const getDatabaseConnectionString = (config, variables) => {
|
|
90
|
+
var _a;
|
|
91
|
+
const mode = (_a = config.dbConnectionStringVariablesMode) !== null && _a !== void 0 ? _a : exports.DEFAULT_DB_VARIABLES_MODE;
|
|
43
92
|
switch (config.dbConnectionStringFormat) {
|
|
44
93
|
case "jdbc":
|
|
45
|
-
return exports.
|
|
94
|
+
return (0, exports.getDatabaseJdbcUrl)(variables, mode);
|
|
46
95
|
case "rails":
|
|
47
|
-
return
|
|
96
|
+
return (0, exports.getRailsDatabaseConnectionString)(variables, mode);
|
|
48
97
|
default:
|
|
49
98
|
// prisma
|
|
50
|
-
return
|
|
99
|
+
return (0, exports.getPrismaDatabaseConnectionString)(variables, mode);
|
|
51
100
|
}
|
|
52
101
|
};
|
|
53
102
|
exports.getDatabaseConnectionString = getDatabaseConnectionString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/database.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DBVariablesMode } from "../cloudRun/utils/database";
|
|
1
2
|
import type { DeployConfigBase } from "./base";
|
|
2
3
|
export 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
4
|
export type DeployConfigCloudRunCloudSql = {
|
|
@@ -36,6 +37,15 @@ export type DeployConfigCloudRunCloudSql = {
|
|
|
36
37
|
* defaults to prisma
|
|
37
38
|
*/
|
|
38
39
|
dbConnectionStringFormat?: "prisma" | "rails" | "jdbc";
|
|
40
|
+
/**
|
|
41
|
+
* controls how variables in the connection string are handled
|
|
42
|
+
*
|
|
43
|
+
* - environment: variables like $DB_USER will be kept as environment variables to be replaced at runtime (default)
|
|
44
|
+
* - embedded: variables will be replaced with their actual values in the connection string
|
|
45
|
+
*
|
|
46
|
+
* @default "environment"
|
|
47
|
+
*/
|
|
48
|
+
dbConnectionStringVariablesMode?: DBVariablesMode;
|
|
39
49
|
/**
|
|
40
50
|
* add additional query params to the database connection string
|
|
41
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googleCloudRun.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/types/googleCloudRun.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"googleCloudRun.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/types/googleCloudRun.ts"],"names":[],"mappings":";;;AAuOa,QAAA,mBAAmB,GAA8B;IAC5D,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IAEjB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEW,QAAA,oBAAoB,GAA8B;IAC7D,GAAG,2BAAmB;IAEtB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,CAAC;CACpB,CAAC"}
|