Configuration¶
dnsweaver is configured through environment variables, making it ideal for Docker, Kubernetes, and Proxmox VE deployments. On Kubernetes, environment variables can be set via ConfigMaps, Helm values, or directly in Deployment manifests. This section covers all configuration options.
Configuration Methods¶
-
Environment Variables
The primary configuration method. All settings are controlled via
DNSWEAVER_*environment variables. -
Domain Matching
Configure which hostnames route to which DNS providers using glob patterns.
-
Secrets Management
Secure API tokens and credentials using Docker secrets, Kubernetes Secrets, or file-based configuration.
-
Operational Modes
Control how aggressively dnsweaver manages records with managed, authoritative, and additive modes.
-
Multi-Instance
Manage multiple DNS providers simultaneously with split-horizon, zone separation, and webhook patterns.
Quick Reference¶
The most important environment variables to configure:
| Variable | Description | Required |
|---|---|---|
DNSWEAVER_INSTANCES |
Comma-separated list of provider instance names | |
DNSWEAVER_<INSTANCE>_TYPE |
Provider type (technitium, cloudflare, etc.) |
|
DNSWEAVER_<INSTANCE>_DOMAINS |
Domain patterns this instance handles | |
DNSWEAVER_<INSTANCE>_TARGET |
Target IP or hostname for DNS records | |
DNSWEAVER_<INSTANCE>_ZONE |
DNS zone name | Provider-specific |
Provider-specific variables
Each provider type has additional required and optional variables. See the Providers section for details.
Configuration Validation¶
dnsweaver validates configuration at startup. If required variables are missing or invalid, it will log an error and exit. Run with DNSWEAVER_LOG_LEVEL=debug to see detailed configuration parsing.