What can be limited
0 or an unset field means unlimited. Memory and CPU count the limits you set on a resource, so an app with no memory limit reserves nothing against the quota.
A team quota covers every project filed under the team, plus anything with no project (the default team). A project quota covers only that project. A change must fit under both.
Where quotas are enforced
A refused change answers
409 with code quota_exceeded:
Set quotas
Open Settings, Teams for a team, or a project’s page, and use the Quotas card. It shows a usage bar for every dimension and, for team admins and owners, a form to change the limits. Members see usage against the limit but cannot change it. From the CLI:quota set replaces all limits, so pass every limit you want to keep.
From the API:
Every change is written to the audit log and to the team’s event trail as
quota.updated or quota.cleared.
Instance defaults
These environment variables set limits for every team and project that has no value of its own. All default to unlimited.Attention center
When a limited dimension reaches the warning percentage, the attention center shows an item for it, and a critical one at 100 percent. Items are visible to instance admins and link to the team or project.Limits of this feature
- Deploys are not blocked. An app that already exists keeps deploying even if its scope is over quota.
- Memory and CPU count configured reservations, not live container usage.
- Preview environments use the platform preview caps as well; the lower of the two applies.