[PATCH] services: nginx-upstream-configuration: Allow file-like objects

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Tomas Volf
Owner
unassigned
Submitted by
Tomas Volf
Severity
normal
T
T
Tomas Volf wrote on 20 Jun 15:04 +0200
(address . guix-patches@gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
a74a949e28dc0f0a546ce35fefb4492e25435c01.1718888643.git.~@wolfsden.cz
* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like
objects.
* doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it.

Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705
---
This unifies the behavior with extra-content field in nginx-configuration.

doc/guix.texi | 11 ++++++++++-
gnu/services/web.scm | 4 ++--
2 files changed, 12 insertions(+), 3 deletions(-)

Toggle diff (37 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 55710dc968..f6f2788ed2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -32095,7 +32095,16 @@ Web Services
explicitly.

@item @code{extra-content}
-A string or list of strings to add to the upstream block.
+Additional content to be appended to the upstream block. Can be a
+string or file-like object or list of thereof. In case of list, each
+item is prefixed with indentation and suffixed with a new line. Nested
+lists are flattened.
+
+@lisp
+(extra-content "include /etc/nginx/custom-config.conf;")
+(extra-content `("include /etc/nginx/custom-config.conf;"
+ ("include " ,%custom-config.conf ";")))
+@end lisp

@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 340988fdd8..7424f7302f 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -701,8 +701,8 @@ (define (emit-nginx-upstream-config upstream)
(cons
"\n"
(map (lambda (line)
- (simple-format #f " ~A\n" line))
- (flatten extra-content)))
+ `(" " ,line "\n"))
+ extra-content))
'()))
" }\n"))

--
2.45.1
T
T
Tomas Volf wrote on 20 Jun 22:23 +0200
[PATCH v2] services: nginx-upstream-configuration: Allow file-like objects
(address . 71676@debbugs.gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
dfac4975cfbf673abbccc2efe3c948574fc70982.1718914984.git.~@wolfsden.cz
* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like
objects.
* doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it.

Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705
---
v2: Keep support for plain string or file-like object. I did not realize
that flatten also accepts non-lists and wraps them in a list.

doc/guix.texi | 11 ++++++++++-
gnu/services/web.scm | 6 ++++--
2 files changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 55710dc968..f6f2788ed2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -32095,7 +32095,16 @@ Web Services
explicitly.

@item @code{extra-content}
-A string or list of strings to add to the upstream block.
+Additional content to be appended to the upstream block. Can be a
+string or file-like object or list of thereof. In case of list, each
+item is prefixed with indentation and suffixed with a new line. Nested
+lists are flattened.
+
+@lisp
+(extra-content "include /etc/nginx/custom-config.conf;")
+(extra-content `("include /etc/nginx/custom-config.conf;"
+ ("include " ,%custom-config.conf ";")))
+@end lisp

@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 340988fdd8..8d81c926e8 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -701,8 +701,10 @@ (define (emit-nginx-upstream-config upstream)
(cons
"\n"
(map (lambda (line)
- (simple-format #f " ~A\n" line))
- (flatten extra-content)))
+ `(" " ,line "\n"))
+ (if (list? extra-content)
+ extra-content
+ (list extra-content))))
'()))
" }\n"))

--
2.45.1
T
T
Tomas Volf wrote on 6 Oct 17:22 +0200
[PATCH v3] services: nginx-upstream-configuration: Allow file-like objects
(address . 71676@debbugs.gnu.org)(name . Tomas Volf)(address . ~@wolfsden.cz)
734857b0ef0cc747f01f5cd45f6776fce89a9e64.1728228177.git.~@wolfsden.cz
* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like
objects.
* doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it.

Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705
---
v2: Keep support for plain string or file-like object. I did not realize
that flatten also accepts non-lists and wraps them in a list.
v3: Rebase on latest master.

doc/guix.texi | 11 ++++++++++-
gnu/services/web.scm | 6 ++++--
2 files changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 52e36e4354..b45b7c2c93 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -32229,7 +32229,16 @@ Web Services
explicitly.

@item @code{extra-content}
-A string or list of strings to add to the upstream block.
+Additional content to be appended to the upstream block. Can be a
+string or file-like object or list of thereof. In case of list, each
+item is prefixed with indentation and suffixed with a new line. Nested
+lists are flattened.
+
+@lisp
+(extra-content "include /etc/nginx/custom-config.conf;")
+(extra-content `("include /etc/nginx/custom-config.conf;"
+ ("include " ,%custom-config.conf ";")))
+@end lisp

@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index cc6f4e6d9b..39c0035405 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -703,8 +703,10 @@ (define (emit-nginx-upstream-config upstream)
(cons
"\n"
(map (lambda (line)
- (simple-format #f " ~A\n" line))
- (flatten extra-content)))
+ `(" " ,line "\n"))
+ (if (list? extra-content)
+ extra-content
+ (list extra-content))))
'()))
" }\n"))

--
2.46.0
L
L
Ludovic Courtès wrote on 20 Nov 23:41 +0100
(name . Tomas Volf)(address . ~@wolfsden.cz)
87jzcxtto2.fsf@gnu.org
Tomas Volf <~@wolfsden.cz> skribis:

Toggle quote (10 lines)
> * gnu/services/web.scm (emit-nginx-upstream-config): Support file-like
> objects.
> * doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it.
>
> Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705
> ---
> v2: Keep support for plain string or file-like object. I did not realize
> that flatten also accepts non-lists and wraps them in a list.
> v3: Rebase on latest master.

Applied, thanks!
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 71676
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