feat(deploy): announce the HTTP-only certificate window in the deploy log - #580
Open
Farahat612 wants to merge 1 commit into
Open
feat(deploy): announce the HTTP-only certificate window in the deploy log#580Farahat612 wants to merge 1 commit into
Farahat612 wants to merge 1 commit into
Conversation
… log A freshly routed domain answers on HTTP immediately, but the edge only emits its :443 block once the certificate is on disk: so for the ~1 minute certbot takes, HTTPS is dark and the deploy log said nothing about it. The pipeline is correct; the silence made it look broken, and it has been reported as an SSL bug more than once (TODO.md item). createTrackedSslProvider now runs the provider's read-only verifyCert before issuing: reason "missing" is the same certsExist() gate the edge uses, i.e. the genuine dark window. In that state the log announces "<host> is live on HTTP: provisioning the certificate, HTTPS in ~1 min." and, when issuance lands, "SSL certificate issued: <host> is now live on HTTPS." A redeploy with a cert already on disk keeps the old wording and never claims a window that doesn't exist. Both verified-row failure lines now carry the provider's own failure summary (Reason: …) instead of ending at "will retry in the background". Issuance stays best-effort; no deploy semantics change. Tests cover the three states at the createTrackedSslProvider seam: the dark-window announcement + HTTPS confirmation, the no-false-claim redeploy, and the certbot summary reaching the log. Removes the resolved TODO.md subsection.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A freshly routed domain answers on HTTP immediately, but the edge only
emits its :443 block once the certificate is on disk: so for the ~1
minute certbot takes, HTTPS is dark and the deploy log said nothing
about it. The pipeline is correct; the silence made it look broken, and
it has been reported as an SSL bug more than once (TODO.md item).
createTrackedSslProvider now runs the provider's read-only verifyCert
before issuing: reason "missing" is the same certsExist() gate the edge
uses, i.e. the genuine dark window. In that state the log announces
" is live on HTTP: provisioning the certificate, HTTPS in ~1
min." and, when issuance lands, "SSL certificate issued: is now
live on HTTPS." A redeploy with a cert already on disk keeps the old
wording and never claims a window that doesn't exist. Both verified-row
failure lines now carry the provider's own failure summary (Reason: …)
instead of ending at "will retry in the background". Issuance stays
best-effort; no deploy semantics change.
Tests cover the three states at the createTrackedSslProvider seam: the
dark-window announcement + HTTPS confirmation, the no-false-claim
redeploy, and the certbot summary reaching the log. Removes the resolved
TODO.md subsection.
Implements the TODO.md item "SSL provisioning is invisible in the deploy log"
as written there (the roughly one-minute HTTP-only window keeps being
reported as an SSL bug). The provisioning line only fires when verifyCert
reports the certificate genuinely missing, the same certsExist() state that
gates the :443 vhost, so a redeploy with a live certificate never claims a
dark window. Failure lines now carry the provider's own summary
(summarizeCertbotFailure output) instead of ending at "will retry in the
background". Issuance stays best-effort; no deploy semantics change. Removes
the resolved TODO section.
How verified: three tests at the createTrackedSslProvider seam (the
announcement plus HTTPS confirmation, the no-false-claim redeploy, and the
certbot summary reaching the log); they fail on main. Full apps/api suite
green (2996 tests), typecheck clean.