about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-07-03 16:34:34 +0100
committerArun Isaac2026-07-03 16:34:34 +0100
commitb4bfdd45c17b7fc558168f449819d7b61b9ceaa5 (patch)
treef4e2884ec0dd5c835aa4209ec42309727097de7f
parentcbd8069b0f0aec161798b81e1882771ef9c1c76a (diff)
downloadguix-forge-b4bfdd45c17b7fc558168f449819d7b61b9ceaa5.tar.gz
guix-forge-b4bfdd45c17b7fc558168f449819d7b61b9ceaa5.tar.lz
guix-forge-b4bfdd45c17b7fc558168f449819d7b61b9ceaa5.zip
cgit: Add fcgiwrap-processes field.
-rw-r--r--doc/forge.skb4
-rw-r--r--guix/forge/cgit.scm10
2 files changed, 10 insertions, 4 deletions
diff --git a/doc/forge.skb b/doc/forge.skb
index 1fd6750..9063b80 100644
--- a/doc/forge.skb
+++ b/doc/forge.skb
@@ -291,7 +291,9 @@ first).])
 shown. Else, they won't.])
            (record-field "extra-options"
              [Association list of additional key-value option pairs to
-include in the generated ,(file [cgitrc]) configuration file]))))
+include in the generated ,(file [cgitrc]) configuration file])
+           (record-field "fcgiwrap-processes"
+             [Number of fcgiwrap worker processes]))))
       (subsection :title [klaus service]
                   :ident "subsection-klaus-service"
         (p [klaus is a web viewer to serve git repositories on the web.])
diff --git a/guix/forge/cgit.scm b/guix/forge/cgit.scm
index 2be21cb..0956eb6 100644
--- a/guix/forge/cgit.scm
+++ b/guix/forge/cgit.scm
@@ -1,5 +1,5 @@
 ;;; guix-forge --- Guix software forge meta-service
-;;; Copyright © 2023–2025 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2023–2026 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of guix-forge.
 ;;;
@@ -54,6 +54,7 @@
             cgit-configuration-repository-sort
             cgit-configuration-plain-email?
             cgit-configuration-extra-options
+            cgit-configuration-fcgiwrap-processes
             cgit-service-type))
 
 (define %cgit-readme
@@ -108,7 +109,9 @@
   (plain-email? cgit-configuration-noplainemail?
                 (default #false))
   (extra-options cgit-configuration-extra-options
-                 (default '())))
+                 (default '()))
+  (fcgiwrap-processes cgit-configuration-fcgiwrap-processes
+                      (default #~(* 2 (total-processor-count)))))
 
 (define (sanitize-cgit-snapshots snapshots)
   (let ((valid-snapshots (list "tar" "tar.gz" "tar.bz2" "tar.lz"
@@ -222,12 +225,13 @@ configured in @var{config}."
 
 (define (cgit-fcgiwrap-instance config)
   (match-record config <cgit-configuration>
-    (cgit git repository-directory)
+    (cgit git repository-directory fcgiwrap-processes)
     (let ((cgitrc (computed-file "cgitrc" (cgitrc-gexp config))))
       (fcgiwrap-instance
        (name "cgit")
        (user "nginx")
        (group "nginx")
+       (processes fcgiwrap-processes)
        (environment-variables (list (environment-variable
                                      (name "CGIT_CONFIG")
                                      (value cgitrc))))