Open-Source Wikis

/

CoreDNS

/

Systems

coredns/coredns

Systems

The "systems" lens covers the parts of CoreDNS that are not plugins — the bootstrap, the DNS server type that hosts plugins, the request abstraction every plugin uses, and the shared utility packages under plugin/pkg/.

If a plugin is the what of CoreDNS, the systems are the how.

Map

graph TD
    A[coredns.go] -->|main| B[coremain]
    B -->|caddy.Start| C[core/dnsserver]
    C -->|builds| D[Server / ServerTLS / ServerHTTPS / ServerHTTPS3 / ServerQUIC / ServergRPC]
    D -->|ServeDNS| E[plugin chain]
    E --> F[request.Request]
    E --> G[plugin/pkg/* helpers]
    H[plugin.cfg] -->|generates| C
    H -->|generates| I[core/plugin/zplugin.go]
    I -->|blank-imports| Plugins[plugin/*]
    Plugins -->|register| C

Pages in this section

Page What it covers
Caddy bootstrap coredns.go, coremain.Run, flag parsing, version metadata, signal handling
DNS server core/dnsserver/: server type registration, Corefile parsing, Config, plugin chain compilation, request dispatch
Plugin system plugin/plugin.go: Handler/Plugin interfaces, NextOrFailure, response writer wrapping, registration
Transports UDP/TCP, DoT (tls://), DoH (https://), DoH3 (https3://), DoQ (quic://), gRPC (grpc://); listeners, TLS, PROXY protocol, multi-socket
Request and response The request.Request abstraction, ScrubWriter, EDNS0 / DO bit handling, response classification
Shared packages plugin/pkg/: cache, parse, dnsutil, log, reuseport, response, transport, replacer, etc.
Build and code generation plugin.cfg, directives_generate.go, owners_generate.go, generated zplugin.go and zdirectives.go

How to read this section

If you are adding a feature, the entry points are:

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Systems – CoreDNS wiki | Factory