letsencrypt / letsencrypt/pebble
Make it easier to generate Retry-After headers
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 787
- Forks
- 176
- PR merge metrics
- No merged PRs in 30d
Description
I could be reading the docs and code wrong, but it seems the only way to generate "retry-after" headers for polling is by actually validating and using the sleep vars; i.e. this implies it is impossible to generate these headers with PEBBLE_VA_ALWAYS_VALID=1 or PEBBLE_AUTHZREUSE=100, which complicates the testing environment needed to ensure the header values are respected.
It would be nice if a PEBBLE_XXX variable could be used in conjunction with the above commands to somehow generate the retry-after headers. Perhaps a flag could just simply stall these authorizations for X seconds before transitioning to valid; or even if there is something that could give every endpoint/request an X seconds retry-after response on a first access - then a Client Author could spin up a "retry" version of pebble to ensure the throttles are being properly respected.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how PEBBLE_VA_ALWAYS_VALID, PEBBLE_AUTHZREUSE, and the existing polling sleep variables affect authorization state transitions and Retry-After responses. Done should mean a configurable test mode can produce predictable Retry-After headers without requiring normal validation or reuse behavior, with coverage for clients respecting the resulting throttles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100