@contember/engine-server 1.1.0-alpha.1 → 1.1.0-alpha.4
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/alpine.dockerfile +3 -1
- package/debian.dockerfile +3 -1
- package/dist/src/MasterContainer.d.ts +104 -8
- package/dist/src/MasterContainer.d.ts.map +1 -1
- package/dist/src/MasterContainer.js +65 -84
- package/dist/src/MasterContainer.js.map +1 -1
- package/dist/src/bootstrap/Initializer.d.ts +3 -12
- package/dist/src/bootstrap/Initializer.d.ts.map +1 -1
- package/dist/src/bootstrap/Initializer.js +8 -24
- package/dist/src/bootstrap/Initializer.js.map +1 -1
- package/dist/src/config/config.d.ts +7 -49
- package/dist/src/config/config.d.ts.map +1 -1
- package/dist/src/config/config.js +11 -188
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/configSchema.d.ts +84 -0
- package/dist/src/config/configSchema.d.ts.map +1 -0
- package/dist/src/config/configSchema.js +80 -0
- package/dist/src/config/configSchema.js.map +1 -0
- package/dist/src/config/configTemplate.d.ts +2 -0
- package/dist/src/config/configTemplate.d.ts.map +1 -0
- package/dist/src/config/configTemplate.js +62 -0
- package/dist/src/config/configTemplate.js.map +1 -0
- package/dist/src/config/projectConfigResolver.d.ts +8 -0
- package/dist/src/config/projectConfigResolver.d.ts.map +1 -0
- package/dist/src/config/projectConfigResolver.js +63 -0
- package/dist/src/config/projectConfigResolver.js.map +1 -0
- package/dist/src/config/tenantConfigResolver.d.ts +8 -0
- package/dist/src/config/tenantConfigResolver.d.ts.map +1 -0
- package/dist/src/config/tenantConfigResolver.js +31 -0
- package/dist/src/config/tenantConfigResolver.js.map +1 -0
- package/dist/src/http/CollectHttpMetricsMiddelware.d.ts +2 -2
- package/dist/src/http/CollectHttpMetricsMiddelware.d.ts.map +1 -1
- package/dist/src/http/CollectHttpMetricsMiddelware.js +6 -5
- package/dist/src/http/CollectHttpMetricsMiddelware.js.map +1 -1
- package/dist/src/project/ProjectContainer.d.ts +14 -16
- package/dist/src/project/ProjectContainer.d.ts.map +1 -1
- package/dist/src/project/ProjectContainer.js +17 -12
- package/dist/src/project/ProjectContainer.js.map +1 -1
- package/dist/src/project/ProjectContainerResolver.d.ts +12 -10
- package/dist/src/project/ProjectContainerResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectContainerResolver.js +26 -33
- package/dist/src/project/ProjectContainerResolver.js.map +1 -1
- package/dist/src/project/{ProjectGroupState.d.ts → ProjectContainerStore.d.ts} +2 -2
- package/dist/src/project/ProjectContainerStore.d.ts.map +1 -0
- package/dist/src/project/{ProjectGroupState.js → ProjectContainerStore.js} +4 -4
- package/dist/src/project/ProjectContainerStore.js.map +1 -0
- package/dist/src/project/ProjectInitializer.d.ts +3 -3
- package/dist/src/project/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/project/ProjectInitializer.js +4 -4
- package/dist/src/project/ProjectInitializer.js.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.d.ts +3 -3
- package/dist/src/project/ProjectSchemaResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.js +5 -5
- package/dist/src/project/ProjectSchemaResolver.js.map +1 -1
- package/dist/src/projectGroup/ProjectGroupContainer.d.ts +23 -0
- package/dist/src/projectGroup/ProjectGroupContainer.d.ts.map +1 -0
- package/dist/src/projectGroup/ProjectGroupContainer.js +64 -0
- package/dist/src/projectGroup/ProjectGroupContainer.js.map +1 -0
- package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts +12 -0
- package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts.map +1 -0
- package/dist/src/projectGroup/ProjectGroupContainerResolver.js +36 -0
- package/dist/src/projectGroup/ProjectGroupContainerResolver.js.map +1 -0
- package/dist/src/start.js +9 -8
- package/dist/src/start.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/dbMetrics.d.ts +6 -2
- package/dist/src/utils/dbMetrics.d.ts.map +1 -1
- package/dist/src/utils/dbMetrics.js +13 -16
- package/dist/src/utils/dbMetrics.js.map +1 -1
- package/dist/tests/cases/http.js +30 -19
- package/dist/tests/cases/http.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -21
- package/src/MasterContainer.ts +145 -204
- package/src/bootstrap/Initializer.ts +9 -34
- package/src/config/config.ts +23 -234
- package/src/config/configSchema.ts +114 -0
- package/src/config/configTemplate.ts +58 -0
- package/src/config/projectConfigResolver.ts +83 -0
- package/src/config/tenantConfigResolver.ts +41 -0
- package/src/http/CollectHttpMetricsMiddelware.ts +6 -5
- package/src/project/ProjectContainer.ts +25 -18
- package/src/project/ProjectContainerResolver.ts +29 -37
- package/src/project/{ProjectGroupState.ts → ProjectContainerStore.ts} +1 -1
- package/src/project/ProjectInitializer.ts +5 -9
- package/src/project/ProjectSchemaResolver.ts +6 -10
- package/src/projectGroup/ProjectGroupContainer.ts +120 -0
- package/src/projectGroup/ProjectGroupContainerResolver.ts +47 -0
- package/src/start.ts +9 -8
- package/src/utils/dbMetrics.ts +19 -20
- package/tests/cases/http.ts +35 -22
- package/dist/src/project/ProjectGroupState.d.ts.map +0 -1
- package/dist/src/project/ProjectGroupState.js.map +0 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import prom from 'prom-client';
|
|
2
2
|
import { Connection } from '@contember/database';
|
|
3
|
+
declare const labelNames: ("contember_project" | "contember_module" | "contember_project_group")[];
|
|
4
|
+
declare type LabelNames = typeof labelNames[number];
|
|
5
|
+
declare type Labels = {
|
|
6
|
+
[K in LabelNames]: string;
|
|
7
|
+
};
|
|
3
8
|
declare type DatabaseMetricsEntry = {
|
|
4
9
|
connection: Connection.PoolStatusProvider & Connection.Queryable;
|
|
5
|
-
|
|
6
|
-
project: string;
|
|
10
|
+
labels: Labels;
|
|
7
11
|
};
|
|
8
12
|
declare type Unregistrar = () => void;
|
|
9
13
|
declare type DatabaseMetricsRegistrar = (entry: DatabaseMetricsEntry) => Unregistrar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbMetrics.d.ts","sourceRoot":"","sources":["../../../src/utils/dbMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAE9D,aAAK,oBAAoB,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAA;IAChE,MAAM,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"dbMetrics.d.ts","sourceRoot":"","sources":["../../../src/utils/dbMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAA;AAE9D,QAAA,MAAM,UAAU,0EAAkG,CAAA;AAClH,aAAK,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAC3C,aAAK,MAAM,GAAG;KAAG,CAAC,IAAI,UAAU,GAAG,MAAM;CAAE,CAAA;AAC3C,aAAK,oBAAoB,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAA;IAChE,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AACD,aAAK,WAAW,GAAG,MAAM,IAAI,CAAA;AAC7B,aAAK,wBAAwB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,WAAW,CAAA;AAE5E,eAAO,MAAM,wBAAwB,aAAc,KAAK,QAAQ,KAAG,wBAkBlE,CAAA"}
|
|
@@ -6,22 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.createDbMetricsRegistrar = void 0;
|
|
7
7
|
const prom_client_1 = __importDefault(require("prom-client"));
|
|
8
8
|
const database_1 = require("@contember/database");
|
|
9
|
+
const labelNames = ['contember_project', 'contember_module', 'contember_project_group'];
|
|
9
10
|
const createDbMetricsRegistrar = (registry) => {
|
|
10
11
|
const dbPoolCollectorInner = createSingleDbPoolMetricsCollector(registry);
|
|
11
12
|
const entries = new Set();
|
|
12
13
|
const collector = () => {
|
|
13
14
|
for (const entry of entries) {
|
|
14
|
-
dbPoolCollectorInner(entry.connection,
|
|
15
|
+
dbPoolCollectorInner(entry.connection, entry.labels);
|
|
15
16
|
}
|
|
16
17
|
};
|
|
17
18
|
registry.registerCollector(collector);
|
|
18
19
|
const sqlMetricsRegistrar = createSqlMetricsRegistrar(registry);
|
|
19
20
|
return entry => {
|
|
20
21
|
entries.add(entry);
|
|
21
|
-
const sqlMetricsUnregistrar = sqlMetricsRegistrar(entry.connection,
|
|
22
|
-
contember_module: entry.module,
|
|
23
|
-
contember_project: entry.project,
|
|
24
|
-
});
|
|
22
|
+
const sqlMetricsUnregistrar = sqlMetricsRegistrar(entry.connection, entry.labels);
|
|
25
23
|
return () => {
|
|
26
24
|
entries.delete(entry);
|
|
27
25
|
sqlMetricsUnregistrar();
|
|
@@ -30,30 +28,29 @@ const createDbMetricsRegistrar = (registry) => {
|
|
|
30
28
|
};
|
|
31
29
|
exports.createDbMetricsRegistrar = createDbMetricsRegistrar;
|
|
32
30
|
const createSingleDbPoolMetricsCollector = (registry) => {
|
|
33
|
-
const labelNames = ['contember_project', 'contember_module'];
|
|
34
31
|
const totalCount = new prom_client_1.default.Gauge({
|
|
35
32
|
registers: [registry],
|
|
36
33
|
name: `contember_db_pool_total_count`,
|
|
37
34
|
help: 'The total number of clients existing within the pool by contember_module (tenant or content; system is not used since it uses the same connection) and contember_project for contember_module=content.',
|
|
38
|
-
labelNames
|
|
35
|
+
labelNames,
|
|
39
36
|
});
|
|
40
37
|
const idleCount = new prom_client_1.default.Gauge({
|
|
41
38
|
registers: [registry],
|
|
42
39
|
name: `contember_db_pool_idle_count`,
|
|
43
40
|
help: 'The number of clients which are not checked out but are currently idle in the pool by contember_module (tenant or content; system is not used since it uses the same connection) and contember_project for contember_module=content.',
|
|
44
|
-
labelNames
|
|
41
|
+
labelNames,
|
|
45
42
|
});
|
|
46
43
|
const waitingCount = new prom_client_1.default.Gauge({
|
|
47
44
|
registers: [registry],
|
|
48
45
|
name: `contember_db_pool_waiting_count`,
|
|
49
46
|
help: 'The number of queued requests waiting on a client when all clients are checked out. It can be helpful to monitor this number to see if you need to adjust the size of the pool by contember_module (tenant or content; system is not used since it uses the same connection) and contember_project for contember_module=content.',
|
|
50
|
-
labelNames
|
|
47
|
+
labelNames,
|
|
51
48
|
});
|
|
52
49
|
const maxCount = new prom_client_1.default.Gauge({
|
|
53
50
|
registers: [registry],
|
|
54
51
|
name: `contember_db_pool_max_count`,
|
|
55
52
|
help: 'Maximum number of clients the pool should contain by contember_module (tenant or content; system is not used since it uses the same connection) and contember_project for contember_module=content.',
|
|
56
|
-
labelNames
|
|
53
|
+
labelNames,
|
|
57
54
|
});
|
|
58
55
|
return (db, labels) => {
|
|
59
56
|
const poolInfo = db.getPoolStatus();
|
|
@@ -68,26 +65,26 @@ const createSqlMetricsRegistrar = (registry) => {
|
|
|
68
65
|
name: 'contember_sql_duration_ms',
|
|
69
66
|
help: 'Executed SQL queries by contember_module (system, tenant, content or unknown) and contember_project (or "unknown" for unknown project)',
|
|
70
67
|
registers: [registry],
|
|
71
|
-
labelNames
|
|
68
|
+
labelNames,
|
|
72
69
|
buckets: [1, 2, 5, 10, 25, 50, 100, 250, 500, 1000],
|
|
73
70
|
});
|
|
74
71
|
const sqlErrorRate = new prom_client_1.default.Counter({
|
|
75
72
|
name: 'contember_sql_error_count',
|
|
76
73
|
help: 'Failed SQL queries by contember_module (system, tenant, content or unknown) and contember_project (or "unknown" for unknown project)',
|
|
77
|
-
labelNames
|
|
74
|
+
labelNames,
|
|
78
75
|
registers: [registry],
|
|
79
76
|
});
|
|
80
77
|
return (connection, labels) => {
|
|
81
78
|
const queryEndCallback = ({ meta }, { timing }) => {
|
|
82
79
|
sqlDuration.observe({
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
...labels,
|
|
81
|
+
contember_module: meta.module || labels.contember_module,
|
|
85
82
|
}, timing ? timing.selfDuration / 1000 : 0);
|
|
86
83
|
};
|
|
87
84
|
const queryErrorCallback = ({ meta }) => {
|
|
88
85
|
sqlErrorRate.inc({
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
...labels,
|
|
87
|
+
contember_module: meta.module || labels.contember_module,
|
|
91
88
|
});
|
|
92
89
|
};
|
|
93
90
|
connection.eventManager.on(database_1.EventManager.Event.queryEnd, queryEndCallback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbMetrics.js","sourceRoot":"","sources":["../../../src/utils/dbMetrics.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA8B;AAC9B,kDAA8D;
|
|
1
|
+
{"version":3,"file":"dbMetrics.js","sourceRoot":"","sources":["../../../src/utils/dbMetrics.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/cases/http.js
CHANGED
|
@@ -30,6 +30,7 @@ const assert = __importStar(require("uvu/assert"));
|
|
|
30
30
|
const uvu_1 = require("uvu");
|
|
31
31
|
const prom_client_1 = __importDefault(require("prom-client"));
|
|
32
32
|
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
33
|
+
const engine_common_1 = require("@contember/engine-common");
|
|
33
34
|
const dbCredentials = (dbName) => {
|
|
34
35
|
return {
|
|
35
36
|
host: String(process.env.TEST_DB_HOST),
|
|
@@ -54,29 +55,28 @@ const projectConfig = {
|
|
|
54
55
|
};
|
|
55
56
|
const createContainer = (debug) => {
|
|
56
57
|
prom_client_1.default.register.clear();
|
|
57
|
-
|
|
58
|
+
const tenantConfig = {
|
|
59
|
+
db: dbCredentials(String(process.env.TEST_DB_NAME_TENANT)),
|
|
60
|
+
mailer: {},
|
|
61
|
+
credentials: {
|
|
62
|
+
rootToken,
|
|
63
|
+
loginToken,
|
|
64
|
+
},
|
|
65
|
+
secrets: {},
|
|
66
|
+
};
|
|
67
|
+
return new src_1.MasterContainerFactory().createBuilder({
|
|
58
68
|
debugMode: debug,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
rootToken,
|
|
65
|
-
loginToken,
|
|
66
|
-
},
|
|
67
|
-
secrets: {},
|
|
68
|
-
},
|
|
69
|
-
server: {
|
|
70
|
-
logging: {},
|
|
71
|
-
port: 0,
|
|
72
|
-
monitoringPort: 0,
|
|
73
|
-
http: {},
|
|
74
|
-
},
|
|
69
|
+
serverConfig: {
|
|
70
|
+
logging: {},
|
|
71
|
+
port: 0,
|
|
72
|
+
monitoringPort: 0,
|
|
73
|
+
http: {},
|
|
75
74
|
},
|
|
76
75
|
projectConfigResolver: () => projectConfig,
|
|
76
|
+
tenantConfigResolver: () => tenantConfig,
|
|
77
77
|
plugins: [],
|
|
78
78
|
processType: src_1.ProcessType.singleNode,
|
|
79
|
-
});
|
|
79
|
+
}).build();
|
|
80
80
|
};
|
|
81
81
|
const executeGraphql = (query, options = {}) => {
|
|
82
82
|
const container = createContainer(options.debug || false);
|
|
@@ -113,7 +113,18 @@ uvu_1.test.before(async () => {
|
|
|
113
113
|
const migrationsResolver = new schema_migrations_1.MigrationsResolver(schema_migrations_1.MigrationFilesManager.createForProject((0, engine_api_tester_1.getExampleProjectDirectory)(), 'sample'));
|
|
114
114
|
const container = createContainer(false);
|
|
115
115
|
await container.initializer.initialize();
|
|
116
|
-
|
|
116
|
+
const { slug, name, ...config } = projectConfig;
|
|
117
|
+
const groupContainer = await container.projectGroupContainerResolver.getProjectGroupContainer(undefined);
|
|
118
|
+
const tenantContainer = groupContainer.tenantContainer;
|
|
119
|
+
const result = await tenantContainer.projectManager.createProject(tenantContainer.databaseContext, { slug, name, config: config, secrets: {} }, undefined);
|
|
120
|
+
if (!result) {
|
|
121
|
+
throw new Error('Project already exists');
|
|
122
|
+
}
|
|
123
|
+
const projectContainer = await groupContainer.projectContainerResolver.getProjectContainer(slug);
|
|
124
|
+
if (!projectContainer) {
|
|
125
|
+
throw new Error('Should not happen');
|
|
126
|
+
}
|
|
127
|
+
await groupContainer.systemContainer.projectInitializer.initialize(projectContainer.systemDatabaseContextFactory, projectConfig, new engine_common_1.Logger(() => null), await migrationsResolver.getMigrations());
|
|
117
128
|
await tenantConnection.end();
|
|
118
129
|
}
|
|
119
130
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../tests/cases/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAiC;AACjC,mCAA+D;AAC/D,oEAA2F;AAC3F,mDAAoC;AACpC,mDAAoC;AACpC,6BAA0B;AAC1B,8DAA8B;AAC9B,oEAAwF;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../tests/cases/http.ts"],"names":[],"mappings":"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"}
|