Skip to content

RA: Control MaxNames via profile#8019

Merged
aarongable merged 4 commits into
mainfrom
profile-max-manes
Feb 27, 2025
Merged

RA: Control MaxNames via profile#8019
aarongable merged 4 commits into
mainfrom
profile-max-manes

Conversation

@aarongable

@aarongable aarongable commented Feb 21, 2025

Copy link
Copy Markdown
Contributor

Add MaxNames to the set of things that can be configured on a per-profile basis. Remove all references to the RA's global maxNames, replacing them with reference's to the current profile's maxNames. Add code to the RA's main() to copy a globally-configured MaxNames into each profile, for deployability.

Also remove any understanding of MaxNames from the WFE, as it is redundant with the RA and is not configured in staging or prod. Instead, hardcode the upper limit of 100 into the ratelimit package itself.

IN-11055 tracks the corresponding prod config changes.

Fixes #7993

@aarongable aarongable requested a review from a team as a code owner February 21, 2025 02:10
@github-actions

Copy link
Copy Markdown
Contributor

@aarongable, 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.

@aarongable aarongable marked this pull request as draft February 21, 2025 16:42
@aarongable aarongable marked this pull request as ready for review February 21, 2025 23:27

@beautifulentropy beautifulentropy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, just two optional changes. I'm happy to see this coming to fruition so quickly!

Comment thread cmd/boulder-ra/main.go
Comment thread ra/ra.go
jprenken
jprenken previously approved these changes Feb 24, 2025

@jsha jsha left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The maxNames config in WFE was added in #7201. I don't see the reasoning in the description or review comments, but from context I'm pretty sure the idea was to prevent arbitrarily many writes to our key-value rate limit storage from a single new-order.

That check was hoisted up from transaction construction to WFE's NewOrder in #7530.

I think this PR would re-allow that behavior. Perhaps the right fix is, in our rate limit system, to just hardcode the highest maxNames we expect to ever have (100) and reject queries above that (for the relevant rate limits).

@aarongable aarongable dismissed stale reviews from jprenken and beautifulentropy via 8ed0cae February 25, 2025 17:44
jprenken
jprenken previously approved these changes Feb 25, 2025
@aarongable

Copy link
Copy Markdown
Contributor Author

I've addressed comments, moved the WFE's check into the ratelimit package, and fixed a WFE bug that I uncovered in the process. PTAL!

@aarongable aarongable merged commit a2141cb into main Feb 27, 2025
@aarongable aarongable deleted the profile-max-manes branch February 27, 2025 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow validation profile to control max names per order/cert

4 participants