Runbook
Operational fundamentals are inherited from the Base Template. Metering specifics:
Common tasks
| Task |
Command |
| Build |
dotnet build ConnectSoft.Saas.MeteringTemplate.slnx |
| Run host |
dotnet run --project src/ConnectSoft.Saas.Metering.Application |
| Test |
dotnet test |
| Migrations |
MicroserviceMigration (single UsageMeters table) + SampleMeteringSeed |
Troubleshooting
| Symptom |
Likely cause |
Action |
| Duplicate meter error |
UQ_UsageMeters_Tenant_Dimension |
Use EnsureProvisioned (idempotent) instead of repeated create |
| Quota events not firing |
Emission flags already set, or no QuotaLimit |
Roll the counter to reset flags; ensure quota applied via entitlements |
| Meters not auto-provisioned |
Inbound sagas not receiving events |
Verify transport delivers tenant-activated/subscription-created/entitlements-changed |
| Quota-enforcement saga inactive |
Inbound topic unwired |
Wire UsageReportedForQuotaInboundEvent (see development) |
See also