letsencrypt / letsencrypt/boulder

ratelimits: Rename rate limits with identifiers

Open
#8,243 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

Now that many of our rate limits also cover IP address identifiers or ranges, their names have become confusing.

For the failed authorizations rate limits, "domain" has really meant "FQDN," and should now be renamed to "Identifier":

  • FailedAuthorizationsPerDomainPerAccount
  • FailedAuthorizationsForPausingPerDomainPerAccount

For CertificatesPerFQDNSet, the whole limit should be renamed to "DuplicateCertificates":

  • CertificatesPerFQDNSet

We should also update our internal comments (and perhaps function names) about the "FQDNSet" database table, which is not easily renamed; its name has become deceptive.

Then, for the certificates per domain rate limits, "domain" has really meant "eTLD+1" all along - and now it includes "IPv4 address" and "IPv6 /64 range." We should choose a new term. Internally, we currently call this "covering identifier," which isn't bad but we should try to brainstorm something clearer:

  • CertificatesPerDomain
  • CertificatesPerDomainPerAccount

A change to the Let's Encrypt Web site's rate limits doc should accompany the Boulder change, which might also require updating anchor links in errors/errors.go.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the rate-limit naming references and errors/errors.go, then compare them with the rate-limits documentation at the linked Let's Encrypt website path. Decide consistent replacements for the domain, FQDN, and FQDNSet terms, update related comments or function names, and ensure documentation anchors and references match the Boulder changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design, documentation
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.