CoreDNS
CoreDNS is a flexible DNS server and forwarder written in Go whose functionality comes from chained plugins.
- GitHub stars
- 14k
- Last commit
- 3 days ago
- Latest release
- v1.14.7
- Licence
- Apache-2.0
- Self-hosted
- Yes

CoreDNS is a DNS server and forwarder, written in Go, that chains plugins together, with each plugin performing a DNS function. It is a Cloud Native Computing Foundation graduated project and is released under the Apache 2.0 license. If a function is not available out of the box, it can be added by writing a plugin.
It can listen for DNS requests over UDP and TCP, TLS (DoT), DNS over HTTP/2 (DoH), DNS over HTTP/3, DNS over QUIC (DoQ) and gRPC. Its plugins cover serving zone data from files with DNSSEC and DNS support, acting as a primary or secondary server, signing zone data on the fly, load balancing responses, caching, and forwarding queries to other nameservers.
Backends include etcd and Kubernetes, which is why topics mention service discovery, and there are plugins for Prometheus metrics, query and error logging, Route 53 integration, query rewriting, DNS64 IPv6 translation, profiling and more. Each plugin is documented individually. It is run by operators on their own infrastructure.
Key features
- Plugin chain architecture
- DNS over TLS, HTTPS, HTTP/3 and QUIC
- Zone file serving with DNSSEC signing
- Caching and query forwarding
- Kubernetes and etcd backends
- Prometheus metrics and logging
Pricing: Free and open source under the Apache 2.0 license.

