summaryrefslogtreecommitdiffstats
path: root/doc/config-no-systemd.rst
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:26:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:26:00 +0000
commit830407e88f9d40d954356c3754f2647f91d5c06a (patch)
treed6a0ece6feea91f3c656166dbaa884ef8a29740e /doc/config-no-systemd.rst
parentInitial commit. (diff)
downloadknot-resolver-830407e88f9d40d954356c3754f2647f91d5c06a.tar.xz
knot-resolver-830407e88f9d40d954356c3754f2647f91d5c06a.zip
Adding upstream version 5.6.0.upstream/5.6.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/config-no-systemd.rst')
-rw-r--r--doc/config-no-systemd.rst37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/config-no-systemd.rst b/doc/config-no-systemd.rst
new file mode 100644
index 0000000..a8cbb09
--- /dev/null
+++ b/doc/config-no-systemd.rst
@@ -0,0 +1,37 @@
+.. SPDX-License-Identifier: GPL-3.0-or-later
+
+.. _usage-without-systemd:
+
+*********************
+Usage without systemd
+*********************
+
+.. tip:: Our upstream packages use systemd integration, which is the recommended
+ way to run kresd. This section is only relevant if you choose to use kresd
+ without systemd integration.
+
+Knot Resolver is designed to be a single process without the use of threads.
+While the cache is shared, the individual processes are independent. This
+approach has several benefits, but it also comes with a few downsides, in
+particular:
+
+* Without the use of threads or forking (deprecated, see `#529`_), multiple
+ processes aren't managed in any way by kresd.
+* There is no maintenance thread and these tasks have to be handled by separate
+ daemon(s) (such as :ref:`garbage-collector`).
+
+To offset these these disadvantages without implementing process management in
+kresd (and reinventing the wheel), Knot Resolver provides integration with
+systemd, which is widely used across GNU/Linux distributions.
+
+If your use-case doesn't support systemd (e.g. using macOS, FreeBSD, Docker,
+OpenWrt, Turris), this section describes the differences and things to keep in
+mind when configuring and running kresd without systemd integration.
+
+.. toctree::
+ :maxdepth: 2
+
+ config-no-systemd-processes
+ config-no-systemd-privileges
+
+.. _`#529`: https://gitlab.nic.cz/knot/knot-resolver/issues/529