aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Lassieur <clement@lassieur.org>2018-03-19 21:10:31 +0100
committerClément Lassieur <clement@lassieur.org>2018-04-03 16:21:31 +0200
commitf72662968e757ed79eefa1990b5b94d802571632 (patch)
tree31b84449bb40d38b95a9c3c9329a24484af09df1
parent7ba22308975f31c33d7a9cbb5c09be1837a74d2a (diff)
downloadguix-f72662968e757ed79eefa1990b5b94d802571632.tar.gz
guix-f72662968e757ed79eefa1990b5b94d802571632.zip
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.
-rw-r--r--gnu/services/certbot.scm22
1 files changed, 14 insertions, 8 deletions
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index a2a200f032..7548145c98 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -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