photoncloud-monorepo/creditservice/README.md

40 lines
1.7 KiB
Markdown

# 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:
```bash
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.