Skip to main content
Version: v0.5.0

TSG CLI Tool

For an example with steps to use the CLI tool see the docs page.

Commands

Usage: tsg [options] [command]

Options:
-v, --version output the current version
-h, --help display help for command

Commands:
bootstrap [options] <scope> Bootstrap CLI utility to generate configuration files
deploy [options] <scope> Deploy configuration to an Kubernetes cluster (requires Helm to be installed)
help [command] display help for command

Bootstrap

Usage: tsg bootstrap [options] <scope>

Bootstrap CLI utility to generate configuration files

Arguments:
scope scope of configuration generation (choices: "ecosystem", "participant")

Options:
-f, --file <file> input configuration file (default: "ecosystem.yaml" or "participant.yaml")
-o, --output <dir> output directory (default: "output")
--stdout output only to standard out (default: false)
-v, --verbose verbose logging (default: false)
-y --yes assume yes for all prompts (default: false)
-h, --help display help for command

Deploy

Usage: tsg deploy [options] <scope>

Deploy configuration to an Kubernetes cluster (requires Helm to be installed)

Arguments:
scope scope of deployment (choices: "ecosystem", "participant")

Options:
-f, --file <file> input configuration file (default: "ecosystem.yaml" or "participant.yaml")
--config <dir> config file location (created by the "bootstrap" command) (default: "output")
-u, --uninstall only uninstall charts and secrets (default: false)
-c, --clean uninstall existing charts before installing (default: false)
--clean-database uninstall database while cleaning (default: false)
-d, --diff show diffs before deployment (default: false)
--dry-run dry run commands (default: false)
--cwd <cwd> working directory for the configuration files
-v, --verbose verbose logging (default: false)
-y --yes assume yes for all prompts (default: false)
-h, --help display help for command

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
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
casdoorApplicationCasdoor OAuth application
walletApplicationTSG Wallet
controlPlaneApplicationTSG Control Plane
dataPlanesMap<String, Application>Data plane applications

Application

NameData TypeRequiredExplanationDefault
chartVersionStringHelm chart versionCLI version
chartNameStringHelm chart name
developmentChartBooleanUse TSG development Helm repositoryfalse
imageTagStringDocker image tagCLI version
imageRepositoryStringDocker image repositoryTSG Gitlab Docker registry

Participant

NameData TypeRequiredExplanationDefault
hostStringYesDomain name, used for host ingress paths
idStringYesParticipant identifier, used for identifier for instances
nameStringYesParticipant name, used for metadata
routing"path" or "subdomain"Path-based or subdomain-based routing for services"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
documentObjectYes if issuer is trueJSON-LD document for credentials that will be issued
schemaObjectYes if issuer is trueJSON schema for credentials that will be issued
preAuthorizationCodeStringPre-authorization code for requesting a credential via OID4VCI. Use only when also deploying a dataspace authority or when a code is received from the issuer
dataPlanesMap<String, DataPlane>Data planes that will be configured for this participant

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