CSV Payments Pipeline-Runtime Walkthrough
This page documents the grouped pipeline-runtime topology in examples/csv-payments.
What exists
- Pipeline-runtime parent POM:
examples/csv-payments/pom.pipeline-runtime.xml - Grouped pipeline runtime module:
examples/csv-payments/pipeline-runtime-svc/pom.xml - Runtime mapping scenario:
examples/csv-payments/config/runtime-mapping/pipeline-runtime.yaml - Build script:
examples/csv-payments/build-pipeline-runtime.sh
Topology shape
orchestrator-svc: standalone orchestrator runtimepipeline-runtime-svc: grouped pipeline step runtime (all regular steps)persistence-svc: plugin/aspect runtime (persistence side effects)
Build
bash
./examples/csv-payments/build-pipeline-runtime.sh -DskipTestsWhat the script does:
- Applies
pipeline-runtime.yamlas active runtime mapping. - Installs
examples/csv-payments/pom.xml(-N install) so module parent descriptors are resolvable in clean local repositories (including CI jobs). - Builds
pom.pipeline-runtime.xml. - Uses
GRPCtransport by default (override withPIPELINE_TRANSPORT=REST|LOCALif needed). - Restores the previous active mapping file after the build.
Verification smoke check
bash
./mvnw -f examples/csv-payments/pom.pipeline-runtime.xml -DskipTests compileRequired runtime environment
pipeline-runtime-svc requires explicit TLS path/password variables (no insecure defaults):
bash
export SERVER_KEYSTORE_PATH=/deployments/server-keystore.jks
export SERVER_KEYSTORE_PASSWORD=secret
export CLIENT_TRUSTSTORE_PATH=/deployments/client-truststore.jks
export CLIENT_TRUSTSTORE_PASSWORD=secretStartup now validates these values and fails fast if they are missing.
If you build container images in CI, set a deterministic image tag:
bash
export IMAGE_REGISTRY=registry.example.com
export IMAGE_GROUP=csv-payments
export IMAGE_NAME=pipeline-runtime-svc
export IMAGE_TAG="$GITHUB_SHA"Operational note
This topology is the concrete bridge between fully modular and monolith:
- fewer runtime artifacts than modular,
- clearer isolation than monolith,
- explicit plugin runtime boundary retained.