Page MenuHomePhabricator

Consider quota systems
Open, LowPublic

Description

Quota systems would let installs configure limits for users, like "API requests per second", "total file storage", etc.

I think most installs have little or no real use case for these features. Some possible use cases are:

  1. On open source installs, prevent users from using the install as a fileserver to distribute "l33t w4r3z" (T7593). This is entirely hypothetical; we have never seen this problem occur in the wild.
  2. On larger installs, rate limit users who write aggressive/silly API clients? As an administrator, it's way easier to just put an API call quota in place than try to get users to behave reasonably. This is also entirely hypothetical. We previously removed features in this vein (detailed conduit call log) because they were more trouble than they were worth.
  3. In the Phacility cluster, some users have outlying behavior -- one user represents approximately 99% of all SSH clone requests, and continuously runs ~50 clones per minute. I previously disabled this user's credentials and warned them during T11665, but the behavior resumed shortly thereafter.

This is likely something we're going to have to build somewhat-soon-ish to deal with case (3). It would be nice if this system was useful for anything other than wrangling badly behaved users in the SAAS cluster, though, so it didn't feel like as much of a waste of time in the long term to build.