Skip to main content
Version: Next

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.

Configuration parameters

KeyRequiredTypeDescriptionDefault
DatabaseConfig
dbYesDatabaseConfigDatabase configuration
db.typeYes"sqlite" | "postgres"Type of database
db.databaseYesStringName of the database
db.synchronizeBooleanSynchronize database schema
db{type=sqlite}YesSQLiteConfigDatabase configuration
db{type=sqlite}.type"sqlite" | "postgres"Type of database"sqlite"
db{type=sqlite}.databaseYesStringName of the database
db{type=sqlite}.synchronizeBooleanSynchronize database schema
db{type=postgres}YesPostgresConfigDatabase configuration
db{type=postgres}.hostYesStringHost of the database
db{type=postgres}.portYesNumberPort of the database
db{type=postgres}.usernameYesStringUsername of the database
db{type=postgres}.passwordYesStringPassword of the database
db{type=postgres}.sslUnknownSSL configuration of the database
db{type=postgres}.type"sqlite" | "postgres"Type of database"postgres"
db{type=postgres}.databaseYesStringName of the database
db{type=postgres}.synchronizeBooleanSynchronize database schema
ServerConfig
serverServerConfigServer configuration
server.listenStringIP address the server listens on"0.0.0.0"
server.portNumberPort the server listens on3000
server.publicDomainStringPublic domain of the server"localhost"
server.publicAddressStringPublic address of the server"http://localhost:3000"
server.subPathStringSub path of the server
AuthConfig
authYesAuthConfigManagement authentication configuration
auth.enabledBooleanEnable authenticationtrue
auth.openIdConfigurationURLStringOpenID configuration URL
auth.callbackURLURLCallback URL the auth service will redirect users
auth.redirectURLURLRedirect URL to UI after login/logout
auth.clientIdStringClient ID
auth.clientSecretStringClient secret
auth.rolePathStringJSON path to extract roles from the token"$.roles[*]"
RegistryConfig
registryYesRegistryConfigRegistry configuration
registry.useRegistryYesBooleanUse registry to crawl catalogs
registry.registryUrlStringURL of the registry
registry.registryDidStringDID of the registry
registry.registryIntervalInMillisecondsNumberInterval in milliseconds to fetch registry30000
IamConfig
iamYesIamConfigIAM wallet configuration
iam.typeYes"tsg" | "dev"Type of IAM service
iam.didIdYesStringDID identifier of the IAM service
iam{type=dev}YesDevWalletConfigIAM wallet configuration
iam{type=dev}.type"tsg" | "dev"Type of IAM service"dev"
iam{type=dev}.didIdYesStringDID identifier of the IAM service
iam{type=tsg}YesTsgWalletConfigIAM wallet configuration
iam{type=tsg}.walletUrlYesURLURL of the wallet management endpoint
iam{type=tsg}.siopUrlYesURLURL of the SIOP token endpoint
iam{type=tsg}.verifyUrlYesURLURL of the verification endpoint
iam{type=tsg}.typeFilterStringCredential type filter used as default
iam{type=tsg}.issuerFilterStringIssuer filter used as default
iam{type=tsg}.customFieldsArrayCustom presentation definition fields
iam{type=tsg}.type"tsg" | "dev"Type of IAM service"tsg"
iam{type=tsg}.didIdYesStringDID identifier of the IAM service
InitCatalog
initCatalogYesInitCatalogInitial catalog configuration
initCatalog.creatorYesStringCreator of the catalog
initCatalog.publisherYesStringPublisher of the catalog
initCatalog.titleYesStringTitle of the catalog
initCatalog.descriptionYesStringDescription of the catalog
initCatalog.datasetsStringSerialized initial datasets
PolicyConfig
defaultPolicyPolicyConfigDefault policy configuration
defaultPolicy.type"rules" | "manual"Definition type of the policy"rules"
PolicyRuleConfig
defaultPolicy.permissionsPolicyRuleConfig[]Permissions of the policy
defaultPolicy.permissions[].actionYesStringAction of the rule
RuleConstraintConfig
defaultPolicy.permissions[].constraintsRuleConstraintConfig[]Constraints of the rule
defaultPolicy.permissions[].constraints[].typeYesStringType of the constraint
defaultPolicy.permissions[].constraints[].valueYesStringValue of the constraint
PolicyRuleConfig
defaultPolicy.prohibitionsPolicyRuleConfig[]Prohibitions of the policy
defaultPolicy.prohibitions[].actionYesStringAction of the rule
RuleConstraintConfig
defaultPolicy.prohibitions[].constraintsRuleConstraintConfig[]Constraints of the rule
defaultPolicy.prohibitions[].constraints[].typeYesStringType of the constraint
defaultPolicy.prohibitions[].constraints[].valueYesStringValue of the constraint
defaultPolicy.rawObjectRaw ODRL policy
RuntimeConfig
runtimeYesRuntimeConfigRuntime configuration
runtime.controlPlaneInteractions"automatic" | "semi-manual" | "manual"Mode of control plane interactions"automatic"
runtime.colorStringPrimary UI color"#3B8BF6"
runtime.lightThemeUrlStringLight theme logo URL
runtime.darkThemeUrlStringDark theme logo URL