From: Marek VavruĊĦa Date: Wed, 28 Jan 2015 18:06:48 +0000 (+0100) Subject: doc: updated readme X-Git-Tag: v1.0.0-beta1~349 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aec9b565205f088fcf72088b08e02d4a41e84fdc;p=thirdparty%2Fknot-resolver.git doc: updated readme --- diff --git a/README.md b/README.md index d9c38232c..0f0897556 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,48 @@ # Knot DNS Resolver -## Preparation +[![Build Status](https://travis-ci.org/CZNIC-Labs/knot-resolver.svg?branch=master)](https://travis-ci.org/CZNIC-Labs/knot-resolver) -The Knot DNS Resolver depends on the Knot DNS library which is introduced in current master, and on the -reasonably recent version of the `libuv`. +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 three built-in modules: *iterator*, *cache* and *stats*, +but each module can be flipped on and off. -### libuv +### Try it out? -If the libuv with a version at least 1.0 is not present on your system, -compile and install the sources code from the Git repository. +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: ``` -$ git clone https://github.com/libuv/libuv.git -$ cd libuv -$ ./autogen.sh -$ make && make install +$ docker run cznic/knot-resolver ``` -## Compilation +See the build page https://registry.hub.docker.com/u/cznic/knot-resolver for more information and options. +You can hack on the container by changing the container entrypoint to shell like: + +``` +$ docker run -it --entrypoint=/bin/bash cznic/knot-resolver +``` + +### Building from sources + +The Knot DNS Resolver depends on the development version of the Knot DNS library, and a reasonably recent version of `libuv`. +Several dependencies may not be in the packages yet, the script pulls and installs all dependencies in a chroot. ``` -$ export PKG_CONFIG_PATH="..." # Change, if you installed the libknot somewhere else -$ ./configure +$ FAKEROOT="/tmp/resolver-depends" +$ ./scripts/build-depends.sh ${FAKEROOT} +$ export LDFLAGS="-L${FAKEROOT}/lib" +$ export PKG_CONFIG_PATH="${FAKEROOT}/lib/pkgconfig" +$ ./configure --enable-integration-tests $ autoreconf -if $ make +$ make check ``` -## Running +### Running There is a separate resolver library in the `lib` directory, and a minimalistic daemon in the `daemon` directory. The daemon accepts a few CLI parameters, and there's no support for configuration