summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/certbot.scm32
1 files changed, 19 insertions, 13 deletions
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index 51f5d719aa..f90e4f04b2 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -78,22 +78,28 @@
             (commands
              (map
               (match-lambda
-                (($ <certificate-configuration> name domains)
-                 (append
-                  (list certbot "certonly" "-n" "--agree-tos"
-                        "-m" email
-                        "--webroot" "-w" webroot
-                        "--cert-name" (or name (car domains))
-                        "-d" (string-join domains ","))
-                  (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()))))
+                (($ <certificate-configuration> custom-name domains)
+                 (let ((name (or custom-name (car domains))))
+                   (append
+                    (list name certbot "certonly" "-n" "--agree-tos"
+                          "-m" email
+                          "--webroot" "-w" webroot
+                          "--cert-name" name
+                          "-d" (string-join domains ","))
+                    (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())))))
               certificates)))
        (program-file
         "certbot-command"
-        #~(let ((code 0))
-            (for-each
-             (lambda (command)
-               (set! code (or (apply system* command) code)))
-             '#$commands) code))))))
+        #~(begin
+            (use-modules (ice-9 match))
+            (let ((code 0))
+              (for-each
+               (match-lambda
+                 ((name . command)
+                  (begin
+                    (format #t "Acquiring or renewing certificate: ~a~%" name)
+                    (set! code (or (apply system* command) code)))))
+               '#$commands) code)))))))
 
 (define (certbot-renewal-jobs config)
   (list