about summary refs log tree commit homepage
path: root/Documentation/public-inbox-config.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/public-inbox-config.pod')
-rw-r--r--Documentation/public-inbox-config.pod107
1 files changed, 107 insertions, 0 deletions
diff --git a/Documentation/public-inbox-config.pod b/Documentation/public-inbox-config.pod
index f7353dca..27d27e4e 100644
--- a/Documentation/public-inbox-config.pod
+++ b/Documentation/public-inbox-config.pod
@@ -91,6 +91,56 @@ C<nntp://news.gmane.org/gmane.mail.public-inbox.general>
 
 Default: none
 
+=item publicinbox.<name>.httpbackendmax
+
+If a digit, the maximum number of parallel
+L<git-http-backend(1)> processes to allow for cloning this
+particular inbox.
+
+If an alphanumeric value starting with a lowercase alphabetic
+character is specified, the inbox will use a L</NAMED LIMITER>
+which can be shared by multiple inboxes.
+
+Default: 32 (using a default limiter shared by all inboxes)
+
+=item publicinbox.<name>.coderepo
+
+The nickname of a "coderepo" section associated with the inbox.
+May be specified more than once for M:N mapping of code repos to
+inboxes.  If enabled, diff hunk headers in patch emails will
+link to the line numbers of blobs.
+
+Default: none
+
+=item publicinbox.<name>.replyto
+
+May be used to control how reply instructions in the PSGI
+interface are displayed.
+
+":none=dead inbox" may be specified to denote an inactive list
+("dead inbox" may be replaced with another phrase).
+
+A list of comma-delimited email addresses may be specified.
+This can be useful for dedicated inboxes for bot emails, but
+discussion happens on a seperate mailing list/inbox.
+
+Mirrors of existing centralized mailing lists may use ":list"
+here to redirect mail only to the configured inbox address.
+The use of ":list" is discouraged for new mailing lists, as it
+leads to centralization.
+
+Default: :all
+
+=item publicinbox.css
+
+The local path name of a CSS file for the PSGI web interface.
+May contain the attributes "media", "title" and "href" which match
+the associated attributes of the HTML <style> tag.
+"href" may be specified to point to the URL of an remote CSS file
+and the path may be "/dev/null" or any empty file.
+Multiple files may be specified and will be included in the
+order specified.
+
 =item publicinboxmda.spamcheck
 
 This may be set to C<none> to disable the use of SpamAssassin
@@ -138,8 +188,65 @@ be treated as the default value.
 
 Default: 25
 
+=item coderepo.<name>.dir
+
+The path to a git repository for "publicinbox.<name>.coderepo"
+
+=item coderepo.<name>.cgitUrl
+
+The URL of the cgit instance associated with the coderepo.
+
+Default: none
+
 =back
 
+=head2 NAMED LIMITER (PSGI)
+
+Named limiters are useful for preventing large inboxes from
+monopolizing (or overloading) the server.  Since serving git
+clones (via L<git-http-backend(1)> can be memory-intensive for
+large inboxes, it makes sense to put large inboxes on a named
+limiter with a low max value; while smaller inboxes can use
+the default limiter.
+
+=over 8
+
+=item publicinboxlimiter.<name>.max
+
+The maximum number of parallel processes for the given limiter.
+
+=back
+
+=head3 EXAMPLE WITH NAMED LIMITERS
+
+        ; big inboxes which require lots of memory to clone:
+        [publicinbox "big1"]
+                mainrepo = /path/to/big1
+                address = big1@example.com
+                httpbackendmax = big
+        [publicinbox "big2"]
+                mainrepo = /path/to/big2
+                address = big2@example.com
+                httpbackendmax = big
+
+        ; tiny inboxes which are easily cloned:
+        [publicinbox "tiny1"]
+                mainrepo = /path/to/tiny1
+                address = tiny1@example.com
+        [publicinbox "tiny2"]
+                mainrepo = /path/to/tiny2
+                address = tiny2@example.com
+
+        [publicinboxlimiter "big"]
+                max = 4
+
+In the above example, the "big1" and "big2" are limited to four
+parallel L<git-http-backend(1)> processes between them.
+
+However, "tiny1" and "tiny2" will share the default limiter
+which means there can be 32 L<git-http-backend(1)> processes
+between them.
+
 =head1 ENVIRONMENT
 
 =over 8