Skip to content

schoology/terraform-provider-consul-yaml

 
 

Repository files navigation

Terraform Consul provider with YAML support

This is a fork of the terraform-provider-consul provider. The consul-yaml provider allows managing consul keys using YAML instead of the the traditional HCL or JSON formats.

Maintainers

This provider plugin is maintained by the ProdOps team at Schoology.

Requirements

  • Terraform 0.10.x
  • Go 1.8 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/schoology/terraform-provider-consul-yaml

$ mkdir -p $GOPATH/src/schoology; cd $GOPATH/src/schoology
$ git clone https://github.com/schoology/terraform-provider-consul-yaml.git

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/schoology/terraform-provider-consul-yaml
$ 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.

Once you have compiled the provider you can find binary in the $GOPATH/bin directory. To test with Terraform you will need to move the binary to your local plugin directory, located at %APPDATA%\terraform.d\plugins on Windows and ~/.terraform.d/plugins on other systems.

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

About

Terraform Consul provider with YAML support

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 85.0%
  • Shell 7.6%
  • Makefile 7.4%