diff options
author | Jack Hill <jackhill@jackhill.us> | 2020-03-05 15:39:48 -0500 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-03-08 21:21:57 +0100 |
commit | f6713b55a18e2e1310af772e7556ce803f52e527 (patch) | |
tree | 8ce5f17e84c6c6a5958446ec93c8b0e941b40207 | |
parent | 9ef37e81d6acae0de978abfdf0f5f19a0760bd71 (diff) | |
download | guix-f6713b55a18e2e1310af772e7556ce803f52e527.tar.gz |
services: certbot: Add server option.
* gnu/services/certbot.scm (certbot-configuration): Add server option. (certbot-command): Use server option. (certbot-actication): Use server option. (certbot-nginx-server-configurations): Use server option. * doc/guix.texi (Certificate Services): Document server option. Co-authored-by: Tobias Geerinckx-Rice <me@tobias.gr> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | doc/guix.texi | 5 | ||||
-rw-r--r-- | gnu/services/certbot.scm | 12 |
2 files changed, 14 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index fab9159530..2278cb6a53 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -74,6 +74,7 @@ Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* +Copyright @copyright{} 2020 Jack Hill@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -21008,6 +21009,10 @@ and several @code{domains}. Mandatory email used for registration, recovery contact, and important account notifications. +@item @code{server} (default: @code{#f}) +Optional URL of ACME server. Setting this overrides certbot's default, +which is the Let's Encrypt server. + @item @code{rsa-key-size} (default: @code{2048}) Size of the RSA key. diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 0d3be03383..3e005918d6 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -3,6 +3,8 @@ ;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +72,8 @@ (certificates certbot-configuration-certificates (default '())) (email certbot-configuration-email) + (server certbot-configuration-server + (default #f)) (rsa-key-size certbot-configuration-rsa-key-size (default #f)) (default-location certbot-configuration-default-location @@ -82,7 +86,7 @@ (define certbot-command (match-lambda (($ <certbot-configuration> package webroot certificates email - rsa-key-size default-location) + server 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 @@ -101,6 +105,7 @@ "--cert-name" name "--manual-public-ip-logging-ok" "-d" (string-join domains ",")) + (if server `("--server" ,server) '()) (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) (if authentication-hook `("--manual-auth-hook" ,authentication-hook) @@ -113,6 +118,7 @@ "--webroot" "-w" webroot "--cert-name" name "-d" (string-join domains ",")) + (if server `("--server" ,server) '()) (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) (if deploy-hook `("--deploy-hook" ,deploy-hook) '())))))) certificates))) @@ -142,7 +148,7 @@ (message (format #f (G_ "~a may need to be run~%") script))) (match config (($ <certbot-configuration> package webroot certificates email - rsa-key-size default-location) + server rsa-key-size default-location) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) @@ -154,7 +160,7 @@ (define certbot-nginx-server-configurations (match-lambda (($ <certbot-configuration> package webroot certificates email - rsa-key-size default-location) + server rsa-key-size default-location) (list (nginx-server-configuration (listen '("80" "[::]:80")) |