CoreDNS is a DNS server that started as a fork of 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, i.e., you'll need Caddy to compile CoreDNS.
CoreDNS is the successor to SkyDNS. SkyDNS is a thin layer that exposes services in etcd in the DNS. CoreDNS builds on this idea and is a generic DNS server that can talk to multiple backends (etcd, consul, kubernetes, etc.).