Resources & storage · Ledgerly
Allocate this app's slice of your pooled database and container storage.
Allocations
Cannot be set below current usage.
Pool headroom
- Primary pool
- 310 / 500 GB allocated
- Log pool
- 70 / 150 GB
- AI pool
- 88 / 200 GB
- Container pool
- 120 / 160 GB
Shows allocations and latest precise usage gauges for the core, logging, AI and optional container dimensions. The CLI should preserve canonical meter keys and units so the UI never mixes decimal GB, GiB, request counters, or legacy quota columns.
Behind this page/apps/:saasAppId/storage · CanManageStorage
Retrieve
Effective allocation comes from vw_SaaSAppEffectiveQuota; pool headroom from vw_CustomerStoragePool. Current gauges use canonical meters: db.primary.gb, db.log.gb, db.ai.gb with unit GiB and decimal precision 9. api.requests is a request counter with precision 0.
Save
UpsertStorageAllocation writes per-app allocations only after ownership and pool validation. Shrinks below the latest canonical gauge are rejected per dimension. Legacy quota columns remain zero and must not be revived in the UI.
Success
- Allocations stay within pool capacity.
- Decreases below used size are rejected with a distinct error.
- Freed headroom returns to the pool on deprovision.
CLI handoff
Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.
Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.