- Website: https://www.terraform.io
- Mailing list: Google Groups
Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-cloudflare
$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone https://github.com/terraform-providers/terraform-provider-cloudflare.git
When it comes to building you have two options:
If you don't mind installing the development version of the provider
globally, you can use make build
in the provider directory which will
build and link the binary into your $GOPATH/bin
directory.
$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-cloudflare
$ make build
If you would rather install the provider locally and not impact the
stable version you already have installed, you can use the
~/.terraformrc
file to tell Terraform where your provider is. You do
this by building the provider using Go.
$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-cloudflare
$ go build -o terraform-provider-cloudflare
And then update your ~/.terraformrc
file to point at the location
you've built it.
providers {
cloudflare = "${GOPATH}/github.com/terraform-providers/terraform-provider-cloudflare/terraform-provider-cloudflare"
}
A caveat with this approach is that you will need to run terraform init
whenever the provider is rebuilt. You'll also need to remember to
comment it/remove it when it's not in use to avoid tripping yourself up.
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.9+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
See above for which option suits your workflow for building the provider.
In order to test the provider, you can simply run make test
.
$ make test
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc
Terraform providers use govendor
to manage the vendored
dependencies. To update a dependency, you can run govendor fetch <dependency_path>
. An example of updating the cloudflare-go
library:
$ govendor fetch github.com/cloudflare/cloudflare-go
This will update the local vendor
directory and vendor/vendor.json
to include the new dependencies.