Configuration Reference
This document provides a complete reference for configuring the TSG CLI tool, including all available options for both ecosystem and participant deployments.
Configuration Files
The TSG CLI uses YAML configuration files to define deployment parameters:
ecosystem.yaml
- For deploying complete dataspace ecosystems with multiple participantsparticipant.yaml
- For deploying single participants to join existing dataspaces
Schema Overview
Both configuration types follow a specific schema validated by the CLI. The configuration is based on TypeScript models that ensure proper validation.
Configuration
Configuration for the CLI tool starts either at Ecosystem or SingleParticipant.
Ecosystem (ecosystem.yaml
)
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
general | General | Yes | General configuration properties | |
applications | Applications | Application configuration properties | ||
participants | Array<Participant> | Yes | Participant configuration |
SingleParticipant (participant.yaml
)
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
general | General | Yes | General configuration properties | |
applications | Applications | Application configuration properties | ||
participant | Participant | Yes | Participant configuration |
General
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
namespace | String | Yes | Kubernetes namespace used for deployments. Must match pattern [a-zA-Z-]+ (alphanumeric with hyphens) | |
username | String | Yes | Default admin username | |
password | String | Yes | Default admin password | |
authorityDomain | String | Yes | Domain name of the authority, either the one deployed as participant or an external dataspace authority | |
credentialType | String | Yes | Credential type name |
Applications
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
postgres | Application | Postgres application, defaults to Bitnami Postgres | ||
ssoBridge | Application | SSO Bridge application | ||
wallet | Application | TSG Wallet | ||
controlPlane | Application | TSG Control Plane | ||
dataPlanes | Map<String, Application> | Data plane applications |
Application
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
chartVersion | String | Helm chart version | ||
chartName | String | Helm chart name | ||
developmentChart | Boolean | Use TSG development Helm repository | false | |
imageTag | String | Docker image tag | ||
imageRepository | String | Docker image repository |
Participant
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
host | String | Yes | Domain name, used for host ingress paths | |
id | String | Yes | Participant identifier, used for identifier for instances | |
name | String | Yes | Participant name, used for metadata | |
routing | "path" | "subdomain" | Path-based or subdomain-based routing for services. Must be either "path" or "subdomain" | "path" | |
hasControlPlane | Boolean | Flag whether a control plane should be deployed | false | |
hasTestService | Boolean | Flag whether a test HTTP data plane should be deployed with a test service | false | |
hasDebugLogging | Boolean | Flag whether to enable debug logging for the services | false | |
issuer | Boolean | Flag whether this participant is an issuer of credentials. Should be used only for a dataspace authority | false | |
credentialSubject | Object | Credential subject data for participants | ||
preAuthorizedCode | String | Pre-authorized code for requesting a credential via OID4VCI. Use only when also deploying a dataspace authority or when a code is received from the issuer | ||
walletConfig | Object | Wallet configuration, used to configure the wallet for this participant. For example, providing Issue Configurations. See also Wallet Configuration | ||
controlPlaneConfig | Object | Control plane configuration, used to configure the control plane for this participant. See also Control Plane Configuration | ||
dataPlanes | Map<String, DataPlane> | Data planes that will be configured for this participant | new Map() |
DataPlane
Name | Data Type | Required | Explanation | Default |
---|---|---|---|---|
type | String | Data plane type, only required when type does not match key | ||
tsgDataPlane | Boolean | Flag whether data plane configuration following the TSG data planes should be generated | true | |
postgres | Boolean | Flag whether a postgres database and credentials should be made | true | |
subPath | String | Subpath to use for this data plane if different from key and if participant routing is "path" | ||
dnsPrefix | String | DNS prefix to use for this data plane if different from key and if participant routing is "subdomain" | ||
config | Object | Specific data plane config |
Troubleshooting
Common Configuration Errors
Invalid namespace format:
general:
namespace: "my-namespace" # ✅ Valid: lowercase with hyphens
namespace: "My Namespace" # ❌ Invalid: spaces and uppercase
Missing required fields for issuers:
participant:
issuer: true
document: {...} # ✅ Required when issuer: true
schema: {...} # ✅ Required when issuer: true
For more troubleshooting help, see the CLI README and Getting Started Guide.