doc: update README (#1178)

People are using it in prod and some other updates.
This commit is contained in:
Miek Gieben
2017-10-27 20:08:25 +01:00
committed by GitHub
parent b5d8f2a3d1
commit a63f2ae7a2

View File

@@ -7,8 +7,8 @@
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fcoredns%2Fcoredns.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fcoredns%2Fcoredns?ref=badge_shield)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1250/badge)](https://bestpractices.coreinfrastructure.org/projects/1250)
CoreDNS is a DNS server that started as a fork of [Caddy](https://github.com/mholt/caddy/). It has
the same model: it chains plugins.
CoreDNS (written in Go) chains [plugins](https://coredns.io/plugins). Each plugin performs a DNS
function.
CoreDNS is a [Cloud Native Computing Foundation](https://cncf.io) inception level project.
@@ -20,7 +20,7 @@ CoreDNS aims to be a fast and flexible DNS server. The keyword here is *flexible
are able to do what you want with your DNS data. And if not: write a plugin!
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).
7858](https://tools.ietf.org/html/rfc7858)) and [gRPC](https://grpc.io) (not a standard).
Currently CoreDNS is able to:
@@ -41,17 +41,17 @@ Currently CoreDNS is able to:
* Support the CH class: `version.bind` and friends (*chaos*).
* Profiling support (*pprof*).
* Rewrite queries (qtype, qclass and qname) (*rewrite*).
* Echo back the IP address, transport and port number used (*whoami*).
* Echo back the IP address, transport and port number used (*whoami*). This is also the default
plugin that gets loaded when CoreDNS can't find a Corefile to load.
Each of the plugins has a README.md of its own, see [coredns.io/plugins](https://coredns.io/plugins)
for all in-tree plugins.
for all in-tree plugins, and [coredns.io/explugins](https://coredns.io/explugins) for all
out-of-tree plugins.
## Status
CoreDNS can be used as an authoritative nameserver for your domains. 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 blog articles can be [found
here](https://coredns.io). If you do want to use CoreDNS in production, please let us know.
CoreDNS can be used as an authoritative nameserver for your domains. CoreDNS should be able to
provide you with enough functionality to replace parts of BIND 9, Knot, NSD or PowerDNS and SkyDNS.
## Compilation
@@ -85,8 +85,8 @@ The above command alone will have `coredns` binary generated.
## Examples
When starting CoreDNS without any configuration, it loads the
[*whoami*](https://coredns.io/plugins/whoami) plugin and starts
listening on port 53 (override with `-dns.port`), it should show the following:
[*whoami*](https://coredns.io/plugins/whoami) plugin and starts listening on port 53 (override with
`-dns.port`), it should show the following:
~~~ txt
.:53
@@ -106,7 +106,7 @@ Start a simple proxy, you'll need to be root to start listening on port 53.
`Corefile` contains:
~~~ txt
~~~ corefile
.:53 {
proxy . 8.8.8.8:53
log
@@ -114,11 +114,12 @@ Start a simple proxy, you'll need to be root to start listening on port 53.
~~~
Just start CoreDNS: `./coredns`. Then just query on that port (53). The query should be forwarded to
8.8.8.8 and the response will be returned. Each query should also show up in the log.
8.8.8.8 and the response will be returned. Each query should also show up in the log which is
printed on standard output.
Serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to stdout.
Allow zone transfers to everybody, but specifically mention 1 IP address so that CoreDNS can send
notifies to it.
Serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to standard
output. Allow zone transfers to everybody, but specifically mention 1 IP address so that CoreDNS can
send notifies to it.
~~~ txt
example.org:1053 {