-
-
Notifications
You must be signed in to change notification settings - Fork 610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ratelimits: Exempt renewals from NewOrdersPerAccount and CertificatesPerDomain #7513
Conversation
4e6bfed
to
17eb6c0
Compare
17eb6c0
to
9bd02cb
Compare
9bd02cb
to
596a850
Compare
@beautifulentropy, this PR appears to contain configuration and/or SQL schema changes. Please ensure that a corresponding deployment ticket has been filed with the new values. |
@beautifulentropy, this PR adds one or more new feature flags: CheckRenewalExemptionAtWFE. As such, this PR must be accompanied by a review of the Let's Encrypt CP/CPS to ensure that our behavior both before and after this flag is flipped is compliant with that document. Please conduct such a review, then add your findings to the PR description in a paragraph beginning with "CPS Compliance Review:". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I must be missing something, because I don't understand why this requires a new isRenewal
boolean instead of re-using the limitsExempt
boolean.
Lines 2526 to 2535 in 7a6632d
Lines 1589 to 1618 in 7a6632d
|
fbdf682
to
13a7de6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this makes a lot more sense to my head with the updated field names. LGTM.
|
||
var newOrderSuccessful bool | ||
var errIsRateLimit bool | ||
defer func() { | ||
if features.Get().TrackReplacementCertificatesARI { | ||
wfe.stats.ariReplacementOrders.With(prometheus.Labels{ | ||
"isReplacement": fmt.Sprintf("%t", replaces != ""), | ||
"limitsExempt": fmt.Sprintf("%t", limitsExempt), | ||
"limitsExempt": fmt.Sprintf("%t", isARIRenewal), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"limitsExempt": fmt.Sprintf("%t", isARIRenewal), | |
"isARIRenewal": fmt.Sprintf("%t", isARIRenewal), |
NewOrderRequest
fieldLimitsExempt
toIsARIRenewal
NewOrderRequest
field,IsRenewal
CheckRenewalExemptionAtWFE
WFE:
CheckRenewalExemptionAtWFE
is setNewOrdersPerAccount
andCertificatesPerDomain
limit checks when renewal detection indicates the the order is a renewal.RA:
NewOrdersPerAccount
andCertificatesPerDomain
limit checks whenCheckRenewalExemptionAtWFE
is set and theNewOrderRequest
indicates that the order is a renewal.Fixes #7508
Part of #5545