Giter VIP home page Giter VIP logo

terraform-provider-powerdns's Introduction

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" {
  server_url = "https://host:port/"  # or use PDNS_SERVER_URL variable
  api_key    = "secret"              # or use PDNS_API_KEY variable
}

For detailed usage see provider's documentation page

Building The Provider

Clone the provider repository:

$ git clone [email protected]: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
~$  PDNS_SERVER_URL=http://localhost:8081 \
    PDNS_API_KEY=secret \
    make testacc
  • HTTPS
~$  PDNS_SERVER_URL=localhost:4443 \
    PDNS_API_KEY=secret \
    PDNS_CACERT=$(cat ./tests/files/ssl/rootCA/rootCA.crt) \
    make testacc

And finally cleanup containers spun up by docker-compose:

~$ docker-compose down

terraform-provider-powerdns's People

Contributors

mbag avatar splashx avatar grubernaut avatar radeksimko avatar jmcarp avatar andreykaipov avatar matusf avatar alkersan avatar stack72 avatar dkowis avatar jen20 avatar smuth4 avatar nowaker avatar anuriq avatar randomcamel avatar cgriggs01 avatar loksonarius avatar gechr avatar kavu avatar lazzurs avatar sethvargo avatar c33s avatar f440 avatar jbe-dw avatar katbyte avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.