GitLab Pages: Handle LetsEncrypt errors in the main service body

What does this MR do and why?

Related to #472546 (closed).

This MR fixes these Sentry reports for unhandled Acme::Client::Error::BadCSR, because they happen at a particular point in ObtainLetsEncryptCertificateService that wasn't covered by previous efforts in !162300 (merged).

Similarly to !162300 (merged), this gracefully handles the error and sends the user a mail notification.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Unfortunately there's no reliable setup for the error and we have to rely on specs. The offending domain names are not recorded in the Sentry reports either.

Edited by Piotr Skorupa

Merge request reports

Loading