Skip to content

Runbook

Operational fundamentals (health endpoints, metrics scraping, log shipping) are inherited from the Base Template. Billing specifics:

Common tasks

Task Command
Build dotnet build ConnectSoft.Saas.BillingTemplate.slnx
Run host dotnet run --project src/ConnectSoft.Saas.Billing.Application
Test + coverage dotnet test --settings ConnectSoft.Saas.BillingTemplate.runsettings
Apply migrations FluentMigrator runs via the host migration pipeline (MicroserviceMigration)

Troubleshooting

Symptom Likely cause Action
Queries return no rows across tenants SaasTenantFilter scoping Confirm tenant id resolves (X-Tenant-Id / tid); check Multitenancy config
Events not published/consumed MassTransit transport None Configure a real transport + persistence for non-dev
Duplicate provisioning on replays Non-idempotent saga handler Make reaction hooks idempotent
Concurrent write conflicts Bypassing the grain Route writes through SubscriptionEditorGrain
gRPC errors lack detail GrpcErrorHandlingStrategy not RichError Set it to enable GrpcRichErrorInterceptor

See also