Skip to main content
Version: Next

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 participants
  • participant.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)

NameData TypeRequiredExplanationDefault
generalGeneralYesGeneral configuration properties
applicationsApplicationsApplication configuration properties
participantsArray<Participant>YesParticipant configuration

SingleParticipant (participant.yaml)

NameData TypeRequiredExplanationDefault
generalGeneralYesGeneral configuration properties
applicationsApplicationsApplication configuration properties
participantParticipantYesParticipant configuration

General

NameData TypeRequiredExplanationDefault
namespaceStringYesKubernetes namespace used for deployments. Must match pattern [a-zA-Z-]+ (alphanumeric with hyphens)
usernameStringYesDefault admin username
passwordStringYesDefault admin password
authorityDomainStringYesDomain name of the authority, either the one deployed as participant or an external dataspace authority
credentialTypeStringYesCredential type name

Applications

NameData TypeRequiredExplanationDefault
postgresApplicationPostgres application, defaults to Bitnami Postgres
ssoBridgeApplicationSSO Bridge application
walletApplicationTSG Wallet
controlPlaneApplicationTSG Control Plane
dataPlanesMap<String, Application>Data plane applications

Application

NameData TypeRequiredExplanationDefault
chartVersionStringHelm chart version
chartNameStringHelm chart name
developmentChartBooleanUse TSG development Helm repositoryfalse
imageTagStringDocker image tag
imageRepositoryStringDocker image repository

Participant

NameData TypeRequiredExplanationDefault
hostStringYesDomain name, used for host ingress paths
idStringYesParticipant identifier, used for identifier for instances
nameStringYesParticipant name, used for metadata
routing"path" | "subdomain"Path-based or subdomain-based routing for services. Must be either "path" or "subdomain""path"
hasControlPlaneBooleanFlag whether a control plane should be deployedfalse
hasTestServiceBooleanFlag whether a test HTTP data plane should be deployed with a test servicefalse
hasDebugLoggingBooleanFlag whether to enable debug logging for the servicesfalse
issuerBooleanFlag whether this participant is an issuer of credentials. Should be used only for a dataspace authorityfalse
credentialSubjectObjectCredential subject data for participants
preAuthorizedCodeStringPre-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
walletConfigObjectWallet configuration, used to configure the wallet for this participant. For example, providing Issue Configurations. See also Wallet Configuration
controlPlaneConfigObjectControl plane configuration, used to configure the control plane for this participant. See also Control Plane Configuration
dataPlanesMap<String, DataPlane>Data planes that will be configured for this participantnew Map()

DataPlane

NameData TypeRequiredExplanationDefault
typeStringData plane type, only required when type does not match key
tsgDataPlaneBooleanFlag whether data plane configuration following the TSG data planes should be generatedtrue
postgresBooleanFlag whether a postgres database and credentials should be madetrue
subPathStringSubpath to use for this data plane if different from key and if participant routing is "path"
dnsPrefixStringDNS prefix to use for this data plane if different from key and if participant routing is "subdomain"
configObjectSpecific 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.