Skip to main content
Version: Next

Configuration

In this section, the configuration of the http data plane is explained. Configuration is used based on a config.yaml file which should be placed in the apps/backend 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 http data planes.

Authentication

Authentication for frontend services can be done via OAuth. This helps users who need to login to several components to authenticate themselves faster. The data plane is tested against the SSO Bridge, with an Helm chart provided alongside the Helm chart of the data plane, but other OAuth services should be usable (e.g. Keycloak, or hosted OAuth services).

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[*]"
ControlPlaneConfig
controlPlaneYesControlPlaneConfigControl plane configuration
controlPlane.dataPlaneEndpointYesURLData plane management endpoint
controlPlane.managementEndpointYesURLControl plane management endpoint
controlPlane.controlEndpointYesURLPublic control plane endpoint
controlPlane.initializationDelayNumberInitialization delay in milliseconds5000
DatasetConfig
datasetDatasetConfigDataset configuration
dataset.typeYes"versioned" | "collection"Type of the dataset configuration
dataset{type=versioned}VersionedDatasetConfigDataset configuration
dataset{type=versioned}.idStringID of the dataset
dataset{type=versioned}.titleYesStringTitle of the dataset
dataset{type=versioned}.baseSemanticModelRefURLBase semantic model reference of the dataset
VersionConfig
dataset{type=versioned}.versionsYesVersionConfig[]Versions of the dataset
dataset{type=versioned}.versions[].idStringVersion ID
dataset{type=versioned}.versions[].versionYesStringVersion number
dataset{type=versioned}.versions[].semanticModelRefURLSemantic model reference of the version
dataset{type=versioned}.versions[].authorizationStringAuthorization header required for the backend
DistributionConfig
dataset{type=versioned}.versions[].distributionsYesDistributionConfig[]Distributions of the version
dataset{type=versioned}.versions[].distributions[].mediaTypeStringMedia type of the distribution
dataset{type=versioned}.versions[].distributions[].schemaRefURLSchema reference of the distribution
dataset{type=versioned}.versions[].distributions[].openApiSpecRefURLOpenAPI specification reference of the distribution
dataset{type=versioned}.versions[].distributions[].backendUrlYesURLBackend URL of the distribution
dataset{type=versioned}.currentVersionYesStringCurrent version of the dataset
PolicyConfig
dataset{type=versioned}.policyPolicyConfigPolicy of the dataset
dataset{type=versioned}.policy.type"default" | "rules" | "manual"Definition type of the policy"default"
PolicyRuleConfig
dataset{type=versioned}.policy.permissionsPolicyRuleConfig[]Permissions of the policy
dataset{type=versioned}.policy.permissions[].actionYesStringAction of the rule
RuleConstraintConfig
dataset{type=versioned}.policy.permissions[].constraintsRuleConstraintConfig[]Constraints of the rule
dataset{type=versioned}.policy.permissions[].constraints[].typeYesStringType of the constraint
dataset{type=versioned}.policy.permissions[].constraints[].valueYesStringValue of the constraint
PolicyRuleConfig
dataset{type=versioned}.policy.prohibitionsPolicyRuleConfig[]Prohibitions of the policy
dataset{type=versioned}.policy.prohibitions[].actionYesStringAction of the rule
RuleConstraintConfig
dataset{type=versioned}.policy.prohibitions[].constraintsRuleConstraintConfig[]Constraints of the rule
dataset{type=versioned}.policy.prohibitions[].constraints[].typeYesStringType of the constraint
dataset{type=versioned}.policy.prohibitions[].constraints[].valueYesStringValue of the constraint
dataset{type=versioned}.policy.rawObjectRaw serialized ODRL offer
dataset{type=versioned}.type"versioned" | "collection"Type of the dataset configuration"versioned"
dataset{type=collection}CollectionDatasetConfigDataset configuration
dataset{type=collection}.baseSemanticModelRefURLBase semantic model reference of the dataset
PolicyConfig
dataset{type=collection}.basePolicyPolicyConfigBase policy of the dataset
dataset{type=collection}.basePolicy.type"default" | "rules" | "manual"Definition type of the policy"default"
PolicyRuleConfig
dataset{type=collection}.basePolicy.permissionsPolicyRuleConfig[]Permissions of the policy
dataset{type=collection}.basePolicy.permissions[].actionYesStringAction of the rule
RuleConstraintConfig
dataset{type=collection}.basePolicy.permissions[].constraintsRuleConstraintConfig[]Constraints of the rule
dataset{type=collection}.basePolicy.permissions[].constraints[].typeYesStringType of the constraint
dataset{type=collection}.basePolicy.permissions[].constraints[].valueYesStringValue of the constraint
PolicyRuleConfig
dataset{type=collection}.basePolicy.prohibitionsPolicyRuleConfig[]Prohibitions of the policy
dataset{type=collection}.basePolicy.prohibitions[].actionYesStringAction of the rule
RuleConstraintConfig
dataset{type=collection}.basePolicy.prohibitions[].constraintsRuleConstraintConfig[]Constraints of the rule
dataset{type=collection}.basePolicy.prohibitions[].constraints[].typeYesStringType of the constraint
dataset{type=collection}.basePolicy.prohibitions[].constraints[].valueYesStringValue of the constraint
dataset{type=collection}.basePolicy.rawObjectRaw serialized ODRL offer
dataset{type=collection}.authorizationStringAuthorization header required for the backend
dataset{type=collection}.mediaTypeStringMedia type of the dataset
dataset{type=collection}.schemaRefURLSchema reference of the dataset
dataset{type=collection}.openApiSpecRefURLOpenAPI specification reference of the dataset
dataset{type=collection}.type"versioned" | "collection"Type of the dataset configuration"collection"
DatasetItem
initCollectionDatasetItem[]Initial collection configuration
initCollection[].idStringID of the dataset item
initCollection[].titleYesStringTitle of the dataset item
initCollection[].versionYesStringVersion of the dataset item
initCollection[].backendUrlYesURLBase semantic model reference of the dataset item
initCollection[].authorizationStringAuthorization header required for the backend
initCollection[].mediaTypeStringMedia type of the dataset item
initCollection[].schemaRefURLSchema reference of the dataset item
initCollection[].openApiSpecRefURLOpenAPI specification reference of the dataset
PolicyConfig
initCollection[].policyPolicyConfigPolicy of the dataset item
initCollection[].policy.type"default" | "rules" | "manual"Definition type of the policy"default"
PolicyRuleConfig
initCollection[].policy.permissionsPolicyRuleConfig[]Permissions of the policy
initCollection[].policy.permissions[].actionYesStringAction of the rule
RuleConstraintConfig
initCollection[].policy.permissions[].constraintsRuleConstraintConfig[]Constraints of the rule
initCollection[].policy.permissions[].constraints[].typeYesStringType of the constraint
initCollection[].policy.permissions[].constraints[].valueYesStringValue of the constraint
PolicyRuleConfig
initCollection[].policy.prohibitionsPolicyRuleConfig[]Prohibitions of the policy
initCollection[].policy.prohibitions[].actionYesStringAction of the rule
RuleConstraintConfig
initCollection[].policy.prohibitions[].constraintsRuleConstraintConfig[]Constraints of the rule
initCollection[].policy.prohibitions[].constraints[].typeYesStringType of the constraint
initCollection[].policy.prohibitions[].constraints[].valueYesStringValue of the constraint
initCollection[].policy.rawObjectRaw serialized ODRL offer
LoggingConfig
loggingLoggingConfigLogging configuration
logging.debugBooleanEnable debug request logging
RuntimeConfig
runtimeYesRuntimeConfigRuntime configuration
runtime.colorStringPrimary UI color"#3B8BF6"
runtime.lightThemeUrlStringLight theme logo URL
runtime.darkThemeUrlStringDark theme logo URL
authorizationHeaderStringAuthorization header used in provider proxy"Authorization"