lazydns

Plugins Guide (User)

Plugin System Overview

Explain plugin execution flow, priorities, and common plugin types:

Key concepts

Example plugin sequence (ASCII)

This sequence shows a typical plugin chain where hosts provides immediate answers, cache handles cached responses, and forward sends queries to upstream resolvers when needed.

Client
  |
  v
 [Listener]
  |
  v
[Request Handler]
  |
  v
+--------------------------+
| Plugin: hosts            |  => If match -> Respond (short-circuit)
+--------------------------+
  |
  v
+--------------------------+
| Plugin: cache            |  => If cached -> Respond
+--------------------------+
  |
  v
+--------------------------+
| Plugin: forward          |  => Query upstream and return response
+--------------------------+
  |
  v
 Response -> Client

This pipeline is intentionally simple: listeners hand requests to a single handler which executes an ordered set of plugins. Plugins may short-circuit the pipeline by producing a response (e.g., hosts or cache) or let the request continue to upstreams.

Built-in Plugins

Short pages or subsections for major plugins with purpose & example config:

Example plugin configuration

plugins:
  - tag: cache
    type: cache
    config:
      min_ttl: 30

Ordering & Priority

How priorities and plugin lists affect execution.


TODO: Link each built-in plugin to deeper docs pages.