~ruther/guix-local

b05fc57386d37c592d56bd9f52b66f4c57f472f5 — Daniel Lakeland 7 months ago 3512a3f
services: keepalived: Add ‘shepherd-requirement’ field.

* gnu/services/networking.scm (<keepalived-configuration>)[shepherd-requirement]:
New field.
(keepalived-shepherd-service): Honor it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 5 insertions(+), 3 deletions(-)

M gnu/services/networking.scm
M gnu/services/networking.scm => gnu/services/networking.scm +5 -3
@@ 3003,15 3003,17 @@ of the IPFS peer-to-peer storage network.")))
  (keepalived  keepalived-configuration-keepalived  ;file-like
               (default keepalived))
  (config-file keepalived-configuration-config-file ;file-like
               (default #f)))
               (default #f))
  (shepherd-requirement keepalived-configuration-shepherd-requirement
                        (default '(networking user-processes))))

(define (keepalived-shepherd-service config)
  (match-record config <keepalived-configuration>
    (keepalived config-file)
    (keepalived config-file shepherd-requirement)
    (list (shepherd-service
           (provision '(keepalived))
           (documentation "Run keepalived.")
           (requirement '(loopback))
           (requirement shepherd-requirement)
           (start #~(make-forkexec-constructor
                     (list (string-append #$keepalived "/sbin/keepalived")
                           "--dont-fork" "--log-console" "--log-detail"