Skip to main content
Version: v0.7.0

Configuration

In this section, the configuration of the control plane is explained. Configuration is used based on a config.yaml file which should be placed in the apps/backend/src folder. This config.yaml file is loaded when booting the application. The values get type checked, and it gives a clear error message if there is a configuration field missing or provided incorrectly. Next to the config.yaml file, you can also set environment variables. These override the values that are listed in the config.yaml file.

Databases

By default, the development database is sqlite. We use postgres databases for production type instances of the control planes.

Authentication

Authentication for frontend services can be done via the SSO Bridge. This helps users who need to login to several components to authenticate themselves faster.

Possible configuration parameters

NameData TypeRequiredExplanationDefault
Database Configuration
db.typeStringYesType of the database. Must be "sqlite" or "postgres".
db.databaseStringYesName of the database. Used as filename when "sqlite" is provided as database type
db.synchronizeBooleanNoWhether or not the database should be synchronized, MUST only be true in test scenariosfalse
db.hostStringIf type is postgresHostname of the database
db.portIntegerIf type is postgresPort of the database
db.usernameStringIf type is postgresUsername of the user in the database
db.passwordStringIf type is postgresPassword of the user in the database
db.sslBoolean /ObjectNoBoolean if SSL is not used, else object with optionsfalse
db.ssl.rejectUnauthorizedBooleanNoWhether unauthorized requests should be rejected.false
Auth Configuration
auth.enabledBooleanBoolean indicating whether an external OAuth server should be used. If false, all other properties under auth are not usedtrue
auth.openIdConfigurationURLURLIf auth is enabledOpenID Configuration URL
auth.callbackURLURLIf auth is enabledCallback URL of the data plane on which it expects callback requests to arrive
auth.redirectURLURLIf auth is enabledRedirect URL of the data plane which it used to redirect a user that has logged in
auth.clientIdStringIf auth is enabledOAuth client ID
auth.clientSecretStringIf auth is enabledOAuth client secret
auth.rolePathStringJSON Path used to translate roles into a simple array of roles, with as starting point the access token JWT payload"$.roles[*]"
Server Configuration
listenStringNoIP address to listen on."0.0.0.0"
portNumberNoPort number for the server.3000
publicDomainStringNoPublic domain of the server."localhost"
publicAddressStringNoPublic address of the server."http://localhost:3000"
Registry Configuration
isRegistryBooleanNoIndicates whether it's a registry.false
registryUrlStringNoURL of the registry.
registryDidStringNoDID (Decentralized Identifier) of the registry.
registryIntervalInMillisecondsNumberNoInterval in milliseconds for registry updates.30000
IAM Configuration
typeStringYesType of IAM. Options: "tsg" or "dev".
didIdStringYesIdentifier for the DID.
walletUrlStringYesRoot URL for Wallet management.
siopUrlStringYesURL for SIOP management.
verifyUrlStringYesURL for token verification.
typeFilterStringNoDefault accepted credential type.
issuerFilterStringNoDefault accepted issuer.
Runtime Configuration
controlPlaneInteractionsStringNoMode of control plane interactions. Options: "automatic", "semi-manual", "manual"."automatic"
Initialization Catalog Configuration
creatorStringYesCreator of the catalog.
publisherStringYesPublisher of the catalog.
titleStringYesTitle of the catalog.
descriptionStringYesDescription of the catalog.
datasetsArray of StringsNoArray of dataset names.
Root Configuration
dbObjectYesDatabase configuration.
serverObjectYesServer configuration.
authObjectYesAuthentication configuration.
registryObjectNoRegistry configuration.
iamObjectYesIAM configuration.
initCatalogObjectYesInitialization catalog configuration.
runtimeObjectNoRuntime configuration.