Subject: [PATCH] gnu: services: certbot: Add missing activation directory

From: Mája Tomášek <[email-masked]>
Date: Fri, 23 Sep 2022 12:27:03 +0200

When trying to run certbot, the mcron command fails, as
 /etc/letsencrypt/live is missing. This patch Adds it into the certbot
 activation service.

 ---
 gnu/services/certbot.scm | 2 ++
 1 file changed, 2 insertions(+)

 diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
 index 1c819bef48..7dfdad9874 100644
 --- a/gnu/services/certbot.scm
 +++ b/gnu/services/certbot.scm
 @@ -154,6 +154,7 @@ (define (certbot-renewal-jobs config)
 
 (define (certbot-activation config)
   (let* ((certbot-directory "/var/lib/certbot")
 +         (certbot-cert-directory "/etc/letsencrypt/live")
          (script (in-vicinity certbot-directory "renew-certificates"))
          (message (format #f (G_ "~a may need to be run~%") script)))
     (match config
 @@ -164,6 +165,7 @@ (define (certbot-activation config)
              (use-modules (guix build utils))
              (mkdir-p #$webroot)
              (mkdir-p #$certbot-directory)
 +             (mkdir-p #$certbot-cert-directory)
              (copy-file #$(certbot-command config) #$script)
              (display #$message)))))))
 
 -- 
 2.37.3