.. _advanced-no-manager:
-***********************************
-Advanced: Usage without the manager
-***********************************
+*************************
+Usage without the manager
+*************************
-If you want to continue using Knot Resolver as before version ``6.0.0`` this is chapter for you.
-For new and less experienced users, we recommend using the newer approach starting in :ref:`Getting Started <gettingstarted-intro>` chapter.
-There are a few downsides to using the legacy approach that need to be mentioned.
+.. warning::
-* configuration in Lua script
-* manual process management
+ This page is intended for experienced users only. If you follow these instructions, you are not protected from footguns elimited with the introduction of the manager. However, if you want to continue using Knot Resolver as before version ``6.0.0`` this is chapter for you.
+
+ For new and less experienced users, we recommend using the newer approach starting in :ref:`Getting Started <gettingstarted-intro>` chapter.
+
+
+There are a few downsides to using the Knot Resolver without the manager:.
+
+* Configuration is a imperative Lua script and can't be properly validated without actually running it.
+* ``kresd`` is single-threaded so you need to manage multiple processes manually.
+* Restarts without downtime after configuration change are only your responsibility.
.. _advanced-no-manager-startup:
Startup
=======
-The legacy way to start Knot Resolver is to run single instance of its resolving daemon manualy using ``kresd@`` systemd integration.
+The older way to start Knot Resolver is to run single instance of its resolving daemon manualy using ``kresd@`` systemd integration.
The daemon is single thread process.
.. code-block:: bash
Configuration
=============
-Legacy way to configure Knot Resolver is to paste your Lua code typically into ``/etc/knot-resolver/kresd.conf`` configuration script.
+You can configure ``kresd`` by pasting your Lua code into ``/etc/knot-resolver/kresd.conf`` configuration script.
The resolver's daemon is preconfigure to load this script when using ``kresd@`` systemd integration.
.. note::
-*******************
-Advanced deployment
-*******************
-
-DO NOT DO THIS, YOU ARE ON YOUR OWN
-
+********
+Advanced
+********
.. toctree::
:maxdepth: 2
- advanced-no-manager
\ No newline at end of file
+ deployment-advanced-no-manager
+ config-no-systemd
\ No newline at end of file
--- /dev/null
+******
+Manual
+******
+
+TODO how to run it manually without systemd, what are the requirements
\ No newline at end of file
.. _usage-without-systemd:
-*********************
-Usage without systemd
-*********************
+*****************************************
+Usage without systemd and 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.
+``kresd`` 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:
.. toctree::
:maxdepth: 2
- config-no-systemd-processes
- config-no-systemd-privileges
+ deployment-no-systemd-processes
+ deployment-no-systemd-privileges
.. _`#529`: https://gitlab.nic.cz/knot/knot-resolver/issues/529
--- /dev/null
+*******
+Systemd
+*******
+
+In the default installation, Knot Resolver contains systemd integration and starting it on such system usually involves only one command.
+
+.. code-block::
+
+ systemctl enable --now knot-resolver.service
+
+
+If you don't have systemd service file for Knot Resolver already installed in your system, you can create one manually with the folling content:
+
+
+.. literalinclude:: ../systemd/knot-resolver.service.in
+
+.. note::
+
+ Replace words surrounded by ``@`` to some real values (i.e. ``@user@`` to a user you want Knot Resolver to run as).
\ No newline at end of file
:name: deployment-chapter
:maxdepth: 1
- config-no-systemd
+ deployment-systemd
deployment-docker
+ deployment-manual
deployment-advanced
.. toctree::