pan-net
terraform-provider-powerdns
Go

Terraform PowerDNS provider

Last updated Jun 29, 2026
53
Stars
54
Forks
28
Issues
0
Stars/day
Attention Score
29
Language breakdown
No language data available.
Files click to expand
README

Terraform Provider ==================

Requirements


- Terraform 0.12.x - Go >=1.16 (to build the provider plugin) - Goreleaser >=v0.157.0 (for releasing provider plugin)

The Go ang Goreleaser minimum versions were set to be able to build plugin for Darwin/ARM64 architecture see goreleaser notes.

Using the Provider (TF 0.13+)


terraform {
  required_providers {
    powerdns = {
      source = "pan-net/powerdns"
    }
  }
}

provider "powerdns" { serverurl = "https://host:port/" # or use PDNSSERVER_URL variable apikey = "secret" # or use PDNSAPI_KEY variable }

For detailed usage see provider's documentation page

Building The Provider


Clone the provider repository:

$ git clone git@github.com:terraform-providers/terraform-provider-powerdns

Navigate to repository directory:

$ cd terraform-provider-powerdns

Build repository:

$ go build

This will compile and place the provider binary, terraform-provider-powerdns, in the current directory.

Developing the Provider


If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is recommended). You'll also need to have $GOPATH/bin in your $PATH.

Make sure the changes you performed pass linting:

$ make lint

To install the provider, run make build. This will build the provider and put the provider binary in the current working directory.

$ make build

In order to run local provider tests, you can simply run make test.

$ make test

For running acceptance tests locally, you'll need to use docker-compose to prepare the test environment:

docker-compose run --rm setup

After setup is done, run the acceptance tests with make testacc (note the env variables needed to interact with the PowerDNS container)

  • HTTP
~$  PDNSSERVERURL=http://localhost:8081 \
    PDNSAPIKEY=secret \
    make testacc
  • HTTPS
<pre><code class="lang-sh">~$ PDNSSERVERURL=localhost:4443 \ PDNSAPIKEY=secret \ PDNS_CACERT=$(cat ./tests/files/ssl/rootCA/rootCA.crt) \ make testacc</code></pre>

And finally cleanup containers spun up by docker-compose:

~$ docker-compose down
🔗 More in this category

© 2026 GitRepoTrend · pan-net/terraform-provider-powerdns · Updated daily from GitHub