[PB-6684]: allow partners to define a hard storage quota for sub-accounts - #83
Open
victor-ferro wants to merge 5 commits into
Open
[PB-6684]: allow partners to define a hard storage quota for sub-accounts#83victor-ferro wants to merge 5 commits into
victor-ferro wants to merge 5 commits into
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
object-storage-management-web | 97cdfaf | Commit Preview URL Branch Preview URL |
Aug 07 2026, 06:37 PM |
Deploying object-storage-web with
|
| Latest commit: |
97cdfaf
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://51f8a5bb.object-storage-web.pages.dev |
| Branch Preview URL: | https://pb-6684-hard-storage-quota.object-storage-web.pages.dev |
victor-ferro
marked this pull request as ready for review
August 10, 2026 12:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Partners can now set a maximum storage quota on a sub-account and remove it again. The sub-account detail view gets a "Storage Quota" card showing the current limit and the storage in use, with a field to set a new limit in TB and a link to remove it. The sub-accounts table gets a "Storage Quota" column showing usage against the limit as a bar, amber at 80% and red at 100%. Sub-accounts with no limit read "No limit" in both places.
Why
PB-6684. Partners need a hard cap per sub-account so a single customer cannot consume storage without limit. The limit is enforced by Wasabi, since the browser uploads straight to S3 and our backend never sees the traffic, so this is the control surface: it configures the limit and reports it back.
Related to https://github.com/internxt/object-storage-server/pull/97
Notes
The UI has no approved design yet. Layout, copy and colours are a proposal.
The table column was not asked for by the ticket. It was added because the information sits naturally next to the storage figures, and previous PRs already extended this table. Happy to drop it.
Usage is assessed every 24 hours by Wasabi, so a limit does not take effect the moment it is saved, and nothing in the UI says so. A line explaining it was drafted and then removed because the ticket does not ask for it. Raising it here for the team to decide whether it should go in.
Tailwind's default palette does not exist in this project.
@internxt/css-configreplaces it, so classes likebg-indigo-600ortext-gray-400generate no CSS and this screen renders almost entirely black on white. The new buttons follow the same style as their neighbours, so that if this is not intentional they get fixed whenever the rest is.The detail view is shared by the management and partners consoles, but lives in
src/management/. Whether the quota card renders is decided by optional methods on the injected service: partners injects a service that exposes them, management does not. That is a workaround rather than access control — what actually stops management from setting quotas is that the backend does not expose these endpoints under/management/*. Moving the shared code out ofmanagement/into a neutral folder is probably better as a separate ticket, but it could be done here if the team prefers. It is also why two files in this PR sit undersrc/management/while the scope ispartners.No tests: this repository has none and no runner. Verified manually, and
npm run buildpasses.