Getting Started
Prerequisites
- .NET 10 SDK
- Access to the private Virtufin registries (
Virtufin.*NuGet packages). - Python 3 (for the deployment scripts --
virtufin-api, the Python gRPC gateway client, andvirtufin-naming, which the scripts build every topic with, need to be importable; rundotnet restoreonce soNameRegistry.discoverfinds the imported fragments in the NuGet cache).
Run the tests
dotnet build Virtufin.PortfolioWorkers.slnx
dotnet test Virtufin.PortfolioWorkers.slnx
Deploy a worker
Each worker directory has its own config/config.json +
scripts/*.py deployment wrappers (thin wrappers over
@common/scripts/, the same pattern market-data-workers,
execution-workers and strategy-workers use):
cd <Worker>
python3 scripts/build_managed.py --csproj src/Virtufin.Worker.<Worker>/Virtufin.Worker.<Worker>.csproj
python3 scripts/publish.py --worker-nupkg /tmp/worker-out/Virtufin.Worker.<Worker>.nupkg
python3 scripts/create_worker.py --api-client-host localhost --api-client-port 5002
Venue credentials are worker secrets (WorkManager 0.21+), referenced
from the worker's config, never written into config.json.
Other lifecycle scripts (@common/scripts/list_workers.py,
start_worker.py, stop_worker.py, delete_worker.py,
recover_workers.py, get_worker_history.py, schedule_trigger.py)
take --config <path> directly.