Maintainers
This provider plugin is maintained by the Terraform team at HashiCorp.
Requirements
Building The Provider
Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-consul
$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone git@github.com:terraform-providers/terraform-provider-consul
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-consul
$ make build
Developing the Provider
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.8+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make bin
...
$ $GOPATH/bin/terraform-provider-consul
...
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
.
This should be performed before merging or opening pull requests.
$ CONSUL_HTTP_ADDR=localhost:8500 make testacc
This requires a running Consul agent locally. This provider targets
the latest version of Consul, but older versions should be compatible where
possible. In some cases, older versions of this provider will work with
older versions of Consul.
If you have Docker installed, you can
run Consul with the following command:
$ make test-serv
By default, this will use the latest version of Consul based on the latest
image in the Docker repository. You can specify a version with the following:
$ CONSUL_VERSION=1.0.1 make test-serv
This command will run attached and will stop Consul when
interrupted. Images will be cached locally by Docker so it is quicky to
restart the server as necessary. This will expose Consul on the default
adddress.
Nightly acceptance tests are run against the latest
tag of the Consul
Docker image. To run the acceptance tests against a development
version of Consul, you can compile it
locally and then run it in development mode:
$ consul agent -dev