This repository has been archived by the owner on Mar 6, 2023. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
/kind bug
What this PR does / why we need it:
Currently, when an order is
ready
,openshift-acme
calls the go ACME library to submit the CSR and obtain the certificate. The library waits until the certificate is returned. Therefore, if the ACME server takes too long, the library will timeout and no certificate is configured. But the ACME server still creates the certificate and switches the order tovalid
. However,openshift-acme
does nothing with that, and the certificate is never pushed to theRoute
.This PR extends the logic to allow obtaining the certificate in
valid
state.Which issue(s) this PR fixes:
The ability to obtain certificates asynchronously, fixing problems with ACME servers that take longer than the ACME library timeout to generate certificates.
Special notes for your reviewer:
Please excuse the crudity of this PR, I didn't have time to build it do scale or to paint it, as this was an emergency fix for our systems. There is some duplicated code and I didn't clean up the comments.
Does this PR introduce a user-facing change?:
No