Files
Charon/plugins/powerdns/README.md
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

1.2 KiB
Executable File

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

  1. Build the plugin as shown above
  2. Copy powerdns.so to /app/plugins/ (or your configured plugin directory)
  3. Restart Charon to load the plugin
  4. 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.