Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status GitHub


A Terraform provider for the VinylDNS DNS as a service API.

See for an example .tf file.

See for documentation.


  1. Download the desired release version for your operating system from GitHub.
  2. Untar the download contents
  3. Install the terraform-provider-vinyldns anywhere on your system
  4. Add terraform-provider-vinyldns to your ~/.terraformrc file:
providers {
  "vinyldns" = "path/to/your/terraform-provider-vinyldns"

Installing from source

Alternatively, you can install from source:

go get
cd $GOPATH/src/
make install

Add terraform-provider-vinyldns to your ~/.terraformrc:

providers {
  "vinyldns" = "your-gopath/bin/terraform-provider-vinyldns"

Running acceptance tests

The terraform-provider-vinyldns acceptance tests assume a VinylDNS API is running on localhost:9000.

To run a local VinylDNS API, you'll need to:

git clone
cd vinyldns

Note that a make convenience task handles this:

make start-api

Then, to run the terraform-provider-vinyldns acceptance tests against the local Dockerized VinylDNS API server:

make test

To stop the localhost:9000 VinylDNS:

make stop-api


To build terraform-provider-vinyldns binaries for all supported platforms:

make build

Building in Docker

The project contains a docker-compose.yml/Dockerfile that will perform a test build in a empty container. To run on windows:

docker-compose up --force-recreate --build builder
docker-compose down

or on Mac or Linux (preferred):


Upgrading Dependencies

dep is used to manage dependencies. To require a specific version of

To add a dependency:

dep ensure -add


terraform-provider-vinyldns would not be possible without the help of many other pieces of open source software. Thank you open source world!

Given the Apache 2.0 license of terraform-provider-vinyldns, we specifically want to call out the following packages and their corresponding licenses: