[PATCH] services: nginx: Add support for extra content in upstream blocks.

  • Done
  • quality assurance status badge
Details
One participant
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal

Debbugs page

Christopher Baines wrote 3 years ago
(address . guix-patches@gnu.org)
20220623114500.13409-1-mail@cbaines.net
I'm looking at this as I'd like to use the keepalive functionality.

* gnu/services/web.scm (nginx-upstream-configuration-extra-content): New
procedure.
(emit-nginx-upstream-config): Include the extra-content if applicable.
* doc/guix.texi (NGINX): Document this.
---
doc/guix.texi | 3 +++
gnu/services/web.scm | 14 +++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)

Toggle diff (55 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index bbb7d0764d..0a96ad1852 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -28490,6 +28490,9 @@ prefix @samp{unix:}. For addresses using an IP address or domain name,
the default port is 80, and a different port can be specified
explicitly.
+@item @code{extra-content}
+A string or list of strings to add to the upstream block.
+
@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 4f06d4e0bb..4434fecf02 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -120,6 +120,7 @@ (define-module (gnu services web)
nginx-upstream-configuration?
nginx-upstream-configuration-name
nginx-upstream-configuration-servers
+ nginx-upstream-configuration-extra-content
nginx-location-configuration
nginx-location-configuration?
@@ -517,7 +518,9 @@ (define-record-type* <nginx-upstream-configuration>
nginx-upstream-configuration make-nginx-upstream-configuration
nginx-upstream-configuration?
(name nginx-upstream-configuration-name)
- (servers nginx-upstream-configuration-servers))
+ (servers nginx-upstream-configuration-servers)
+ (extra-content nginx-upstream-configuration-extra-content
+ (default '())))
(define-record-type* <nginx-location-configuration>
nginx-location-configuration make-nginx-location-configuration
@@ -643,6 +646,15 @@ (define (emit-nginx-upstream-config upstream)
(map (lambda (server)
(simple-format #f " server ~A;\n" server))
(nginx-upstream-configuration-servers upstream))
+ (let ((extra-content
+ (nginx-upstream-configuration-extra-content upstream)))
+ (if (and extra-content (not (null? extra-content)))
+ (cons
+ "\n"
+ (map (lambda (line)
+ (simple-format #f " ~A\n" line))
+ (flatten extra-content)))
+ '()))
" }\n"))
(define (flatten . lst)
--
2.36.1
Christopher Baines wrote 3 years ago
(name . Christopher Baines)(address . mail@cbaines.net)(address . 56164-done@debbugs.gnu.org)
878rpd1amf.fsf@cbaines.net
Christopher Baines <mail@cbaines.net> writes:

Toggle quote (11 lines)
> I'm looking at this as I'd like to use the keepalive functionality.
>
> * gnu/services/web.scm (nginx-upstream-configuration-extra-content): New
> procedure.
> (emit-nginx-upstream-config): Include the extra-content if applicable.
> * doc/guix.texi (NGINX): Document this.
> ---
> doc/guix.texi | 3 +++
> gnu/services/web.scm | 14 +++++++++++++-
> 2 files changed, 16 insertions(+), 1 deletion(-)

I've gone ahead and pushed this as
b5c6062bcec9530a9c4044a1bd1091fdebf9bc74.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmK+tPhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeoLA//ZbmgSTU0TejgnFUDFyNK73Tzz5sVVPtx
rzLkytSnWZJoawaneqqTt8YvwJiB6LmjNMEM8B5tqxA2SnegYfOmdTeTB44EMr8k
bH/ots3dDIs0hdlmy3VnWD1CFYifBrCTaaCAGWFlqB+KwLCA3TiF2FSswr2nfQC6
AYez3QfcXNcReC9s1NlJ0VJ1nq/uOI0MYdb1Hilc/P3ZetpLPje/iBSaGcOn3xdH
2FqClXan/Ise+Bt5wbr2nmZjceqyOUBLDcyxwuI2x37cTn7yyzcjmjW/YBja63bl
y5oVxXfcoklAWNmGbVFll52QhwzI/NtFaKE2sTplLVfGN81shWuJ2w5rTdCPzVZy
qX+/BIchlqy2rjXxsPueP0ul8f8EkG3N4yxKGd3HxPXZchiRJ6xeYZ2w8p1zgK8u
g/s/xBjt8SfxWkrwaCqVysPPr9lYwkoEE5PT4mWWNjV9ezDXK54H//PuZfpl44/x
8NXbhMLX8ZKst6NvHFKzZS7BRTX158UaAedy0DpBiJh5aIw6XTUpO4IrGhnMLffr
Rb/eDyGHUlD9qgCqJmjv66BE3WAr/4P0dxpg+vLlv5+ZG+BYUY0hVWbcWEU5KyJX
hcWYwrH+W70opjbRVO5IMSdMr0BaeYEpQq/rvwoyWcQHBF6h/PVS5EEjhwA1wjrZ
ROBrORVqjXM=
=Xne/
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 56164@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 56164
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help