summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-12-14 22:31:37 +0100
committerLudovic Courtès <ludo@gnu.org>2023-12-14 23:12:24 +0100
commit401755536787c4ae50dec5733a162b6e4ae1a569 (patch)
treef2c04cb831804b18aa022e12132cbdf2719ae006 /gnu
parent1de1b975be97340ece33356430add3837f5eaae1 (diff)
downloadguix-401755536787c4ae50dec5733a162b6e4ae1a569.tar.gz
services: hpcguix-web: Add ‘configuration’ action.
* gnu/services/web.scm (hpcguix-web-shepherd-service): Define
‘config-file’ and use it.  Add ‘actions’ field.

Change-Id: I085df403270039ede3c13f21a5d60682c7510e2e
Diffstat (limited to 'gnu')
-rw-r--r--gnu/services/web.scm12
1 files changed, 6 insertions, 6 deletions
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 9fd2a3f742..55cc095d90 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -1229,8 +1229,9 @@ a webserver.")
          (frequency 'weekly))))
 
 (define (hpcguix-web-shepherd-service config)
-  (let ((specs       (hpcguix-web-configuration-specs config))
-        (hpcguix-web (hpcguix-web-package config)))
+  (let* ((specs       (hpcguix-web-configuration-specs config))
+         (config-file (and specs (scheme-file "hpcguix-web.scm" specs)))
+         (hpcguix-web (hpcguix-web-package config)))
     (with-imported-modules (source-module-closure
                             '((gnu build shepherd)))
       (shepherd-service
@@ -1246,9 +1247,7 @@ a webserver.")
                        #$(number->string
                           (hpcguix-web-configuration-port config))
                        #$@(if specs
-                              #~((string-append "--config="
-                                                #$(scheme-file
-                                                   "hpcguix-web.scm" specs)))
+                              #~((string-append "--config=" #$config-file))
                               #~()))
                  #:user "hpcguix-web"
                  #:group "hpcguix-web"
@@ -1256,7 +1255,8 @@ a webserver.")
                  (list "XDG_CACHE_HOME=/var/cache/guix/web"
                        "SSL_CERT_DIR=/etc/ssl/certs")
                  #:log-file #$%hpcguix-web-log-file))
-       (stop #~(make-kill-destructor))))))
+       (stop #~(make-kill-destructor))
+       (actions (list (shepherd-configuration-action config-file)))))))
 
 (define hpcguix-web-service-type
   (service-type