Subject: [bug#28504] [PATCH] cuirass: Add --listen command line option.

From: Jan Nieuwenhuizen <[email-masked]>
Date: Tue, 19 Sep 2017 17:32:16 +0200

Ludovic Courtès writes:

>> * bin/cuirass.in (show-help): Add help for --listen option.
>> (%options): Add listen option.
>> (main): Pass host to run-cuirass-server.
>> * doc/cuirass.texi (Invocation): Add --listen option.
>> * src/cuirass/http.scm (run-cuirass-server): Add named #:host parameter.
>
> Good idea, LGTM thanks!

Pushed to guix-cuirass master as 2a4d493e28100b8eca7d23300dd872c9f99e1f16

Attached is the corresponding Guixy side (or should I close this one and
open a new bug?).

Greetings,
janneke

>From 5e14a890c0ffa1b9a753be8b9a9d516f14a6955f Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <[email-masked]>
Date: Mon, 18 Sep 2017 22:12:18 +0200
Subject: [PATCH] services: cuirass: Add host option.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add host option.
(cuirass-shepherd-service): Pass host option.
* doc/guix.texi (Continuous Integration): Document it.
---
 doc/guix.texi            | 4 ++++
 gnu/services/cuirass.scm | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 1356a357c..deb055e29 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -15335,6 +15335,10 @@ added specifications.
 @item @code{port} (default: @code{8081})
 Port number used by the HTTP server.
 
+@item --listen=@var{host}
+Listen on the network interface for @var{host}.  The default is to
+accept connections from localhost.
+
 @item @code{specifications} (default: @code{#~'()})
 A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
 where a specification is an association list
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 2ad595220..c5e9fcbb2 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Mathieu Lirzin <[email-masked]>
 ;;; Copyright © 2016, 2017 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2017 Mathieu Othacehe <[email-masked]>
+;;; Copyright © 2017 Jan Nieuwenhuizen <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,6 +62,8 @@
                     (default "/var/run/cuirass/cuirass.db"))
   (port             cuirass-configuration-port ;integer (port)
                     (default 8081))
+  (host             cuirass-configuration-host ;string
+                    (default "localhost"))
   (specifications   cuirass-configuration-specifications)
                                   ;gexp that evaluates to specification-alist
   (use-substitutes? cuirass-configuration-use-substitutes? ;boolean
@@ -84,6 +87,7 @@
          (interval         (cuirass-configuration-interval config))
          (database         (cuirass-configuration-database config))
          (port             (cuirass-configuration-port config))
+         (host             (cuirass-configuration-host config))
          (specs            (cuirass-configuration-specifications config))
          (use-substitutes? (cuirass-configuration-use-substitutes? config))
          (one-shot?        (cuirass-configuration-one-shot? config))
@@ -100,6 +104,7 @@
                             #$(scheme-file "cuirass-specs.scm" specs)
                             "--database" #$database
                             "--port" #$(number->string port)
+                            "--listen" #$host
                             "--interval" #$(number->string interval)
                             #$@(if use-substitutes? '("--use-substitutes") '())
                             #$@(if one-shot? '("--one-shot") '())
-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com