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
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
Database Configuration | ||||
db.type | String | Yes | Type of the database. Must be "sqlite" or "postgres" . | |
db.database | String | Yes | Name of the database. Used as filename when "sqlite" is provided as database type | |
db.synchronize | Boolean | No | Whether or not the database should be synchronized, MUST only be true in test scenarios | false |
db.host | String | If type is postgres | Hostname of the database | |
db.port | Integer | If type is postgres | Port of the database | |
db.username | String | If type is postgres | Username of the user in the database | |
db.password | String | If type is postgres | Password of the user in the database | |
db.ssl | Boolean /Object | No | Boolean if SSL is not used, else object with options | false |
db.ssl.rejectUnauthorized | Boolean | No | Whether unauthorized requests should be rejected. | false |
Auth Configuration | ||||
auth.enabled | Boolean | Boolean indicating whether an external OAuth server should be used. If false, all other properties under auth are not used | true | |
auth.openIdConfigurationURL | URL | If auth is enabled | OpenID Configuration URL | |
auth.callbackURL | URL | If auth is enabled | Callback URL of the data plane on which it expects callback requests to arrive | |
auth.redirectURL | URL | If auth is enabled | Redirect URL of the data plane which it used to redirect a user that has logged in | |
auth.clientId | String | If auth is enabled | OAuth client ID | |
auth.clientSecret | String | If auth is enabled | OAuth client secret | |
auth.rolePath | String | JSON Path used to translate roles into a simple array of roles, with as starting point the access token JWT payload | "$.roles[*]" | |
Server Configuration | ||||
listen | String | No | IP address to listen on. | "0.0.0.0" |
port | Number | No | Port number for the server. | 3000 |
publicDomain | String | No | Public domain of the server. | "localhost" |
publicAddress | String | No | Public address of the server. | "http://localhost:3000" |
Registry Configuration | ||||
isRegistry | Boolean | No | Indicates whether it's a registry. | false |
registryUrl | String | No | URL of the registry. | |
registryDid | String | No | DID (Decentralized Identifier) of the registry. | |
registryIntervalInMilliseconds | Number | No | Interval in milliseconds for registry updates. | 30000 |
IAM Configuration | ||||
type | String | Yes | Type of IAM. Options: "tsg" or "dev" . | |
didId | String | Yes | Identifier for the DID. | |
walletUrl | String | Yes | Root URL for Wallet management. | |
siopUrl | String | Yes | URL for SIOP management. | |
verifyUrl | String | Yes | URL for token verification. | |
typeFilter | String | No | Default accepted credential type. | |
issuerFilter | String | No | Default accepted issuer. | |
Runtime Configuration | ||||
controlPlaneInteractions | String | No | Mode of control plane interactions. Options: "automatic" , "semi-manual" , "manual" . | "automatic" |
Initialization Catalog Configuration | ||||
creator | String | Yes | Creator of the catalog. | |
publisher | String | Yes | Publisher of the catalog. | |
title | String | Yes | Title of the catalog. | |
description | String | Yes | Description of the catalog. | |
datasets | Array of Strings | No | Array of dataset names. | |
Root Configuration | ||||
db | Object | Yes | Database configuration. | |
server | Object | Yes | Server configuration. | |
auth | Object | Yes | Authentication configuration. | |
registry | Object | No | Registry configuration. | |
iam | Object | Yes | IAM configuration. | |
initCatalog | Object | Yes | Initialization catalog configuration. | |
runtime | Object | No | Runtime configuration. |