@contember/engine-server 1.1.0-alpha.2 → 1.1.0-alpha.3
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
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectGroupContainerFactory = void 0;
|
|
4
|
+
const dic_1 = require("@contember/dic");
|
|
5
|
+
const database_1 = require("@contember/database");
|
|
6
|
+
const engine_http_1 = require("@contember/engine-http");
|
|
7
|
+
const project_1 = require("../project");
|
|
8
|
+
const crypto_1 = require("crypto");
|
|
9
|
+
class ProjectGroupContainerFactory {
|
|
10
|
+
constructor(providers, systemContainerFactory, tenantContainerFactory, projectContainerFactoryFactory, projectConfigResolver, tenantGraphQLHandlerFactory, systemGraphQLHandlerFactory) {
|
|
11
|
+
this.providers = providers;
|
|
12
|
+
this.systemContainerFactory = systemContainerFactory;
|
|
13
|
+
this.tenantContainerFactory = tenantContainerFactory;
|
|
14
|
+
this.projectContainerFactoryFactory = projectContainerFactoryFactory;
|
|
15
|
+
this.projectConfigResolver = projectConfigResolver;
|
|
16
|
+
this.tenantGraphQLHandlerFactory = tenantGraphQLHandlerFactory;
|
|
17
|
+
this.systemGraphQLHandlerFactory = systemGraphQLHandlerFactory;
|
|
18
|
+
}
|
|
19
|
+
create({ config, slug }) {
|
|
20
|
+
return new dic_1.Builder({})
|
|
21
|
+
.addService('slug', () => slug)
|
|
22
|
+
.addService('providers', () => this.providers)
|
|
23
|
+
.addService('tenantConnection', () => new database_1.Connection(config.db, {}))
|
|
24
|
+
.addService('projectSchemaResolver', () => new project_1.ProjectSchemaResolverProxy())
|
|
25
|
+
.addService('projectInitializer', () => new project_1.ProjectInitializerProxy())
|
|
26
|
+
.addService('tenantContainer', ({ tenantConnection, projectSchemaResolver, projectInitializer }) => {
|
|
27
|
+
const encryptionKey = config.secrets.encryptionKey
|
|
28
|
+
? (0, crypto_1.createSecretKey)(Buffer.from(config.secrets.encryptionKey, 'hex'))
|
|
29
|
+
: undefined;
|
|
30
|
+
const cryptoWrapper = new engine_http_1.CryptoWrapper(encryptionKey);
|
|
31
|
+
return this.tenantContainerFactory.create({
|
|
32
|
+
connection: tenantConnection,
|
|
33
|
+
mailOptions: config.mailer,
|
|
34
|
+
tenantCredentials: config.credentials,
|
|
35
|
+
projectInitializer,
|
|
36
|
+
projectSchemaResolver,
|
|
37
|
+
cryptoProviders: {
|
|
38
|
+
decrypt: cryptoWrapper.decrypt.bind(cryptoWrapper),
|
|
39
|
+
encrypt: cryptoWrapper.encrypt.bind(cryptoWrapper),
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
})
|
|
43
|
+
.addService('tenantDatabase', ({ tenantContainer }) => tenantContainer.databaseContext)
|
|
44
|
+
.addService('identityFetcher', ({ tenantContainer: { identityFetcher } }) => identityFetcher)
|
|
45
|
+
.addService('systemContainer', ({ identityFetcher }) => this.systemContainerFactory.create({ identityFetcher }))
|
|
46
|
+
.addService('schemaVersionBuilder', ({ systemContainer }) => systemContainer.schemaVersionBuilder)
|
|
47
|
+
.addService('projectContainerFactory', ({ schemaVersionBuilder }) => this.projectContainerFactoryFactory.create(schemaVersionBuilder))
|
|
48
|
+
.addService('tenantProjectManager', ({ tenantContainer }) => tenantContainer.projectManager)
|
|
49
|
+
.addService('projectContainerResolver', ({ projectContainerFactory, tenantProjectManager, systemContainer, tenantContainer }) => new project_1.ProjectContainerResolver(projectContainerFactory, this.projectConfigResolver, tenantProjectManager, systemContainer.projectInitializer, tenantContainer.databaseContext, config))
|
|
50
|
+
.setupService('projectSchemaResolver', (it, { projectContainerResolver, schemaVersionBuilder }) => {
|
|
51
|
+
it.setResolver(new project_1.ProjectSchemaResolver(projectContainerResolver, schemaVersionBuilder));
|
|
52
|
+
})
|
|
53
|
+
.setupService('projectInitializer', (it, { projectContainerResolver }) => {
|
|
54
|
+
it.setInitializer(new project_1.ProjectInitializer(projectContainerResolver));
|
|
55
|
+
})
|
|
56
|
+
.addService('tenantGraphQLHandler', ({ tenantContainer }) => this.tenantGraphQLHandlerFactory.create(tenantContainer.resolvers))
|
|
57
|
+
.addService('systemGraphQLHandler', ({ systemContainer }) => this.systemGraphQLHandlerFactory.create(systemContainer.systemResolversFactory))
|
|
58
|
+
.addService('authenticator', ({ tenantDatabase, tenantContainer }) => new engine_http_1.Authenticator(tenantDatabase, tenantContainer.apiKeyManager))
|
|
59
|
+
.build()
|
|
60
|
+
.pick('projectContainerResolver', 'projectSchemaResolver', 'projectInitializer', 'systemContainer', 'systemGraphQLHandler', 'tenantContainer', 'tenantDatabase', 'authenticator', 'tenantGraphQLHandler', 'slug');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.ProjectGroupContainerFactory = ProjectGroupContainerFactory;
|
|
64
|
+
//# sourceMappingURL=ProjectGroupContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectGroupContainer.js","sourceRoot":"","sources":["../../../src/projectGroup/ProjectGroupContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TenantConfigResolver } from '../config/tenantConfigResolver';
|
|
2
|
+
import { ProjectGroupContainer, ProjectGroupContainerResolver as ProjectGroupContainerResolverInterface } from '@contember/engine-http';
|
|
3
|
+
import { ProjectGroupContainerFactory } from './ProjectGroupContainer';
|
|
4
|
+
export declare class ProjectGroupContainerResolver implements ProjectGroupContainerResolverInterface {
|
|
5
|
+
private readonly configResolver;
|
|
6
|
+
private readonly containerFactory;
|
|
7
|
+
private containers;
|
|
8
|
+
readonly onCreate: ((container: ProjectGroupContainer, slug: string | undefined) => void | (() => void))[];
|
|
9
|
+
constructor(configResolver: TenantConfigResolver, containerFactory: ProjectGroupContainerFactory);
|
|
10
|
+
getProjectGroupContainer(slug: string | undefined, config?: any): Promise<ProjectGroupContainer>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ProjectGroupContainerResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectGroupContainerResolver.d.ts","sourceRoot":"","sources":["../../../src/projectGroup/ProjectGroupContainerResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EACN,qBAAqB,EACrB,6BAA6B,IAAI,sCAAsC,EACvE,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAUtE,qBAAa,6BAA8B,YAAW,sCAAsC;IAM1F,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANlC,OAAO,CAAC,UAAU,CAA0D;IAE5E,SAAgB,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAK;gBAGpG,cAAc,EAAE,oBAAoB,EACpC,gBAAgB,EAAE,4BAA4B;IAGnD,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,GAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqBjH"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectGroupContainerResolver = void 0;
|
|
4
|
+
const engine_common_1 = require("@contember/engine-common");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
class ProjectGroupContainerResolver {
|
|
7
|
+
constructor(configResolver, containerFactory) {
|
|
8
|
+
this.configResolver = configResolver;
|
|
9
|
+
this.containerFactory = containerFactory;
|
|
10
|
+
this.containers = new engine_common_1.PromiseMap();
|
|
11
|
+
this.onCreate = [];
|
|
12
|
+
}
|
|
13
|
+
async getProjectGroupContainer(slug, config = {}) {
|
|
14
|
+
const existing = this.containers.get(slug);
|
|
15
|
+
if (existing) {
|
|
16
|
+
const existingAwaited = await existing;
|
|
17
|
+
if ((0, util_1.isDeepStrictEqual)(config, existingAwaited.inputConfig)) {
|
|
18
|
+
return existingAwaited.container;
|
|
19
|
+
}
|
|
20
|
+
existingAwaited.cleanups.forEach(it => it());
|
|
21
|
+
this.containers.delete(slug);
|
|
22
|
+
}
|
|
23
|
+
return (await this.containers.fetch(slug, async (slug) => {
|
|
24
|
+
const container = this.containerFactory.create({
|
|
25
|
+
config: this.configResolver(slug, config),
|
|
26
|
+
slug,
|
|
27
|
+
});
|
|
28
|
+
const cleanups = this.onCreate.map(it => it(container, slug) || (() => null));
|
|
29
|
+
// eslint-disable-next-line no-console
|
|
30
|
+
await container.tenantContainer.migrationsRunner.run(console.log);
|
|
31
|
+
return { container, inputConfig: config, cleanups };
|
|
32
|
+
})).container;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ProjectGroupContainerResolver = ProjectGroupContainerResolver;
|
|
36
|
+
//# sourceMappingURL=ProjectGroupContainerResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectGroupContainerResolver.js","sourceRoot":"","sources":["../../../src/projectGroup/ProjectGroupContainerResolver.ts"],"names":[],"mappings":";;;AAMA,4DAAqD;AACrD,+BAAwC;AAQxC,MAAa,6BAA6B;IAKzC,YACkB,cAAoC,EACpC,gBAA8C;QAD9C,mBAAc,GAAd,cAAc,CAAsB;QACpC,qBAAgB,GAAhB,gBAAgB,CAA8B;QANxD,eAAU,GAAG,IAAI,0BAAU,EAAyC,CAAA;QAE5D,aAAQ,GAA4F,EAAE,CAAA;IAKnH,CAAC;IAEG,KAAK,CAAC,wBAAwB,CAAC,IAAwB,EAAE,SAAc,EAAE;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE;YACb,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAA;YACtC,IAAI,IAAA,wBAAiB,EAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE;gBAC3D,OAAO,eAAe,CAAC,SAAS,CAAA;aAChC;YACD,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAC5B;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC9C,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;gBACzC,IAAI;aACJ,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7E,sCAAsC;YACtC,MAAM,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QACpD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACd,CAAC;CACD;AA/BD,sEA+BC"}
|
package/dist/src/start.js
CHANGED
|
@@ -82,38 +82,39 @@ const createServerTerminator = () => {
|
|
|
82
82
|
configSources.push({ type: configType, data: envValue });
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
const {
|
|
85
|
+
const { serverConfig, projectConfigResolver, tenantConfigResolver } = await (0, index_1.readConfig)(configSources, configProcessors);
|
|
86
86
|
if (process.argv[2] === 'validate') {
|
|
87
87
|
process.exit(0);
|
|
88
88
|
}
|
|
89
|
-
'sentry' in
|
|
90
|
-
const workerConfig =
|
|
89
|
+
'sentry' in serverConfig.logging && (0, utils_1.initSentry)((_a = serverConfig.logging.sentry) === null || _a === void 0 ? void 0 : _a.dsn);
|
|
90
|
+
const workerConfig = serverConfig.workerCount || 1;
|
|
91
91
|
const workerCount = workerConfig === 'auto' ? os_1.default.cpus().length : Number(workerConfig);
|
|
92
92
|
const isClusterMode = workerCount > 1;
|
|
93
93
|
const processType = (0, utils_1.getClusterProcessType)(isClusterMode);
|
|
94
94
|
const container = (0, index_1.createContainer)({
|
|
95
95
|
debugMode: isDebug,
|
|
96
|
-
|
|
96
|
+
serverConfig,
|
|
97
97
|
projectConfigResolver,
|
|
98
|
+
tenantConfigResolver,
|
|
98
99
|
plugins,
|
|
99
100
|
processType,
|
|
100
101
|
version,
|
|
101
102
|
});
|
|
102
103
|
let initializedProjects = [];
|
|
103
104
|
if (cluster_1.default.isMaster) {
|
|
104
|
-
const monitoringPort =
|
|
105
|
+
const monitoringPort = serverConfig.monitoringPort;
|
|
105
106
|
const terminator = createServerTerminator();
|
|
106
107
|
terminator.push(container.monitoringKoa.listen(monitoringPort, () => {
|
|
107
108
|
// eslint-disable-next-line no-console
|
|
108
109
|
console.log(`Monitoring running on http://localhost:${monitoringPort}`);
|
|
109
110
|
}));
|
|
110
|
-
if (!
|
|
111
|
+
if (!serverConfig.projectGroup) {
|
|
111
112
|
initializedProjects = await container.initializer.initialize();
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
const port =
|
|
115
|
+
const port = serverConfig.port;
|
|
115
116
|
const printStarted = () => {
|
|
116
|
-
if (
|
|
117
|
+
if (serverConfig.projectGroup) {
|
|
117
118
|
// eslint-disable-next-line no-console
|
|
118
119
|
console.log('Contember Cloud running');
|
|
119
120
|
}
|
package/dist/src/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/start.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/start.ts"],"names":[],"mappings":"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"}
|