diff mbox series

[bug#49213,v1] services: certbot: Add option to use CSR file.

Message ID 20210624185111.5959-1-rg@raghavgururajan.name
State Accepted
Headers show
Series [bug#49213,v1] services: certbot: Add option to use CSR file. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Raghav Gururajan June 24, 2021, 6:51 p.m. UTC
* gnu/services/certbot.scm (<certificate-configuration>): Add csr field.
(certbot-command): Modify.
* doc/guix.texi (Certificate Services): Document it.
---
 doc/guix.texi            | 6 ++++++
 gnu/services/certbot.scm | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

Comments

Raghav Gururajan June 24, 2021, 10:39 p.m. UTC | #1
Pushed as 1bf1226a4f.
M June 30, 2021, 7:56 p.m. UTC | #2
Raghav Gururajan via Guix-patches via schreef op do 24-06-2021 om 18:39 [-0400]:
> Pushed as 1bf1226a4f.

Hi,

Do I understand correctly that this patch series
was pushed a day after it was sent? AFAIK the series is good
though I don't know anything about CSR, but, as the guix manual notes:

   For anything else, please post to <guix-patches@gnu.org> and leave
time for a review, without committing anything (*note Submitting
Patches::).  If you didn’t receive any reply after two weeks, and if
you’re confident, it’s OK to commit.

One day seems a lot less than two weeks, and I haven't seen
a reply. Did I miss any replies, or was it ‘replied’ to on IRC,
or ...?

TBF, the manual also notes

   That last part is subject to being adjusted, allowing individuals to
commit directly on non-controversial changes on parts they’re familiar
with.

which might or might not apply.

Greetings,
Maxime.
Raghav Gururajan June 30, 2021, 8:16 p.m. UTC | #3
Hi Maixme!

> One day seems a lot less than two weeks, and I haven't seen
> a reply. Did I miss any replies, or was it ‘replied’ to on IRC,
> or ...?

Sorry about that. I was interacting with Tobias in IRC about this patch 
that day (https://logs.guix.gnu.org/guix/2021-06-25.log). After some 
corrections, I was confident about that the patch with testing and I 
pushed it. That said. I'll leave the future threads for more time 
despite discussing on IRC. :)

Regards,
RG.
Jonathan Brielmaier June 30, 2021, 8:20 p.m. UTC | #4
On 30.06.21 22:16, Raghav Gururajan via Guix-patches via wrote:
> Hi Maixme!
>
>> One day seems a lot less than two weeks, and I haven't seen
>> a reply. Did I miss any replies, or was it ‘replied’ to on IRC,
>> or ...?
>
> Sorry about that. I was interacting with Tobias in IRC about this patch
> that day (https://logs.guix.gnu.org/guix/2021-06-25.log). After some
> corrections, I was confident about that the patch with testing and I
> pushed it. That said. I'll leave the future threads for more time
> despite discussing on IRC. :)

In that case I think its not really necessary to leave the patch longer
on the mailing list. Instead you could add something like "reviewed
together with XY in IRC" on your closing email :)
M July 1, 2021, 8:05 a.m. UTC | #5
Jonathan Brielmaier schreef op wo 30-06-2021 om 22:20 [+0200]:
> On 30.06.21 22:16, Raghav Gururajan via Guix-patches via wrote:
> > Hi Maixme!
> > Sorry about that. I was interacting with Tobias in IRC about this patch
> > that day (https://logs.guix.gnu.org/guix/2021-06-25.log). After some
> > corrections, I was confident about that the patch with testing and I
> > pushed it. That said. I'll leave the future threads for more time
> > despite discussing on IRC. :)
> 
> In that case I think its not really necessary to leave the patch longer
> on the mailing list. Instead you could add something like "reviewed
> together with XY in IRC" on your closing email :)

Yes, agreed on both points.

Greetings,
Maxime.
diff mbox series

Patch

diff --git a/doc/guix.texi b/doc/guix.texi
index 15e8999447..689d6498a9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -25934,6 +25934,12 @@  the documentation at @url{https://certbot.eff.org/docs/using.html#hooks}),
 and gives Let's Encrypt permission to log the public IP address of the
 requesting machine.
 
+@item @code{csr} (default: @code{#f})
+Path to a Certificate Signing Request (CSR) in DER or PEM format.  If @code{#f}
+is specified, this argument will not be passed to certbot.  If a value is passed,
+certbot uses it to obtain certificate, instead of using randomly generated
+private-key.
+
 @item @code{authentication-hook} (default: @code{#f})
 Command to be run in a shell once for each certificate challenge to be
 answered.  For this command, the shell variable @code{$CERTBOT_DOMAIN}
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index 1c67ff63f1..9a3822a679 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -55,6 +55,8 @@ 
                        (default '()))
   (challenge           certificate-configuration-challenge
                        (default #f))
+  (csr                     certificate-configuration-csr
+                       (default #f))
   (authentication-hook certificate-authentication-hook
                        (default #f))
   (cleanup-hook        certificate-cleanup-hook
@@ -95,7 +97,7 @@ 
               (match-lambda
                 (($ <certificate-configuration> custom-name domains challenge
                                                 authentication-hook cleanup-hook
-                                                deploy-hook)
+                                                deploy-hook csr)
                  (let ((name (or custom-name (car domains))))
                    (if challenge
                      (append
@@ -110,6 +112,7 @@ 
                           '("--register-unsafely-without-email"))
                       (if server `("--server" ,server) '())
                       (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
+                      (if csr `("--csr" ,csr) '())
                       (if authentication-hook
                           `("--manual-auth-hook" ,authentication-hook)
                           '())
@@ -125,6 +128,7 @@ 
                           '("--register-unsafely-without-email"))
                       (if server `("--server" ,server) '())
                       (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
+                      (if csr `("--csr" ,csr) '())
                       (if deploy-hook `("--deploy-hook" ,deploy-hook) '()))))))
               certificates)))
        (program-file