aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-01-05 22:56:38 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-01-05 22:56:38 +0000
commitbf3ba0344774d346f16194f997182c2d6a6978dc (patch)
tree9c944902cd4287a31941b36d9d9d1861f585770e /doc
parent9c4a116cb3723679ac7836872b836f3344b8ca86 (diff)
downloadrspamd-bf3ba0344774d346f16194f997182c2d6a6978dc.tar.gz
rspamd-bf3ba0344774d346f16194f997182c2d6a6978dc.zip
Write general information about config.
Diffstat (limited to 'doc')
-rw-r--r--doc/markdown/configuration/index.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/doc/markdown/configuration/index.md b/doc/markdown/configuration/index.md
index e69de29bb..ae9ce7496 100644
--- a/doc/markdown/configuration/index.md
+++ b/doc/markdown/configuration/index.md
@@ -0,0 +1,71 @@
+# Rspamd configuration
+
+Rspamd uses UCL for its configuration. UCL format is described in details in
+this [document](ucl.md). Rspamd defines several variables and macros to extend
+UCL functionality.
+
+## Rspamd variables
+
+- *CONFDIR*: configuration directory for rspamd, it is $PREFIX/etc/rspamd/
+- *RUNDIR*: runtime directory to store pidfiles or unix sockets
+- *DBDIR*: persistent databases directory (used for statistics or symbols cache).
+- *LOGDIR*: a directory to store log files
+- *PLUGINSDIR*: plugins directory where lua plugins live
+- *PREFIX*: basic installation prefix
+- *VERSION*: rspamd version string (e.g. "0.6.6")
+
+## Rspamd specific macros
+
+- *.include_map*: defines a map that is dynamically reloaded and updated if its
+content has been changed. This macros is intended to define dynamic configuration
+parts.
+
+## Rspamd basic configuration
+
+The basic rspamd configuration is stored in $CONFDIR/rspamd.conf. By default, this
+file looks like this one:
+
+~~~nginx
+lua = "$CONFDIR/lua/rspamd.lua"
+
+.include "$CONFDIR/options.conf"
+.include "$CONFDIR/logging.conf"
+.include "$CONFDIR/metrics.conf"
+.include "$CONFDIR/workers.conf"
+.include "$CONFDIR/composites.conf"
+
+.include "$CONFDIR/statistic.conf"
+
+.include "$CONFDIR/modules.conf"
+
+modules {
+ path = "$PLUGINSDIR/lua/"
+}
+~~~
+
+In this file, we open lua script placed in `$CONFDIR/lua/rspamd.lua` and load
+lua rules from it. Then we include global [options](options.md) section followed
+by [logging](logging.md) logging configuration. [Metrics](metrics.md) section defines
+metric settings, including rules weights and rspamd actions. [Workers](workers.md)
+section specifies rspamd workers settings. [Composites](composites.md) is an utility
+section that describes composite symbols. Statistical filters are defined in
+[statistic](statistic.md) section. Rspamd stores modules configuration (for both lua
+and internal modules) in [modules](modules.md) section while modules itself are
+loaded from the following portion of configuration:
+
+~~~nginx
+modules {
+ path = "$PLUGINSDIR/lua/"
+}
+~~~
+
+This section defines one or single path to either directories or specific files.
+If directory is used then all files with suffix `.lua` are loaded as lua plugins
+(it is `*.lua` shell pattern therefore).
+
+This configuration is not intended to be changed by user, but you can include your
+own configuration in further. To redefine symbols weight and actions rspamd encourages
+to use [dynamic configuration](dynamic_conf.md). Nevertheless, rspamd installation
+script will never rewrite user's configuration if it exists already. So please
+read ChangeLog carefully if you upgrade rspamd to a new version for all incompatible
+configuration changes. \ No newline at end of file