From a2cb2bbc0ba984398dd79ff7bd37af8960f67ced Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Sat, 10 Feb 2018 17:27:19 +0100 Subject: services: certbot: Allow to set RSA key size. * doc/guix.texi (Certificate Services): Document it. * gnu/services/certbot.scm (, certbot-command, certbot-activation, certbot-nginx-server-configurations): Add it. --- gnu/services/certbot.scm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index a70a36591d..51f5d719aa 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -60,6 +60,8 @@ (certificates certbot-configuration-certificates (default '())) (email certbot-configuration-email) + (rsa-key-size certbot-configuration-rsa-key-size + (default #f)) (default-location certbot-configuration-default-location (default (nginx-location-configuration @@ -70,17 +72,20 @@ (define certbot-command (match-lambda (($ package webroot certificates email - default-location) + rsa-key-size default-location) (let* ((certbot (file-append package "/bin/certbot")) + (rsa-key-size (and rsa-key-size (number->string rsa-key-size))) (commands (map (match-lambda (($ name domains) - (list certbot "certonly" "-n" "--agree-tos" - "-m" email - "--webroot" "-w" webroot - "--cert-name" (or name (car domains)) - "-d" (string-join 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) '())))) certificates))) (program-file "certbot-command" @@ -100,7 +105,7 @@ (define (certbot-activation config) (match config (($ package webroot certificates email - default-location) + rsa-key-size default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) @@ -110,7 +115,7 @@ (define certbot-nginx-server-configurations (match-lambda (($ package webroot certificates email - default-location) + rsa-key-size default-location) (list (nginx-server-configuration (listen '("80" "[::]:80")) -- cgit v1.2.3