Skip to main content
Version: 2.5

Runtime profiles

Experimental

The local build and runtime are experimental. The tsm runtime commands are available only in the experimental CLI build, and their behaviour and configuration may still change.

.tsm/runtime-profiles.yaml in the workspace describes one service catalog, named initializations and the profiles that run them. It is personal: keep .tsm/ out of Git.

Template​

This is a template, not working delivery data. Replace all uppercase placeholders before you start the runtime. It defines one catalog, one initialization and two alternative profiles: full (everything local) and ordering (ordering from the IDE). Profiles do not inherit from each other.

schemaVersion: 1
sources:
tsm-platform-parent: sources/tsm-platform-parent
tsm-platform-aggregator: sources/tsm-platform-aggregator
tsm-infra: sources/tsm-infra
tsm-config: sources/tsm-config
tsm-customer: sources/tsm-customer
tsm-inventory: sources/tsm-inventory
tsm-ordering: sources/tsm-ordering
tsm-process-engine: sources/tsm-process-engine
tsm-ticket: sources/tsm-ticket
tsm-wfm: sources/tsm-wfm
tsm-billing: sources/tsm-billing
tsm-catalog: sources/tsm-catalog
toolchains:
javaHome: /ABSOLUTE/PATH/TO/JDK21
mavenSettings: /ABSOLUTE/PATH/TO/settings.xml
services:
tsm-gateway: {}
tsm-user-management: {}
tsm-form: {}
tsm-management-service: {}
tsm-ordering: {}
build:
from: sources
initializations:
reference:
database:
seed:
manifest: bootstrap/seed-manifest.json
sha256: REPLACE_WITH_VERIFIED_SEED_SHA256
tenants:
from: bootstrap/ref-preparation.json
runtime-profiles:
full:
mode: local
initialize: reference
ordering:
mode: mixed
remote-effects: shared
gateway:
development-profile: datalite-devel
services:
tsm-ordering:
run: external
heapMiB: 1024

Catalog​

  • Each service is listed once. source, module and serviceId override the known identity of a service.
  • optional: true services run only when a profile selects them explicitly.
  • build.from is sources or product; product also needs the product version/versionRange, repository and serverId. JVM services in mixed mode are always built from sources.

Profiles​

  • mode: local runs everything on your machine; mode: mixed runs selected services locally and uses the rest from a remote environment.
  • A service is either a placement string or an object with run, heapMiB, app and configuration.
  • Placements: container, jvm, external (you start it, e.g. in the IDE), dev-server, remote, disabled. Mixed mode does not allow container; local mode does not allow remote.
  • The gateway cannot be remote or disabled. Local mode needs gateway, user-management, form and management-service. The UI is optional and runs only as an explicit dev-server.

Initialization and mixed settings​

  • initialize names a local-only initialization. Its seed (manifest and checksum) is a PostgreSQL 17 dump of your product version and is applied only to a new database volume.
  • gateway.development-profile is mixed-only: it selects the Spring configuration and discovery of the remote environment.
  • remote-effects: shared is required in mixed mode. Flyway is controlled by the mode and cannot be overridden.
  • .tsm/state/ and the private cache are generated. Never copy them into another checkout.