Skip to content

feat(provider): add PowerDNS Authoritative DNS provider - #1090

Open
bohemtucsok wants to merge 1 commit into
qdm12:masterfrom
bohemtucsok:master
Open

feat(provider): add PowerDNS Authoritative DNS provider#1090
bohemtucsok wants to merge 1 commit into
qdm12:masterfrom
bohemtucsok:master

Conversation

@bohemtucsok

Copy link
Copy Markdown

Summary

  • Adds PowerDNS Authoritative DNS server as a new provider
  • Uses the PowerDNS HTTP API (PATCH /api/v1/servers/{id}/zones/{zone}) with X-API-Key authentication to create/update A and AAAA records
  • Configuration parameters: server_url (required), api_key (required), server_id (default: localhost), ttl (default: 300)

Closes #518

Changes

  • New: internal/provider/providers/powerdns/provider.go — Full provider implementation
  • New: docs/powerdns.md — Configuration documentation
  • Modified: internal/provider/constants/providers.go — Added PowerDNS constant and ProviderChoices()
  • Modified: internal/provider/provider.go — Added import and switch case in factory
  • Modified: README.md — Added PowerDNS to the provider list

Test plan

  • go build ./... passes
  • go test ./... passes (all existing tests)
  • Tested against a real PowerDNS Authoritative server (v4.9.2) — PATCH returns HTTP 204, record updated successfully

Add support for PowerDNS Authoritative DNS server as a new provider.
Uses the PowerDNS HTTP API (PATCH /api/v1/servers/{id}/zones/{zone})
with X-API-Key authentication to update A/AAAA records.

Configuration: server_url, api_key, server_id (default: localhost),
ttl (default: 300).

Closes qdm12#518

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: PowerDNS-Admin

1 participant