]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
doc: gettingstarted: some updates and changes
authorAleš Mrázek <ales.mrazek@nic.cz>
Fri, 10 Feb 2023 22:05:05 +0000 (23:05 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Mon, 5 Jun 2023 13:34:21 +0000 (15:34 +0200)
doc/gettingstarted-config.rst
doc/gettingstarted-install.rst
doc/gettingstarted-intro.rst
doc/gettingstarted-startup.rst
doc/manager-no-systemd.rst [new file with mode: 0644]

index 28b153bbec13a74bbe9f84bb7395d58e6c23e404..bb9d07fa6b3d9cf7a9b6feae42eabac2027b3679 100644 (file)
@@ -13,10 +13,8 @@ Configuration
 Easiest way to configure Knot Resolver is to put configuration to ``/etc/knot-resolver/config.yml`` file.
 
 The first thing you will probably want to configure are the network interfaces to listen to.
-
 The following example instructs the resolver to receive standard unencrypted DNS queries on ``192.0.2.1`` and ``2001:db8::1`` IP addresses.
 Encrypted DNS queries using ``DNS-over-TLS`` protocol are accepted on all IP addresses of ``eth0`` network interface, TCP port ``853``.
-For more details look at the :ref:`network configuration <config-network>`.
 
 .. code-block:: yaml
 
@@ -27,6 +25,13 @@ For more details look at the :ref:`network configuration <config-network>`.
             port: 853
             kind: 'dot' # DNS-over-TLS
 
+For more details look at the :ref:`network configuration <config-network>`.
+
+.. warning::
+
+    On machines with multiple IP addresses on the same interface avoid listening on wildcards ``0.0.0.0`` or ``::``.
+    Knot Resolver could answer from different IP addresses if the network address ranges overlap, and clients would refuse such a response.
+
 You can also start exploring the configuration by reading about :ref:`common use cases <usecases-chapter>` or look at the complete :ref:`configuration <configuration-chapter>` documentation.
 
 Complete configurations files examples can be found `here <https://gitlab.nic.cz/knot/knot-resolver/tree/master/etc/config>`_.
@@ -34,9 +39,9 @@ Examples are also installed as documentation files, typically in ``/usr/share/do
 
 .. tip::
 
-    An easy way to see the complete configuration structure is to look at the `JSON Schema <https://json-schema.org/>`_ of the configuration format with some graphical visualizer such as `this one <https://json-schema.app/>`_.
-    The raw schema is accessible from every running Knot Resolver at the HTTP API socket at path ``/schema`` or on `this link <_static/config.schema.json>`_ (valid only for the version of resolver this documentation was generated for)
-
+    An easy way to see the complete configuration structure is to look at the `JSON schema <https://json-schema.org/>`_ represention.
+    The raw JSON schema is available at `this link <_static/config.schema.json>`_ (valid only for the version of resolver this documentation was generated for).
+    For the schema readability, some graphical visualizer can be used, for example `this one <https://json-schema.app/>`_.
 
 ==========
 Validation
@@ -44,7 +49,7 @@ Validation
 
 Knot Resolver's configuration follows strict schema for validation.
 
-You can use :ref:` kresctl <manager-client>` utility to validate your configuration before pushing it into the running resolver.
+You can use :ref:`kresctl <manager-client>` utility to validate your configuration before pushing it into the running resolver.
 It should help prevent many typos in the configuration.
 
 .. code-block::
index 4688bfdf21574cc2994f0512d731c31e5e96614d..9c4c434a2f81da3030518748e9b9f604d909b742 100644 (file)
@@ -2,9 +2,9 @@
 
 .. _gettingstarted-install:
 
-************************
-Installation and Startup
-************************
+************
+Installation
+************
 
 As a first step, configure your system to use upstream repositories which have
 the **latest version** of Knot Resolver. Follow the instructions below for your
@@ -40,4 +40,4 @@ Add the `OBS <https://en.opensuse.org/Portal:Build_Service>`_ package repository
 
 .. note::
 
-    If for some reason you need to **install Knot Resolver from source**, check out :ref:`building from sources <build>` documentation for developers.
\ No newline at end of file
+    If for some reason you need to **install Knot Resolver from source**, check out :ref:`building from sources <build>` documentation for developers.
index d3a5dcf303c60999515fff5716269ea29047957e..a33e91401d937dc564aea2baa8c8d6a4ee434405 100644 (file)
@@ -2,10 +2,32 @@
 
 .. _gettingstarted:
 
-Getting Started chapter introduces Knot Resolver and guide you through installation and basic setup recommended for your use-case.
+Welcome to Knot Resolver's documentation for getting started!
+This chapter will introduce Knot Resolver and will guide you through :ref:`installation <gettingstarted-install>` to first :ref:`startup <gettingstarted-startup>` and basic insight into :ref:`configuration <gettingstarted-config>`.
+
 
 .. _gettingstarted-intro:
 
 ************
 Introduction
 ************
+
+==================
+Basic architecture
+==================
+
+The resolver is made up of several singlethread processes:
+
+:kresd:
+    The resolving daemon that is the core of the resolver, written in C.
+    Most of its functionalities are implemented in a separate modules written in C or Lua.
+
+:kres-cache-gc:
+    Garbage collector that takes care of maintaining the resolver's cache, written in C.
+
+:kres-manager:
+    A new process since version ``6.x`` that is used to manage other processes, written in Python.
+    The manager starts and setups other processes based on the configuration.
+    It is the only process that a user should directly interact with.
+
+For a detailed info see :ref:`internal architectire <architecture>`.
index bef64bfacc61de5233e591faa609f1ccae92ad51..190eacce9727977945e16febe837f7afeb396f28 100644 (file)
@@ -21,7 +21,7 @@ For more information about systemd integration see ``man knot-resolver.systemd``
     To start and enable service in one command use ``systemctl enable --now knot-resolver.service``
 
 Unfortunately, for some cases (typically Docker and minimalistic systems), ``systemd`` is not available, therefore it is not possible to use ``knot-resolver.service``.
-If you have this problem, look at :ref:`usage without systemd <config-no-systemd>` section.
+If you have this problem, look at :ref:`usage without systemd <manager-no-systemd>` section.
 
 
 ===============
diff --git a/doc/manager-no-systemd.rst b/doc/manager-no-systemd.rst
new file mode 100644 (file)
index 0000000..23f6465
--- /dev/null
@@ -0,0 +1,7 @@
+.. SPDX-License-Identifier: GPL-3.0-or-later
+
+.. _manager-no-systemd:
+
+*********************
+Usage without systemd
+*********************