Overview
CoreDNS is a DNS server that combines plugins for forwarding, caching, authoritative responses, Kubernetes service discovery, Prometheus metrics, and other DNS functions. Behavior is configured in a Corefile so deployments can compose only the capabilities they need. It is a CNCF Graduated project and supports UDP/TCP DNS as well as DoT, DoH, DoH3, and DoQ.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Compose DNS behavior with Corefile plugins
Plugins such as forward, cache, kubernetes, prometheus, and log can be combined to build the required DNS behavior.
Sources: [2]
Integrate Kubernetes and external DNS backends
CoreDNS can use Kubernetes or etcd as a backend, forward requests upstream, serve zone files, cache responses, and expose metrics.
Sources: [2]
For flexible DNS in cloud-native and internal environments
CoreDNS is useful not only as Kubernetes DNS but also for internal forwarding, caching, authoritative zones, and custom DNS services assembled from plugins.
Test port 53 and Corefile behavior before production rollout
The standard DNS port can conflict with local resolvers or require additional privileges. The README demonstrates port 1053 for local testing, which is a safer way to validate plugin behavior and forwarding first.
Sources: [2]
Official sources
- [1]coredns/coredns repository(2026-09-20)
- [2]CoreDNS README(2026-09-20)
- [3]CoreDNS Apache-2.0 license(2026-09-20)
- [4]CoreDNS documentation(2026-09-20)
Supplemental curator note
CoreDNS is distinguished by composing DNS behavior from plugins in a Corefile rather than exposing one fixed server configuration. It is useful beyond Kubernetes for forwarding, caching, custom backends, and specialized DNS services.
Try it in 3 steps
- 1
Build CoreDNS
Build the coredns binary with the source compilation path in the official README.
git clone https://github.com/coredns/coredns.git && cd coredns && make - 2
Create a Corefile on port 1053
Avoid conflicts on port 53 and start with only upstream forwarding and query logging.
printf '.:1053 {\n forward . 8.8.8.8\n log\n}\n' > Corefile - 3
Run CoreDNS and test resolution
From another terminal, run dig @127.0.0.1 -p 1053 example.com and verify forwarding and query logs.
./coredns -conf Corefile
Growth
Growth trends · Last 30 days
14,330 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 76
- Open PRs
- 76
- Issues opened
- 26
- Issues closed
- 70
- PRs opened
- 348
- PRs merged
- 283
Issues
26 / 70
Pull requests
348 / 283
Maintenance
- Median first response
- 2.8 days
- Issue response rate
- 17.4% (4/23)
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- dns-server
- go
- cncf
- coredns
- plugin
- service-discovery
- Stars
- 14,330
- Forks
- 2,532
- Watchers
- 221
- Open issues
- 203
- Contributors
- 432
- Primary language
- Go
- License
- Apache-2.0
- Repository last updated
- Sep 18, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Kubernetes127,843 Stars
A cloud-native platform for deploying, maintaining, and scaling containers across hosts.
Go - RustDesk124,007 Stars
A cross-platform Rust remote desktop with NAT traversal, relay fallback, and optional self-hosted ID/relay infrastructure.
Rust - Supabase110,326 Stars
An open Postgres development platform combining Database, Auth, APIs, Realtime, Storage, and Functions.
TypeScript - Moby72,112 Stars
Docker's upstream open-source project for assembling container platforms from replaceable components.
Go - Ansible70,732 Stars
An agentless SSH-based platform for configuration, deployment, cloud, and network automation using human-readable descriptions.
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.