services: certbot: Don't try to renew certificates on activation.

Because it takes too much time and it requires networking.

Thanks to Mathieu Othacehe for suggesting this.

* gnu/services/certbot.scm (certbot-activation): Do not run the renewal
command, copy its path to a fixed location, display it, so that the user can
run the command when they want.
master
Clément Lassieur 2018-03-19 21:10:31 +01:00
parent 7ba2230897
commit f72662968e
No known key found for this signature in database
GPG Key ID: 89F96D4808F359C7
1 changed files with 14 additions and 8 deletions

View File

@ -26,6 +26,7 @@
#:use-module (gnu services web)
#:use-module (gnu system shadow)
#:use-module (gnu packages tls)
#:use-module (guix i18n)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@ -113,14 +114,19 @@
#$(certbot-command config))))
(define (certbot-activation config)
(match config
(($ <certbot-configuration> package webroot certificates email
rsa-key-size default-location)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$webroot)
(zero? (system* #$(certbot-command config))))))))
(let* ((certbot-directory "/var/lib/certbot")
(script (in-vicinity certbot-directory "renew-certificates"))
(message (format #f (G_ "~a may need to be run~%") script)))
(match config
(($ <certbot-configuration> package webroot certificates email
rsa-key-size default-location)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$webroot)
(mkdir-p #$certbot-directory)
(copy-file #$(certbot-command config) #$script)
(display #$message)))))))
(define certbot-nginx-server-configurations
(match-lambda