photoncloud-monorepo/creditservice/README.md

1.7 KiB

CreditService

creditservice is UltraCloud's supported quota, reservation, wallet, and admission-control service. It integrates with platform auth, persists state in the platform data plane, and sits behind the same gateway and VM-cluster validation used for the rest of the published surface.

It is intentionally scoped to real-time control and admission, not finance-system ownership.

Supported scope

  • quota creation, lookup, and enforcement
  • credit reservations, commits, releases, and wallet mutations
  • tenant-aware auth integration through IAM
  • gateway-facing admission control hooks
  • persistent state in FlareDB, PostgreSQL, or SQLite depending on deployment mode

Export And Migration

CreditService export and backend migration are supported as offline export/import or backend-native snapshot workflows, not live mixed-writer migration.

  • Use backend-native snapshots or logical API replay as the export baseline.
  • Drain or quiesce writes before moving between FlareDB, PostgreSQL, and SQLite backends.
  • Rehydrate the target backend, then cut APIGateway or direct callers over to the new endpoint.
  • Treat finance-grade reporting, settlement, or ledger history export as out of scope for the product boundary.

Explicit non-goals

  • invoicing
  • tax handling
  • discounts and pricing catalogs
  • finance-grade ledger completeness
  • full metering platform ownership

Release proof

The release-facing proof comes from the publishable VM-cluster harness:

nix run ./nix/test-cluster#cluster -- fresh-matrix

That flow boots node06 with apigateway, nightlight, and creditservice, then validates REST and gRPC quota flows, wallet and reservation mutations, IAM integration, and API-gateway-mediated admission traffic.