Configuration Overview
OxiDNS uses YAML to describe runtime settings, the management interface, shared networking, and plugin execution chains. Use this page to choose the right configuration topic. The repository-root config.yaml remains the canonical runnable example.
Shortest configuration workflow
- Start from the default
config.yamlor Common Scenarios; do not assemble a non-trivial plugin graph from an empty file. - Use Global Configuration for workers, logging, network egress, the API, and plugin instances.
- Use Execution Chains and Control Flow to compose servers, executors, matchers, and providers.
- For domains, IPs, and external datasets, follow Rules and Provider Syntax.
- Validate every change before reloading or restarting:
oxidns check -c config.yaml
If configuration and runtime data use different directories, validate with the real working directory. The default Debian layout uses:
oxidns check -c /etc/oxidns/config.yaml -d /var/lib/oxidns
Topic map
| Topic | Contents |
|---|---|
| Global Configuration | Top-level fields, include, environment variables, tags, runtime, logging, networking, API, and plugins |
| Execution Chains and Control Flow | Plugin-category responsibilities, sequence, plugin references, quick setup, and accept / return / reject / jump / goto |
| Rules and Provider Syntax | Domain rules, IP/CIDR, $tag provider references, and external files |
| Plugin Reference | Complete per-plugin parameters, defaults, examples, and platform constraints |
Source ownership
- This chapter owns the shared configuration model and does not duplicate every plugin field table.
- Plugin-specific options belong in the Plugin Reference.
- CLI flags belong in Command-Line Tools, while HTTP schemas belong in the Management API.
- The release
config.yamlis the canonical runnable example for that version. Runoxidns checkwith the new binary after an upgrade.
If an older bookmark opened this page, use the topic map above to reach the extracted guide.