authgear / authgear/authgear-server

Support more flexible quota system

Open
#4,218 2 comments 0 reactions 0 assignees View on GitHub
pitch
Dominant language
Go
Stars
2k
Forks
125
Avg merge
2d 17h
Merged PRs (30d)
32

Description

Currently all enterprise plan have unlimited quotas.

As we started supporting more clients, we need a more flexible quota system, here are the brief requirements:

1. A project can have:
1. a plan ID/name, OR
2. quota config that override the plan
2. Each quota config should have (brainstorming here):
1. Feature flags (default all on for Enterprise plan)
1. Authgear Branding
2. Custom Domains
2. Simple Quota (no need things like cached counter etc)
1. No. of blocking webhook
2. No. of day for Log Retention
3. No. of portal users
4. No. of webhook
3. Metered Quota (assume some sort of cached counter etc are here for scalability)
1. Soft Limit (sending warning to n8n): SMS / Whatsapp / Email / MAU
2. Hard Limit: SMS / Whatsapp / Email / MAU

The project have the same quota as defined in the plan ID/name, but would be overrides by the per-project config.

Other nice to have quota:

* Simple Quota:
* Rate Limits setting

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the existing enterprise plan and quota handling, then map how project settings are stored and enforced; done requires an agreed design for plan-based quotas, per-project overrides, feature flags, simple quotas, and metered limits.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.