diff options
| author | Christopher Baines <mail@cbaines.net> | 2022-06-23 12:38:37 +0100 |
|---|---|---|
| committer | Christopher Baines <mail@cbaines.net> | 2022-07-01 09:45:28 +0100 |
| commit | b5c6062bcec9530a9c4044a1bd1091fdebf9bc74 (patch) | |
| tree | 5c8e017bbc00a4e000e72537b1d86c1486268420 /gnu/services | |
| parent | 9a2a77b6ada212e5c47d0e9fe8446130ba632afe (diff) | |
services: nginx: Add support for extra content in upstream blocks.
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.
Diffstat (limited to 'gnu/services')
| -rw-r--r-- | gnu/services/web.scm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 4f06d4e0bbc..4434fecf02c 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm | |||
| @@ -120,6 +120,7 @@ | |||
| 120 | nginx-upstream-configuration? | 120 | nginx-upstream-configuration? |
| 121 | nginx-upstream-configuration-name | 121 | nginx-upstream-configuration-name |
| 122 | nginx-upstream-configuration-servers | 122 | nginx-upstream-configuration-servers |
| 123 | nginx-upstream-configuration-extra-content | ||
| 123 | 124 | ||
| 124 | nginx-location-configuration | 125 | nginx-location-configuration |
| 125 | nginx-location-configuration? | 126 | nginx-location-configuration? |
| @@ -517,7 +518,9 @@ | |||
| 517 | nginx-upstream-configuration make-nginx-upstream-configuration | 518 | nginx-upstream-configuration make-nginx-upstream-configuration |
| 518 | nginx-upstream-configuration? | 519 | nginx-upstream-configuration? |
| 519 | (name nginx-upstream-configuration-name) | 520 | (name nginx-upstream-configuration-name) |
| 520 | (servers nginx-upstream-configuration-servers)) | 521 | (servers nginx-upstream-configuration-servers) |
| 522 | (extra-content nginx-upstream-configuration-extra-content | ||
| 523 | (default '()))) | ||
| 521 | 524 | ||
| 522 | (define-record-type* <nginx-location-configuration> | 525 | (define-record-type* <nginx-location-configuration> |
| 523 | nginx-location-configuration make-nginx-location-configuration | 526 | nginx-location-configuration make-nginx-location-configuration |
| @@ -643,6 +646,15 @@ of index files." | |||
| 643 | (map (lambda (server) | 646 | (map (lambda (server) |
| 644 | (simple-format #f " server ~A;\n" server)) | 647 | (simple-format #f " server ~A;\n" server)) |
| 645 | (nginx-upstream-configuration-servers upstream)) | 648 | (nginx-upstream-configuration-servers upstream)) |
| 649 | (let ((extra-content | ||
| 650 | (nginx-upstream-configuration-extra-content upstream))) | ||
| 651 | (if (and extra-content (not (null? extra-content))) | ||
| 652 | (cons | ||
| 653 | "\n" | ||
| 654 | (map (lambda (line) | ||
| 655 | (simple-format #f " ~A\n" line)) | ||
| 656 | (flatten extra-content))) | ||
| 657 | '())) | ||
| 646 | " }\n")) | 658 | " }\n")) |
| 647 | 659 | ||
| 648 | (define (flatten . lst) | 660 | (define (flatten . lst) |
