services: certbot: Support registration without email.

* gnu/services/certbot.scm (certbot-configuration): Add default for the
email option.
(certbot-command): Pass email for registration only when specified.
* doc/guix.texi (Certificate Services): "mandatory"→"optional" email.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Timotej Lazar 2020-09-11 13:55:55 +02:00 committed by Ludovic Courtès
parent 0f918908eb
commit 11a962e653
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 12 additions and 6 deletions

View File

@ -22478,9 +22478,10 @@ A list of @code{certificates-configuration}s for which to generate
certificates and request signatures. Each certificate has a @code{name}
and several @code{domains}.
@item @code{email}
Mandatory email used for registration, recovery contact, and important
account notifications.
@item @code{email} (default: @code{#f})
Optional email address used for registration and recovery contact.
Setting this is encouraged as it allows you to receive important
notifications about the account and issued certificates.
@item @code{server} (default: @code{#f})
Optional URL of ACME server. Setting this overrides certbot's default,

View File

@ -71,7 +71,8 @@
(default "/var/www"))
(certificates certbot-configuration-certificates
(default '()))
(email certbot-configuration-email)
(email certbot-configuration-email
(default #f))
(server certbot-configuration-server
(default #f))
(rsa-key-size certbot-configuration-rsa-key-size
@ -99,12 +100,14 @@
(if challenge
(append
(list name certbot "certonly" "-n" "--agree-tos"
"-m" email
"--manual"
(string-append "--preferred-challenges=" challenge)
"--cert-name" name
"--manual-public-ip-logging-ok"
"-d" (string-join domains ","))
(if email
`("--email" ,email)
'("--register-unsafely-without-email"))
(if server `("--server" ,server) '())
(if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
(if authentication-hook
@ -114,10 +117,12 @@
(if deploy-hook `("--deploy-hook" ,deploy-hook) '()))
(append
(list name certbot "certonly" "-n" "--agree-tos"
"-m" email
"--webroot" "-w" webroot
"--cert-name" name
"-d" (string-join domains ","))
(if email
`("--email" ,email)
'("--register-unsafely-without-email"))
(if server `("--server" ,server) '())
(if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
(if deploy-hook `("--deploy-hook" ,deploy-hook) '()))))))