@twin.org/node-core 0.0.3-next.2 → 0.0.3-next.20
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/es/builders/engineEnvBuilder.js +151 -104
- package/dist/es/builders/engineEnvBuilder.js.map +1 -1
- package/dist/es/builders/engineServerEnvBuilder.js +49 -25
- package/dist/es/builders/engineServerEnvBuilder.js.map +1 -1
- package/dist/es/cli.js +247 -0
- package/dist/es/cli.js.map +1 -0
- package/dist/es/commands/bootstrapLegacy.js +183 -0
- package/dist/es/commands/bootstrapLegacy.js.map +1 -0
- package/dist/es/commands/help.js +85 -0
- package/dist/es/commands/help.js.map +1 -0
- package/dist/es/commands/identityCreate.js +316 -0
- package/dist/es/commands/identityCreate.js.map +1 -0
- package/dist/es/commands/identityImports.js +82 -0
- package/dist/es/commands/identityImports.js.map +1 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js +146 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodCreate.js +214 -0
- package/dist/es/commands/identityVerificationMethodCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodImport.js +126 -0
- package/dist/es/commands/identityVerificationMethodImport.js.map +1 -0
- package/dist/es/commands/nodeSetIdentity.js +64 -0
- package/dist/es/commands/nodeSetIdentity.js.map +1 -0
- package/dist/es/commands/nodeSetTenant.js +68 -0
- package/dist/es/commands/nodeSetTenant.js.map +1 -0
- package/dist/es/commands/tenantCreate.js +139 -0
- package/dist/es/commands/tenantCreate.js.map +1 -0
- package/dist/es/commands/tenantImport.js +97 -0
- package/dist/es/commands/tenantImport.js.map +1 -0
- package/dist/es/commands/tenantUpdate.js +94 -0
- package/dist/es/commands/tenantUpdate.js.map +1 -0
- package/dist/es/commands/userCreate.js +212 -0
- package/dist/es/commands/userCreate.js.map +1 -0
- package/dist/es/commands/userUpdate.js +132 -0
- package/dist/es/commands/userUpdate.js.map +1 -0
- package/dist/es/commands/vaultKeyCreate.js +191 -0
- package/dist/es/commands/vaultKeyCreate.js.map +1 -0
- package/dist/es/commands/vaultKeyImport.js +104 -0
- package/dist/es/commands/vaultKeyImport.js.map +1 -0
- package/dist/es/defaults.js +19 -1
- package/dist/es/defaults.js.map +1 -1
- package/dist/es/index.js +7 -3
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/ICliArgs.js +4 -0
- package/dist/es/models/ICliArgs.js.map +1 -0
- package/dist/es/models/ICliCommand.js +2 -0
- package/dist/es/models/ICliCommand.js.map +1 -0
- package/dist/es/models/ICliCommandDefinition.js +2 -0
- package/dist/es/models/ICliCommandDefinition.js.map +1 -0
- package/dist/es/models/ICliCommandDefinitionParam.js +2 -0
- package/dist/es/models/ICliCommandDefinitionParam.js.map +1 -0
- package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -1
- package/dist/es/models/IEngineServerEnvironmentVariables.js.map +1 -1
- package/dist/es/models/INodeEngineState.js.map +1 -1
- package/dist/es/models/INodeEnvironmentVariables.js.map +1 -1
- package/dist/es/models/INodeOptions.js.map +1 -1
- package/dist/es/models/cliCommandParamType.js +4 -0
- package/dist/es/models/cliCommandParamType.js.map +1 -0
- package/dist/es/node.js +71 -39
- package/dist/es/node.js.map +1 -1
- package/dist/es/start.js +139 -0
- package/dist/es/start.js.map +1 -0
- package/dist/es/utils.js +11 -21
- package/dist/es/utils.js.map +1 -1
- package/dist/types/builders/engineEnvBuilder.d.ts +4 -1
- package/dist/types/builders/engineServerEnvBuilder.d.ts +5 -2
- package/dist/types/cli.d.ts +56 -0
- package/dist/types/commands/bootstrapLegacy.d.ts +66 -0
- package/dist/types/commands/help.d.ts +23 -0
- package/dist/types/commands/identityCreate.d.ts +39 -0
- package/dist/types/commands/identityImports.d.ts +24 -0
- package/dist/types/commands/identityVerifiableCredentialCreate.d.ts +43 -0
- package/dist/types/commands/identityVerificationMethodCreate.d.ts +47 -0
- package/dist/types/commands/identityVerificationMethodImport.d.ts +31 -0
- package/dist/types/commands/nodeSetIdentity.d.ts +22 -0
- package/dist/types/commands/nodeSetTenant.d.ts +22 -0
- package/dist/types/commands/tenantCreate.d.ts +38 -0
- package/dist/types/commands/tenantImport.d.ts +26 -0
- package/dist/types/commands/tenantUpdate.d.ts +26 -0
- package/dist/types/commands/userCreate.d.ts +49 -0
- package/dist/types/commands/userUpdate.d.ts +38 -0
- package/dist/types/commands/vaultKeyCreate.d.ts +43 -0
- package/dist/types/commands/vaultKeyImport.d.ts +28 -0
- package/dist/types/defaults.d.ts +11 -1
- package/dist/types/index.d.ts +7 -3
- package/dist/types/models/ICliArgs.d.ts +20 -0
- package/dist/types/models/ICliCommand.d.ts +17 -0
- package/dist/types/models/ICliCommandDefinition.d.ts +46 -0
- package/dist/types/models/ICliCommandDefinitionParam.d.ts +35 -0
- package/dist/types/models/IEngineEnvironmentVariables.d.ts +58 -53
- package/dist/types/models/IEngineServerEnvironmentVariables.d.ts +4 -0
- package/dist/types/models/INodeEngineState.d.ts +0 -8
- package/dist/types/models/INodeEnvironmentVariables.d.ts +0 -38
- package/dist/types/models/INodeOptions.d.ts +6 -2
- package/dist/types/models/cliCommandParamType.d.ts +4 -0
- package/dist/types/node.d.ts +8 -4
- package/dist/types/{server.d.ts → start.d.ts} +7 -2
- package/dist/types/utils.d.ts +6 -8
- package/docs/changelog.md +129 -0
- package/docs/reference/functions/buildConfiguration.md +3 -3
- package/docs/reference/functions/buildEngineConfiguration.md +1 -1
- package/docs/reference/functions/buildEngineServerConfiguration.md +3 -3
- package/docs/reference/functions/constructCliCommand.md +27 -0
- package/docs/reference/functions/executeCommand.md +29 -0
- package/docs/reference/functions/getEnvDefaults.md +19 -0
- package/docs/reference/functions/getScriptDirectory.md +19 -0
- package/docs/reference/functions/parseCommandLineArgs.md +19 -0
- package/docs/reference/functions/processEnvOptions.md +27 -0
- package/docs/reference/functions/registerCommands.md +9 -0
- package/docs/reference/functions/run.md +8 -2
- package/docs/reference/functions/start.md +10 -4
- package/docs/reference/functions/substituteEnvOptions.md +25 -0
- package/docs/reference/index.md +16 -13
- package/docs/reference/interfaces/ICliArgs.md +35 -0
- package/docs/reference/interfaces/ICliCommand.md +23 -0
- package/docs/reference/interfaces/ICliCommandDefinition.md +101 -0
- package/docs/reference/interfaces/ICliCommandDefinitionParam.md +65 -0
- package/docs/reference/interfaces/IEngineEnvironmentVariables.md +102 -85
- package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +154 -117
- package/docs/reference/interfaces/INodeEngineState.md +0 -16
- package/docs/reference/interfaces/INodeEnvironmentVariables.md +158 -201
- package/docs/reference/interfaces/INodeOptions.md +10 -2
- package/docs/reference/type-aliases/CliCommandParamType.md +5 -0
- package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_DID.md +3 -0
- package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_TENANT.md +3 -0
- package/docs/reference/variables/TRUST_VERIFICATION_METHOD_ID.md +3 -0
- package/locales/en.json +589 -30
- package/package.json +3 -1
- package/dist/es/bootstrap.js +0 -374
- package/dist/es/bootstrap.js.map +0 -1
- package/dist/es/identity.js +0 -169
- package/dist/es/identity.js.map +0 -1
- package/dist/es/models/nodeFeatures.js +0 -21
- package/dist/es/models/nodeFeatures.js.map +0 -1
- package/dist/es/server.js +0 -78
- package/dist/es/server.js.map +0 -1
- package/dist/types/bootstrap.d.ts +0 -76
- package/dist/types/identity.d.ts +0 -14
- package/dist/types/models/nodeFeatures.d.ts +0 -21
- package/docs/reference/functions/bootstrap.md +0 -29
- package/docs/reference/functions/bootstrapAuth.md +0 -35
- package/docs/reference/functions/bootstrapBlobEncryption.md +0 -35
- package/docs/reference/functions/bootstrapContextIdHandlers.md +0 -35
- package/docs/reference/functions/bootstrapImmutableProofMethod.md +0 -35
- package/docs/reference/functions/bootstrapNodeAdminUser.md +0 -35
- package/docs/reference/functions/bootstrapNodeId.md +0 -35
- package/docs/reference/functions/bootstrapSynchronisedStorage.md +0 -35
- package/docs/reference/functions/bootstrapTenantId.md +0 -35
- package/docs/reference/functions/getFeatures.md +0 -19
- package/docs/reference/type-aliases/NodeFeatures.md +0 -5
- package/docs/reference/variables/NodeFeatures.md +0 -25
- package/docs/reference/variables/VC_AUTHENTICATION_VERIFICATION_METHOD_ID.md +0 -3
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { Coerce, Is } from "@twin.org/core";
|
|
5
|
-
import { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType,
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskComponentType, BlobStorageComponentType, BlobStorageConnectorType, ContextIdHandlerComponentType, DataProcessingComponentType, DataSpaceConnectorComponentType, DltConfigType, DocumentManagementComponentType, EngineTypeHelper, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingAdminComponentType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementPapComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPipComponentType, RightsManagementPmpComponentType, RightsManagementPnapComponentType, RightsManagementPnpComponentType, RightsManagementPxpComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, TenantAdminComponentType, TrustComponentType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType } from "@twin.org/engine-types";
|
|
6
|
+
import { PolicyNegotiationPointRestClient } from "@twin.org/rights-management-rest-client";
|
|
7
|
+
import { CONTEXT_ID_HANDLER_FEATURE_DID, CONTEXT_ID_HANDLER_FEATURE_TENANT } from "../defaults.js";
|
|
8
8
|
/**
|
|
9
9
|
* Build the engine core configuration from environment variables.
|
|
10
10
|
* @param envVars The environment variables.
|
|
@@ -19,9 +19,11 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
19
19
|
}
|
|
20
20
|
const coreConfig = {
|
|
21
21
|
debug: Coerce.boolean(envVars.debug) ?? false,
|
|
22
|
+
silent: Coerce.boolean(envVars.silent) ?? false,
|
|
22
23
|
types: {}
|
|
23
24
|
};
|
|
24
25
|
await configureTenant(coreConfig, envVars);
|
|
26
|
+
await configureContextIdHandlers(coreConfig, envVars);
|
|
25
27
|
await configureEntityStorage(coreConfig, envVars);
|
|
26
28
|
await configureBlobStorage(coreConfig, envVars);
|
|
27
29
|
await configureVault(coreConfig, envVars);
|
|
@@ -44,7 +46,7 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
44
46
|
await configureAuditableItemGraph(coreConfig, envVars);
|
|
45
47
|
await configureAuditableItemStream(coreConfig, envVars);
|
|
46
48
|
await configureDocumentManagement(coreConfig, envVars);
|
|
47
|
-
await
|
|
49
|
+
await configureTrust(coreConfig, envVars);
|
|
48
50
|
await configureRightsManagement(coreConfig, envVars);
|
|
49
51
|
await configureSynchronisedStorage(coreConfig, envVars);
|
|
50
52
|
await configureFederatedCatalogue(coreConfig, envVars);
|
|
@@ -59,7 +61,7 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
59
61
|
async function configureEntityStorage(coreConfig, envVars) {
|
|
60
62
|
coreConfig.types ??= {};
|
|
61
63
|
coreConfig.types.entityStorageConnector ??= [];
|
|
62
|
-
const entityStorageConnectorTypes = envVars.entityStorageConnectorType
|
|
64
|
+
const entityStorageConnectorTypes = commaSeparatedListToArray(envVars.entityStorageConnectorType);
|
|
63
65
|
if (entityStorageConnectorTypes.includes(EntityStorageConnectorType.Memory)) {
|
|
64
66
|
coreConfig.types.entityStorageConnector.push({
|
|
65
67
|
type: EntityStorageConnectorType.Memory
|
|
@@ -83,7 +85,8 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
83
85
|
authMode: envVars.awsDynamodbAuthMode,
|
|
84
86
|
accessKeyId: envVars.awsDynamodbAccessKeyId,
|
|
85
87
|
secretAccessKey: envVars.awsDynamodbSecretAccessKey,
|
|
86
|
-
endpoint: envVars.awsDynamodbEndpoint
|
|
88
|
+
endpoint: envVars.awsDynamodbEndpoint,
|
|
89
|
+
connectionTimeoutMs: Coerce.integer(envVars.awsDynamodbConnectionTimeoutMs)
|
|
87
90
|
},
|
|
88
91
|
tablePrefix: envVars.entityStorageTablePrefix
|
|
89
92
|
}
|
|
@@ -123,7 +126,7 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
123
126
|
type: EntityStorageConnectorType.ScyllaDb,
|
|
124
127
|
options: {
|
|
125
128
|
config: {
|
|
126
|
-
hosts: envVars.scylladbHosts
|
|
129
|
+
hosts: commaSeparatedListToArray(envVars.scylladbHosts),
|
|
127
130
|
localDataCenter: envVars.scylladbLocalDataCenter ?? "",
|
|
128
131
|
keyspace: envVars.scylladbKeyspace ?? "",
|
|
129
132
|
port: Coerce.integer(envVars.scylladbPort)
|
|
@@ -203,7 +206,7 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
203
206
|
*/
|
|
204
207
|
async function configureBlobStorage(coreConfig, envVars) {
|
|
205
208
|
coreConfig.types.blobStorageConnector ??= [];
|
|
206
|
-
const blobStorageConnectorTypes = envVars.blobStorageConnectorType
|
|
209
|
+
const blobStorageConnectorTypes = commaSeparatedListToArray(envVars.blobStorageConnectorType);
|
|
207
210
|
if (blobStorageConnectorTypes.includes(BlobStorageConnectorType.Memory)) {
|
|
208
211
|
coreConfig.types.blobStorageConnector.push({
|
|
209
212
|
type: BlobStorageConnectorType.Memory
|
|
@@ -300,7 +303,7 @@ async function configureBlobStorage(coreConfig, envVars) {
|
|
|
300
303
|
options: {
|
|
301
304
|
config: {
|
|
302
305
|
vaultKeyId: (envVars.blobStorageEnableEncryption ?? false)
|
|
303
|
-
?
|
|
306
|
+
? envVars.blobStorageEncryptionKeyId
|
|
304
307
|
: undefined
|
|
305
308
|
}
|
|
306
309
|
}
|
|
@@ -314,7 +317,7 @@ async function configureBlobStorage(coreConfig, envVars) {
|
|
|
314
317
|
*/
|
|
315
318
|
async function configureLogging(coreConfig, envVars) {
|
|
316
319
|
coreConfig.types.loggingConnector ??= [];
|
|
317
|
-
const loggingConnectorTypes = (envVars.loggingConnector
|
|
320
|
+
const loggingConnectorTypes = commaSeparatedListToArray(envVars.loggingConnector);
|
|
318
321
|
let additionalConnectorCount = 0;
|
|
319
322
|
for (const loggingConnector of loggingConnectorTypes) {
|
|
320
323
|
if (loggingConnector === LoggingConnectorType.Console) {
|
|
@@ -368,7 +371,12 @@ async function configureVault(coreConfig, envVars) {
|
|
|
368
371
|
coreConfig.types.vaultConnector ??= [];
|
|
369
372
|
if (envVars.vaultConnector === VaultConnectorType.EntityStorage) {
|
|
370
373
|
coreConfig.types.vaultConnector.push({
|
|
371
|
-
type: VaultConnectorType.EntityStorage
|
|
374
|
+
type: VaultConnectorType.EntityStorage,
|
|
375
|
+
options: {
|
|
376
|
+
config: {
|
|
377
|
+
prefix: envVars.vaultPrefix
|
|
378
|
+
}
|
|
379
|
+
}
|
|
372
380
|
});
|
|
373
381
|
}
|
|
374
382
|
else if (envVars.vaultConnector === VaultConnectorType.Hashicorp) {
|
|
@@ -377,7 +385,8 @@ async function configureVault(coreConfig, envVars) {
|
|
|
377
385
|
options: {
|
|
378
386
|
config: {
|
|
379
387
|
endpoint: envVars.hashicorpVaultEndpoint ?? "",
|
|
380
|
-
token: envVars.hashicorpVaultToken ?? ""
|
|
388
|
+
token: envVars.hashicorpVaultToken ?? "",
|
|
389
|
+
prefix: envVars.vaultPrefix
|
|
381
390
|
}
|
|
382
391
|
}
|
|
383
392
|
});
|
|
@@ -389,10 +398,10 @@ async function configureVault(coreConfig, envVars) {
|
|
|
389
398
|
* @param envVars The environment variables.
|
|
390
399
|
*/
|
|
391
400
|
async function configureBackgroundTask(coreConfig, envVars) {
|
|
392
|
-
coreConfig.types.
|
|
393
|
-
if (envVars.
|
|
394
|
-
coreConfig.types.
|
|
395
|
-
type:
|
|
401
|
+
coreConfig.types.backgroundTaskComponent ??= [];
|
|
402
|
+
if (Coerce.boolean(envVars.backgroundTasksEnabled) ?? false) {
|
|
403
|
+
coreConfig.types.backgroundTaskComponent.push({
|
|
404
|
+
type: BackgroundTaskComponentType.Service
|
|
396
405
|
});
|
|
397
406
|
}
|
|
398
407
|
}
|
|
@@ -445,6 +454,24 @@ async function configureTenant(coreConfig, envVars) {
|
|
|
445
454
|
coreConfig.types.tenantComponent.push({ type: TenantAdminComponentType.Service });
|
|
446
455
|
}
|
|
447
456
|
}
|
|
457
|
+
/**
|
|
458
|
+
* Configures the context id handlers.
|
|
459
|
+
* @param coreConfig The core config.
|
|
460
|
+
* @param envVars The environment variables.
|
|
461
|
+
*/
|
|
462
|
+
async function configureContextIdHandlers(coreConfig, envVars) {
|
|
463
|
+
coreConfig.types.contextIdHandlerComponent ??= [];
|
|
464
|
+
coreConfig.types.contextIdHandlerComponent.push({
|
|
465
|
+
type: ContextIdHandlerComponentType.Did,
|
|
466
|
+
features: [CONTEXT_ID_HANDLER_FEATURE_DID]
|
|
467
|
+
});
|
|
468
|
+
if (Coerce.boolean(envVars.tenantEnabled) ?? false) {
|
|
469
|
+
coreConfig.types.contextIdHandlerComponent.push({
|
|
470
|
+
type: ContextIdHandlerComponentType.Tenant,
|
|
471
|
+
features: [CONTEXT_ID_HANDLER_FEATURE_TENANT]
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
}
|
|
448
475
|
/**
|
|
449
476
|
* Configures the messaging.
|
|
450
477
|
* @param coreConfig The core config.
|
|
@@ -629,7 +656,7 @@ async function configureVerifiableStorage(coreConfig, envVars) {
|
|
|
629
656
|
type: ImmutableProofComponentType.Service,
|
|
630
657
|
options: {
|
|
631
658
|
config: {
|
|
632
|
-
verificationMethodId: envVars.immutableProofVerificationMethodId
|
|
659
|
+
verificationMethodId: envVars.immutableProofVerificationMethodId
|
|
633
660
|
}
|
|
634
661
|
}
|
|
635
662
|
});
|
|
@@ -652,7 +679,10 @@ async function configureIdentity(coreConfig, envVars) {
|
|
|
652
679
|
coreConfig.types.identityConnector.push({
|
|
653
680
|
type: IdentityConnectorType.Iota,
|
|
654
681
|
options: {
|
|
655
|
-
config:
|
|
682
|
+
config: {
|
|
683
|
+
...(dltConfig?.options?.config ?? {}),
|
|
684
|
+
walletAddressIndex: Coerce.integer(envVars.identityWalletAddressIndex) ?? 0
|
|
685
|
+
}
|
|
656
686
|
}
|
|
657
687
|
});
|
|
658
688
|
}
|
|
@@ -734,7 +764,7 @@ async function configureAttestation(coreConfig, envVars) {
|
|
|
734
764
|
type: AttestationComponentType.Service,
|
|
735
765
|
options: {
|
|
736
766
|
config: {
|
|
737
|
-
verificationMethodId: envVars.attestationVerificationMethodId
|
|
767
|
+
verificationMethodId: envVars.attestationVerificationMethodId
|
|
738
768
|
}
|
|
739
769
|
}
|
|
740
770
|
});
|
|
@@ -776,27 +806,18 @@ async function configureDataProcessing(coreConfig, envVars) {
|
|
|
776
806
|
coreConfig.types.dataProcessingComponent ??= [];
|
|
777
807
|
coreConfig.types.dataProcessingComponent.push({ type: DataProcessingComponentType.Service });
|
|
778
808
|
coreConfig.types.dataConverterConnector ??= [];
|
|
779
|
-
const converterConnectors = envVars.dataConverterConnectors
|
|
809
|
+
const converterConnectors = commaSeparatedListToArray(envVars.dataConverterConnectors);
|
|
780
810
|
for (const converterConnector of converterConnectors) {
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
});
|
|
785
|
-
}
|
|
786
|
-
else if (converterConnector === DataConverterConnectorType.Xml) {
|
|
787
|
-
coreConfig.types.dataConverterConnector.push({
|
|
788
|
-
type: DataConverterConnectorType.Xml
|
|
789
|
-
});
|
|
790
|
-
}
|
|
811
|
+
coreConfig.types.dataConverterConnector.push({
|
|
812
|
+
type: converterConnector
|
|
813
|
+
});
|
|
791
814
|
}
|
|
792
815
|
coreConfig.types.dataExtractorConnector ??= [];
|
|
793
|
-
const extractorConnectors = envVars.dataExtractorConnectors
|
|
816
|
+
const extractorConnectors = commaSeparatedListToArray(envVars.dataExtractorConnectors);
|
|
794
817
|
for (const extractorConnector of extractorConnectors) {
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
});
|
|
799
|
-
}
|
|
818
|
+
coreConfig.types.dataExtractorConnector.push({
|
|
819
|
+
type: extractorConnector
|
|
820
|
+
});
|
|
800
821
|
}
|
|
801
822
|
}
|
|
802
823
|
}
|
|
@@ -814,23 +835,36 @@ async function configureDocumentManagement(coreConfig, envVars) {
|
|
|
814
835
|
}
|
|
815
836
|
}
|
|
816
837
|
/**
|
|
817
|
-
* Configures the
|
|
838
|
+
* Configures the trust components.
|
|
818
839
|
* @param coreConfig The core config.
|
|
819
840
|
* @param envVars The environment variables.
|
|
820
841
|
*/
|
|
821
|
-
async function
|
|
822
|
-
if (Coerce.boolean(envVars.
|
|
823
|
-
|
|
824
|
-
coreConfig.types.
|
|
825
|
-
|
|
826
|
-
type: AuthenticationGeneratorComponentType.VerifiableCredential,
|
|
827
|
-
options: {
|
|
828
|
-
config: {
|
|
829
|
-
verificationMethodId: envVars.vcAuthenticationVerificationMethodId ?? VC_AUTHENTICATION_VERIFICATION_METHOD_ID
|
|
830
|
-
}
|
|
831
|
-
},
|
|
832
|
-
features: ["verifiable-credential"]
|
|
842
|
+
async function configureTrust(coreConfig, envVars) {
|
|
843
|
+
if (Coerce.boolean(envVars.trustEnabled) ?? false) {
|
|
844
|
+
coreConfig.types.trustComponent ??= [];
|
|
845
|
+
coreConfig.types.trustComponent.push({
|
|
846
|
+
type: TrustComponentType.Service
|
|
833
847
|
});
|
|
848
|
+
coreConfig.types.trustGeneratorComponent ??= [];
|
|
849
|
+
const trustGeneratorTypes = commaSeparatedListToArray(envVars.trustGenerators);
|
|
850
|
+
for (const trustGeneratorType of trustGeneratorTypes) {
|
|
851
|
+
coreConfig.types.trustGeneratorComponent.push({
|
|
852
|
+
type: trustGeneratorType,
|
|
853
|
+
options: {
|
|
854
|
+
config: {
|
|
855
|
+
verificationMethodId: envVars.trustVerificationMethodId ?? "",
|
|
856
|
+
tokenTtlInSeconds: Coerce.integer(envVars.trustJwtTtlSeconds)
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
coreConfig.types.trustVerifierComponent ??= [];
|
|
862
|
+
const trustVerifierTypes = commaSeparatedListToArray(envVars.trustVerifiers);
|
|
863
|
+
for (const trustVerifierType of trustVerifierTypes) {
|
|
864
|
+
coreConfig.types.trustVerifierComponent.push({
|
|
865
|
+
type: trustVerifierType
|
|
866
|
+
});
|
|
867
|
+
}
|
|
834
868
|
}
|
|
835
869
|
}
|
|
836
870
|
/**
|
|
@@ -850,55 +884,26 @@ async function configureRightsManagement(coreConfig, envVars) {
|
|
|
850
884
|
});
|
|
851
885
|
coreConfig.types.rightsManagementPipComponent ??= [];
|
|
852
886
|
coreConfig.types.rightsManagementPipComponent.push({
|
|
853
|
-
type: RightsManagementPipComponentType.Service
|
|
854
|
-
options: {
|
|
855
|
-
informationModulesConfig: Is.arrayValue(envVars.rightsManagementInformationSources)
|
|
856
|
-
? envVars.rightsManagementInformationSources
|
|
857
|
-
: undefined
|
|
858
|
-
}
|
|
887
|
+
type: RightsManagementPipComponentType.Service
|
|
859
888
|
});
|
|
860
889
|
coreConfig.types.rightsManagementPxpComponent ??= [];
|
|
861
890
|
coreConfig.types.rightsManagementPxpComponent.push({
|
|
862
|
-
type: RightsManagementPxpComponentType.Service
|
|
863
|
-
options: {
|
|
864
|
-
actionModulesConfig: Is.arrayValue(envVars.rightsManagementExecutionActions)
|
|
865
|
-
? envVars.rightsManagementExecutionActions
|
|
866
|
-
: undefined
|
|
867
|
-
}
|
|
891
|
+
type: RightsManagementPxpComponentType.Service
|
|
868
892
|
});
|
|
869
893
|
coreConfig.types.rightsManagementPdpComponent ??= [];
|
|
870
894
|
coreConfig.types.rightsManagementPdpComponent.push({
|
|
871
|
-
type: RightsManagementPdpComponentType.Service
|
|
872
|
-
options: {
|
|
873
|
-
arbiterModulesConfig: Is.arrayValue(envVars.rightsManagementArbiters)
|
|
874
|
-
? envVars.rightsManagementArbiters
|
|
875
|
-
: undefined
|
|
876
|
-
}
|
|
895
|
+
type: RightsManagementPdpComponentType.Service
|
|
877
896
|
});
|
|
878
897
|
coreConfig.types.rightsManagementPepComponent ??= [];
|
|
879
898
|
coreConfig.types.rightsManagementPepComponent.push({
|
|
880
|
-
type: RightsManagementPepComponentType.Service
|
|
881
|
-
options: {
|
|
882
|
-
processorModulesConfig: Is.arrayValue(envVars.rightsManagementEnforcementProcessors)
|
|
883
|
-
? envVars.rightsManagementEnforcementProcessors
|
|
884
|
-
: undefined
|
|
885
|
-
}
|
|
899
|
+
type: RightsManagementPepComponentType.Service
|
|
886
900
|
});
|
|
887
901
|
coreConfig.types.rightsManagementPnpComponent ??= [];
|
|
888
902
|
coreConfig.types.rightsManagementPnpComponent.push({
|
|
889
903
|
type: RightsManagementPnpComponentType.Service,
|
|
890
904
|
options: {
|
|
891
|
-
negotiatorModulesConfig: Is.arrayValue(envVars.rightsManagementNegotiators)
|
|
892
|
-
? envVars.rightsManagementNegotiators
|
|
893
|
-
: undefined,
|
|
894
|
-
requesterModulesConfig: Is.arrayValue(envVars.rightsManagementRequesters)
|
|
895
|
-
? envVars.rightsManagementRequesters
|
|
896
|
-
: undefined,
|
|
897
905
|
config: {
|
|
898
|
-
|
|
899
|
-
offers: Is.arrayValue(envVars.rightsManagementOffers)
|
|
900
|
-
? envVars.rightsManagementOffers
|
|
901
|
-
: [],
|
|
906
|
+
callbackPath: envVars.rightsManagementCallbackPath ?? "",
|
|
902
907
|
negotiationComponentCreator: async (url) => new PolicyNegotiationPointRestClient({ endpoint: url })
|
|
903
908
|
}
|
|
904
909
|
}
|
|
@@ -907,19 +912,48 @@ async function configureRightsManagement(coreConfig, envVars) {
|
|
|
907
912
|
coreConfig.types.rightsManagementPnapComponent.push({
|
|
908
913
|
type: RightsManagementPnapComponentType.Service
|
|
909
914
|
});
|
|
910
|
-
coreConfig.types.
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
915
|
+
coreConfig.types.rightsManagementPolicyArbiterComponent ??= [];
|
|
916
|
+
const policyArbiterTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyArbiters);
|
|
917
|
+
for (const policyArbiterType of policyArbiterTypes) {
|
|
918
|
+
coreConfig.types.rightsManagementPolicyArbiterComponent.push({
|
|
919
|
+
type: policyArbiterType
|
|
920
|
+
});
|
|
921
|
+
}
|
|
922
|
+
coreConfig.types.rightsManagementPolicyEnforcementProcessorComponent ??= [];
|
|
923
|
+
const policyEnforcementProcessTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyEnforcementProcessors);
|
|
924
|
+
for (const policyEnforcementProcessorType of policyEnforcementProcessTypes) {
|
|
925
|
+
coreConfig.types.rightsManagementPolicyEnforcementProcessorComponent.push({
|
|
926
|
+
type: policyEnforcementProcessorType
|
|
927
|
+
});
|
|
928
|
+
}
|
|
929
|
+
coreConfig.types.rightsManagementPolicyExecutionActionComponent ??= [];
|
|
930
|
+
const policyExecutionActionTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyExecutionActions);
|
|
931
|
+
for (const policyExecutionActionType of policyExecutionActionTypes) {
|
|
932
|
+
coreConfig.types.rightsManagementPolicyExecutionActionComponent.push({
|
|
933
|
+
type: policyExecutionActionType
|
|
934
|
+
});
|
|
935
|
+
}
|
|
936
|
+
coreConfig.types.rightsManagementPolicyInformationSourceComponent ??= [];
|
|
937
|
+
const policyInformationSourceTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyInformationSources);
|
|
938
|
+
for (const policyInformationSourceType of policyInformationSourceTypes) {
|
|
939
|
+
coreConfig.types.rightsManagementPolicyInformationSourceComponent.push({
|
|
940
|
+
type: policyInformationSourceType
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
coreConfig.types.rightsManagementPolicyRequesterComponent ??= [];
|
|
944
|
+
const policyRequesterTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyRequesters);
|
|
945
|
+
for (const policyRequesterType of policyRequesterTypes) {
|
|
946
|
+
coreConfig.types.rightsManagementPolicyRequesterComponent.push({
|
|
947
|
+
type: policyRequesterType
|
|
948
|
+
});
|
|
949
|
+
}
|
|
950
|
+
coreConfig.types.rightsManagementPolicyNegotiatorComponent ??= [];
|
|
951
|
+
const policyNegotiatorTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyNegotiators);
|
|
952
|
+
for (const policyNegotiatorType of policyNegotiatorTypes) {
|
|
953
|
+
coreConfig.types.rightsManagementPolicyNegotiatorComponent.push({
|
|
954
|
+
type: policyNegotiatorType
|
|
955
|
+
});
|
|
956
|
+
}
|
|
923
957
|
}
|
|
924
958
|
}
|
|
925
959
|
/**
|
|
@@ -955,8 +989,7 @@ async function configureSynchronisedStorage(coreConfig, envVars) {
|
|
|
955
989
|
options: {
|
|
956
990
|
config: {
|
|
957
991
|
verifiableStorageKeyId: verifiableStorageKeyId ?? "",
|
|
958
|
-
blobStorageEncryptionKeyId: envVars.synchronisedStorageBlobStorageEncryptionKeyId
|
|
959
|
-
SYNCHRONISED_STORAGE_BLOB_STORAGE_ENCRYPTION_KEY_ID,
|
|
992
|
+
blobStorageEncryptionKeyId: envVars.synchronisedStorageBlobStorageEncryptionKeyId,
|
|
960
993
|
entityUpdateIntervalMinutes: Coerce.number(envVars.synchronisedStorageEntityUpdateIntervalMinutes),
|
|
961
994
|
consolidationIntervalMinutes: Coerce.number(envVars.synchronisedStorageConsolidationIntervalMinutes),
|
|
962
995
|
consolidationBatchSize: Coerce.number(envVars.synchronisedStorageConsolidationBatchSize),
|
|
@@ -988,13 +1021,16 @@ async function configureFederatedCatalogue(coreConfig, envVars) {
|
|
|
988
1021
|
coreConfig.types.federatedCatalogueComponent ??= [];
|
|
989
1022
|
coreConfig.types.federatedCatalogueComponent.push({
|
|
990
1023
|
type: FederatedCatalogueComponentType.Service,
|
|
991
|
-
options: {
|
|
992
|
-
config: {
|
|
993
|
-
subResourceCacheTtlMs: Coerce.number(envVars.federatedCatalogueCacheTtlMs),
|
|
994
|
-
clearingHouseApproverList: Coerce.object(envVars.federatedCatalogueClearingHouseApproverList) ?? []
|
|
995
|
-
}
|
|
996
|
-
}
|
|
1024
|
+
options: {}
|
|
997
1025
|
});
|
|
1026
|
+
coreConfig.types.federatedCatalogueFilterComponent ??= [];
|
|
1027
|
+
const filters = commaSeparatedListToArray(envVars.federatedCatalogueFilters);
|
|
1028
|
+
for (const filter of filters) {
|
|
1029
|
+
coreConfig.types.federatedCatalogueFilterComponent.push({
|
|
1030
|
+
type: filter,
|
|
1031
|
+
options: {}
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
998
1034
|
}
|
|
999
1035
|
}
|
|
1000
1036
|
/**
|
|
@@ -1048,4 +1084,15 @@ async function configureDlt(coreConfig, envVars) {
|
|
|
1048
1084
|
});
|
|
1049
1085
|
}
|
|
1050
1086
|
}
|
|
1087
|
+
/**
|
|
1088
|
+
* Converts a comma separated list to an array.
|
|
1089
|
+
* @param value The comma separated list.
|
|
1090
|
+
* @returns The array.
|
|
1091
|
+
*/
|
|
1092
|
+
function commaSeparatedListToArray(value) {
|
|
1093
|
+
return (value ?? "")
|
|
1094
|
+
.split(",")
|
|
1095
|
+
.map(item => item.trim())
|
|
1096
|
+
.filter(item => item.length > 0);
|
|
1097
|
+
}
|
|
1051
1098
|
//# sourceMappingURL=engineEnvBuilder.js.map
|