Skip to content

Restrict Bucket Quota Input in UI Based on Backend Storage Availability or Config Limit #3554

Closed
@ManojThatvamasi

Description

@ManojThatvamasi

NOTE

Please subscribe to our paid subscription plans for 24x7 support from our Engineering team.

Hi MinIO Team,

We are actively using the MinIO Console with a ZFS-backed pool and are facing a UX-level challenge related to bucket quotas.

Expected Behavior

Add a frontend restriction or validation on the quota input field, such as:

Cap quota input to a configurable limit (e.g., via an ENV variable or backend API call)

Optionally, show a warning or tooltip if a user attempts to enter a quota beyond available space

Graceful error handling in the UI before quota is applied

Current Behavior

Users can set very high bucket quotas (e.g., 100 TiB or EiB) from the Console UI while creating buckets.

However, our backend system has limited physical storage (e.g., 6 GiB).

Although MinIO's backend enforcement (via mc admin bucket quota --hard) works perfectly, the UI allows setting excessive quotas, which leads to:

Confusion among end-users

Upload failures due to backend storage exhaustion

Poor user experience with misleading error messages later in upload

Example of the Issues.

Backend has 6 GiB of usable space.

Admin wants users to set quotas only between 100 MiB and 6 GiB.

Console UI should prevent or warn against setting 10 GiB, 100 TiB, or EiB.

Possible Solution

A few ideas that could solve the issue:

Introduce a configurable frontend limit (e.g., through an ENV variable or Console config like MAX_BUCKET_QUOTA)

Dynamically fetch available storage/quota limit from the backend and cap the UI input accordingly

Display a warning message if the quota input exceeds current backend availability

Implement field-level validation (e.g., setting a max attribute on the input) for real-time user feedback

This would help prevent users from setting misleading or impossible quota values, avoiding upload errors later.

Steps to Reproduce (for bugs)

1.Install and run MinIO with a backend storage size of 6 GiB (e.g., using a ZFS pool)
2.Open MinIO Console in browser and go to "Create Bucket"
3.In the "Quota" field, enter a value like 10 TiB or 1 EiB
4.Bucket is created successfully, but actual usage fails later during upload as it exceeds real storage

Context

We are using MinIO with ZFS-backed storage with limited capacity (e.g., 6 GiB). When users create buckets via the Console UI, they are able to set quotas that far exceed available disk space.

Although the backend enforces actual storage limits well (e.g., uploads fail once space is exhausted), users are confused when allowed to set very large quotas like 10 TiB or even EiB. This leads to poor UX and troubleshooting requests.

We would like a way to restrict, cap, or at least warn in the UI when users try to set unrealistic quota values.

Regression

No – this is not a regression. It's a current limitation or missing feature.

Your Environment

  • MinIO Version: AGPL Community Edition (latest as of June 2025)
  • Deployment Mode: Standalone
  • Backend Storage: ZFS pool with zfs set quota=6G (like)
  • MinIO Console Accessed via: Browser UI on port 9001 (example)
  • Browser: Chrome / Edge

Image
Image

Customizations: Attempted NGINX-based script injection

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions