/doc/html
/doc/kresd.8
/doc/texinfo
+/doc/_static/config-schema.json
/ephemeral_key.pem
/install-sh
/libkres.pc
.. tip::
- An easy way to see the complete configuration structure is to look at the `JSON Schema <https://json-schema.org/>`_ on `http://localhost:5000/schema/ui <http://localhost:5000/schema/ui>`_ with the Knot Resolver running.
- The raw schema is availiable on `http://localhost:5000/schema <http://localhost:5000/schema>`_.
+ 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)
===================
Management HTTP API
endif
endif
+
+python3 = find_program('python3')
+json_schema = custom_target(
+ 'doc-json-schema',
+ command: [python3, '-m', 'manager.knot_resolver_manager.cli', 'schema', 'docs/_static/config-schema.json'],
+ input: [
+
+ ],
+ output: [
+ 'docs/_static/config-schema.json'
+ ]
+)
+
+
make_doc = find_program('../scripts/make-doc.sh')
run_target(
'doc',
command: make_doc,
+ depends: [json_schema],
)
run_target(
'doc-strict',
command: [make_doc, '-W'],
+ depends: [json_schema],
)
# SPDX-License-Identifier: GPL-3.0-or-later
cd "$(dirname ${0})/.."
+
+# generate JSON schema for the manager's declarative config
+pushd manager
+## the following python command should hopefully run without any dependencies except for standard python
+mkdir -p ../doc/_static/
+python3 -m knot_resolver_manager.cli schema > ../doc/_static/config-schema.json
+popd
+
+
pushd doc
doxygen
popd