1.2 KiB
1.2 KiB
PowerDNS Plugin for Charon
This is an example DNS provider plugin for Charon that adds support for PowerDNS Authoritative Server.
Building
To build this plugin, you must use CGO_ENABLED=1 and the same Go version as the Charon binary:
cd plugins/powerdns
CGO_ENABLED=1 go build -buildmode=plugin -o ../powerdns.so main.go
Installation
- Build the plugin as shown above
- Copy
powerdns.soto/app/plugins/(or your configured plugin directory) - Restart Charon to load the plugin
- The PowerDNS provider will appear in the DNS providers list
Configuration
The PowerDNS plugin requires:
- API URL: The PowerDNS HTTP API endpoint (e.g.,
https://pdns.example.com:8081) - API Key: Your PowerDNS API key (X-API-Key header value)
- Server ID (optional): PowerDNS server ID (default:
localhost)
Caddy Requirement
This plugin only handles the Charon UI/API integration. To use PowerDNS for DNS challenges, Caddy must be built with the caddy-dns/powerdns module.
Security
Always verify the plugin source before loading it. Plugins run in the same process as Charon and have full access to system resources.