letsencrypt / boulder

An ACME-based certificate authority, written in Go.
Mozilla Public License 2.0
5.15k stars 601 forks source link

Add rate-limit endpoint with current quotas/usage #1478

Open schoen opened 8 years ago

schoen commented 8 years ago

Related to #1444.

A lot of people on the community forum would really like a way to check current rate limits, even outside of the ACME protocol; even without integrating with the backend LE database, people would seemingly appreciate having something that parses CT and calculates what the rate limit status would be for a particular domain.

rolandshoemaker commented 8 years ago

Parsing CT is definitely out of scope for Boulder but I believe there was some discussions in the past about adding header data about remaining rate limit statuses to related endpoints so clients could display that data (although I can't find a issue now).

I doubt we'll implement an explicit web UI though it is possible we could add an endpoint, /rate-limit-status or something, to pull all the current rate limit data for a user.

webprofusion-chrisc commented 7 years ago

+1 there would ideally be an endpoint which just provides the current rate limits such as: /limits:

{
"certificatesPerRegisteredDomain":20,
"certificatePerRegisteredDomainDays":7
"namesPerCertificate":100,
"duplicateCertificates:5
"duplicateCertificatesDays:7
}

etc.

cpu commented 6 years ago

Please use the :+1: reaction emoji's on the base post instead of adding new comments without substance. Thank you!

munnerz commented 6 years ago

I think just having some way to discover the actual quotas set on the ACME server would be a helpful first step (and may(?) be easier to implement!).

ACME servers can each have their own quotas, and being able to simply discover this static configuration would be useful for clients that want to be mindful of their usage.

In future, exploring ways we can get details like 'remaining' quota would be brilliant too, but I'd guess this is harder to implement!

Would this be something better considered to go into the spec, rather than being a 'special' boulder feature?