From 6760ddefdb9dedabba6252618a5acaea45e845ab Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 16 Feb 2018 18:19:42 +0000 Subject: services: nginx: Support extra content in the http block. This helpful when adding content to the nginx configuration file, which isn't supported by the record type used for the configuration. For example, like adding proxy_cache_path configuration. * gnu/packages/web.scm (): Add new extra-content field. (nginx-configuration-extra-content): New field accessor. (default-nginx-config): Add support for the extra-content field. * doc/guix.texi (NGINX): Document the new extra-content field. --- doc/guix.texi | 4 ++++ gnu/services/web.scm | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a12210db8a..36742c63c9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15786,6 +15786,10 @@ use the size of the processors cache line. @item @code{server-names-hash-bucket-max-size} (default: @code{#f}) Maximum bucket size for the server names hash tables. +@item @code{extra-content} (default: @code{'()}) +Extra content for the @code{http} block. Should be a list of strings or +G-expressions. + @end table @end deffn diff --git a/gnu/services/web.scm b/gnu/services/web.scm index b336a8dd30..16ccbb239e 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -73,6 +73,7 @@ nginx-configuration-upstream-blocks nginx-configuration-server-names-hash-bucket-size nginx-configuration-server-names-hash-bucket-max-size + nginx-configuration-extra-content nginx-configuration-file @@ -423,6 +424,8 @@ (default #f)) (server-names-hash-bucket-max-size nginx-configuration-server-names-hash-bucket-max-size (default #f)) + (extra-content nginx-configuration-extra-content + (default '())) (file nginx-configuration-file ;#f | string | file-like (default #f))) @@ -513,7 +516,8 @@ of index files." (nginx log-directory run-directory server-blocks upstream-blocks server-names-hash-bucket-size - server-names-hash-bucket-max-size) + server-names-hash-bucket-max-size + extra-content) (apply mixed-text-file "nginx.conf" (flatten "user nginx nginx;\n" @@ -542,7 +546,8 @@ of index files." "\n" (map emit-nginx-upstream-config upstream-blocks) (map emit-nginx-server-config server-blocks) - "}\n" + extra-content + "\n}\n" "events {}\n")))) (define %nginx-accounts -- cgit v1.2.3