Skip to content
Snippets Groups Projects
user avatar
Marek Vavruša authored
* each query is assigned a task
* each task contains request, some primitives and mempool
* worker can process multiple tasks at once and
  offload I/O to event loop

Not finished:

* it depends on icmp/system timeouts, #22
* tcp reads are going to be bad if the messages
  arrive fragmented #21
c7d62055

Knot DNS Resolver

Build Status Coverage Status Coverity Documentation Status

The Knot DNS Resolver is a minimalistic caching resolver implementation. The project provides both a resolver library and a small daemon. Modular architecture of the library keeps the core tiny and efficient, and provides a state-machine like API for extensions. There are two built-in modules: iterator and cache, and each module can be flipped on and off.

Try it out?

The Knot DNS Resolver is currently in an early development phase, you shouldn't put it in the production right away.

Docker image

This is simple and doesn't require any dependencies or system modifications, just run:

$ docker run cznic/knot-resolver

See the build page registry.hub.docker.com/u/cznic/knot-resolver for more information and options.

Building from sources

The Knot DNS Resolver depends on the pre-release version of the Knot DNS library and other projects. See the Building project documentation page for more information.

Running

The project builds a resolver library in the lib directory, and a daemon in the daemon directory.

$ ./daemon/kresolved -h
$ ./daemon/kresolved [working_directory]

See the documentation at knot-resolver.readthedocs.org.