diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-09-06 16:12:56 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-09-06 16:58:12 +0200 |
commit | 8c5065c6d1036012996e4812788e48ca74bc1294 (patch) | |
tree | ea25f45645332c8d50e4857fc4d9e32782b09091 | |
parent | 61b63e7fa73be8828af2b36d196c3676c974e119 (diff) |
services: nginx: Add 'shepherd-requirement' configuration field.
* gnu/services/web.scm (<nginx-configuration>)[shepherd-requirement]:
New field.
(nginx-shepherd-service): Honor it.
* doc/guix.texi (Web Services): Document it.
-rw-r--r-- | doc/guix.texi | 8 | ||||
-rw-r--r-- | gnu/services/web.scm | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d573695e72..20abfee772 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -28841,6 +28841,14 @@ types, or alternatively, a config file can be provided. @item @code{nginx} (default: @code{nginx}) The nginx package to use. +@item @code{shepherd-requirement} (default: @code{'()}) +This is a list of symbols naming Shepherd services the nginx service +will depend on. + +This is useful if you would like @command{nginx} to be started after a +back-end web server or a logging service such as Anonip has been +started. + @item @code{log-directory} (default: @code{"/var/log/nginx"}) The directory to which NGinx will write log files. diff --git a/gnu/services/web.scm b/gnu/services/web.scm index f0c7e90cbf..b144cf7076 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -93,6 +93,7 @@ nginx-configuration nginx-configuration? nginx-configuration-nginx + nginx-configuration-shepherd-requirement nginx-configuration-log-directory nginx-configuration-run-directory nginx-configuration-server-blocks @@ -556,6 +557,8 @@ nginx-configuration? (nginx nginx-configuration-nginx ;file-like (default nginx)) + (shepherd-requirement nginx-configuration-shepherd-requirement + (default '())) ;list of symbols (log-directory nginx-configuration-log-directory ;string (default "/var/log/nginx")) (run-directory nginx-configuration-run-directory ;string @@ -779,7 +782,7 @@ of index files." (define (nginx-shepherd-service config) (match-record config <nginx-configuration> - (nginx file run-directory) + (nginx file run-directory shepherd-requirement) (let* ((nginx-binary (file-append nginx "/sbin/nginx")) (pid-file (in-vicinity run-directory "pid")) (nginx-action @@ -803,7 +806,7 @@ of index files." (list (shepherd-service (provision '(nginx)) (documentation "Run the nginx daemon.") - (requirement '(user-processes loopback)) + (requirement `(user-processes loopback ,@shepherd-requirement)) (modules `((ice-9 match) ,@%default-modules)) (start (nginx-action "-p" run-directory)) |