Syntax
======
-The configuration file uses `YAML format version 1.1 <https://yaml.org/spec/1.1/>_`.
-To quickly learn about the format, you can have a look at `Learn YAML in Y minutes <https://learnxinyminutes.com/docs/yaml/>_`.
+The configuration file uses `YAML format version 1.1 <https://yaml.org/spec/1.1/>`_.
+To quickly learn about the format, you can have a look at `Learn YAML in Y minutes <https://learnxinyminutes.com/docs/yaml/>`_.
Schema
====================
-The configuration schema describes the structure of accepted configuration files (or objects via the API). While originally specified in Python source code, it can be visualized as a `JSON schema <https://json-schema.org/>_`.
+The configuration schema describes the structure of accepted configuration files (or objects via the API). While originally specified in Python source code, it can be visualized as a `JSON schema <https://json-schema.org/>`_.
Getting the JSON schema
-----------------------
1. The JSON schema can be obtained from a running Resolver by sending a HTTP GET request to the path ``/schema`` on the management socket (by default a Unix socket at ``/var/run/knot-resolver/manager.sock``).
2. The ``kresctl schema`` command outputs the schema of the currently installed version as well. It does not require a running resolver.
-3. JSON schema for the most recent Knot Resolver version can be `downloaded here <_static/config.schema.json>_`.
+3. JSON schema for the most recent Knot Resolver version can be `downloaded here <_static/config.schema.json>`_.
Validating you configuration
----------------------------
In the case of an attempt to configure such an option, the operation is rejected.
+-----------------------------------
+
+
===================================
- ``GET`` return subtree of the current configuration
- ``PUT`` set property
- ``DELETE`` removes the given property or list item at the given index
-- ``PATCH`` updates the configuration using `JSON Patch <https://jsonpatch.com/>_`
+- ``PATCH`` updates the configuration using `JSON Patch <https://jsonpatch.com/>`_
To prevent race conditions when changing configuration from multiple clients simultaneously, every response from the Manager has an ``ETag`` header set. Requests then accept ``If-Match`` and ``If-None-Match`` headers with the latest ``ETag`` value and the corresponding request processing fails with HTTP error code 412 (precondition failed).