aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-03-13 20:24:37 +0000
committerGravatar GitHub <noreply@github.com> 2017-03-13 20:24:37 +0000
commitbfaf9e0aecc74d4e6897cdb9c6ef51b4b21ffd4e (patch)
tree1eb571726beee206742fa69d6d97ef80d6dcd48f /README.md
parent4985d698e2d1e7c8335bff3b39c1d593cf1f02e6 (diff)
downloadcoredns-bfaf9e0aecc74d4e6897cdb9c6ef51b4b21ffd4e.tar.gz
coredns-bfaf9e0aecc74d4e6897cdb9c6ef51b4b21ffd4e.tar.zst
coredns-bfaf9e0aecc74d4e6897cdb9c6ef51b4b21ffd4e.zip
core: add more transports (#574)
* core: add listening for other protocols Allow CoreDNS to listen for TLS request coming over port 853. This can be enabled with `tls://` in the config file. Implement listening for grps:// as well. a Corefile like: ~~~ . tls://.:1853 { whoami tls } ~~~ Means we listen on 1853 for tls requests, the `tls` config item allows configuration for TLS parameters. We *might* be tempted to use Caddy's Let's Encrypt implementation here. * Refactor coredns/grpc into CoreDNS This makes gRPC a first class citizen in CoreDNS. Add defines as being just another server. * some cleanups * unexport the servers * Move protobuf dir * Hook up TLS properly * Fix test * listen for TLS as well. README updates * disable test, fix package * fix test * Fix tests * Fix remaining test * Some tests * Make the test work * Add grpc test from #580 * fix crash * Fix tests * Close conn * README cleanups * README * link RFC
Diffstat (limited to 'README.md')
-rw-r--r--README.md34
1 files changed, 29 insertions, 5 deletions
diff --git a/README.md b/README.md
index e352b56c4..e8c1dea5e 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,10 @@
[![Code Coverage](https://img.shields.io/codecov/c/github/coredns/coredns/master.svg?style=flat-square)](https://codecov.io/github/coredns/coredns?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/coredns/coredns?style=flat-square)](https://goreportcard.com/report/coredns/coredns)
-CoreDNS is a DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has the
-same model: it chains middleware. In fact it's so similar that CoreDNS is now a server type plugin for
-Caddy. CoreDNS is also a [Cloud Native Computing Foundation](https://cncf.io) inception level project.
+CoreDNS is a DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has
+the same model: it chains middleware. In fact it's so similar that CoreDNS is now a server type
+plugin for Caddy. CoreDNS is also a [Cloud Native Computing Foundation](https://cncf.io) inception
+level project.
CoreDNS is the successor to [SkyDNS](https://github.com/skynetservices/skydns). SkyDNS is a thin
layer that exposes services in etcd in the DNS. CoreDNS builds on this idea and is a generic DNS
@@ -16,6 +17,11 @@ server that can talk to multiple backends (etcd, kubernetes, etc.).
CoreDNS aims to be a fast and flexible DNS server. The keyword here is *flexible*: with CoreDNS you
are able to do what you want with your DNS data. And if not: write some middleware!
+CoreDNS can listen for DNS request coming in over UDP/TCP (go'old DNS), TLS
+([RFC 7858](https://tools.ietf.org/html/rfc7858)) and gRPC (not
+a standard.
+
+
Currently CoreDNS is able to:
* Serve zone data from a file; both DNSSEC (NSEC only) and DNS are supported (*file*).
@@ -44,8 +50,8 @@ Each of the middlewares has a README.md of its own.
CoreDNS can be used as an authoritative nameserver for your domains, and should be stable enough to
provide you with good DNS(SEC) service.
-There are still a few known [issues](https://github.com/coredns/coredns/issues), and work is ongoing on making
-things fast and to reduce the memory usage.
+There are still a few known [issues](https://github.com/coredns/coredns/issues), and work is ongoing
+on making things fast and to reduce the memory usage.
All in all, CoreDNS should be able to provide you with enough functionality to replace parts of BIND
9, Knot, NSD or PowerDNS and SkyDNS. Most documentation is in the source and some blog articles can
@@ -169,6 +175,24 @@ example.org {
}
~~~
+Listening on TLS and for gRPC? Use:
+
+~~~ txt
+tls://example.org grpc://example.org {
+ # ...
+}
+~~~
+
+Specifying ports works in the same way:
+
+~~~ txt
+grpc://example.org:1443 {
+ # ...
+}
+~~~
+
+When no transport protocol is specified the default `dns://` is assumed.
+
## Blog and Contact
Website: <https://coredns.io>