Relay: each relay's certificate, ordered by DNS-01 (RL-27) #269

Merged
jcoffey-dev merged 1 commits from relay/certificates into main 2026-10-30 23:27:25 +00:00
1 Commits
Author SHA1 Message Date
jcoffey-dev de3c4f0c75 Relay: each relay's certificate, ordered by DNS-01 (RL-27)
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 9m26s
A joined relay whose certificate is missing, for another name, or runs
out within 30 days gets one for its public name, when the name is under
a domain whose DNS and certificates are both Automatic here. The order
uses that domain's ACME provider and DNS server, always by DNS-01, for
the public name alone and with a key of its own: never the domain's
wildcard key. A renewal keeps the relay's key.

The link service checks at each scan. One node orders: it claims the
order under `c` + relay id first. A failed order waits six hours, for
the provider's rate limits, and its reason is the relay's new
certificateError; certificateNotAfter reads the stored certificate. The
certificate goes on the relay unless its public name changed meanwhile,
and every link pushes it. Without such a domain, nothing is ordered and
an administrator uploads one, as before.

Tested against pebble in the automation tests.
2026-10-30 15:19:25 -07:00