/terraform-provider-grafana

Terraform Grafana provider

Primary LanguageGoMozilla Public License 2.0MPL-2.0

Terraform Provider

Requirements

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

Building The Provider

Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-grafana

$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone git@github.com:terraform-providers/terraform-provider-grafana

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-grafana
$ make build

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ 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-grafana
...

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.

$ GRAFANA_URL=http://localhost:3000 GRAFANA_AUTH=admin:admin make testacc

This requires a running Grafana server locally. This provider targets the latest version of Grafana, but older versions should be compatible where possible. In some cases, older versions of this provider will work with older versions of Grafana.

If you have Docker installed, you can run Grafana with the following command:

$ make test-serv

By default, this will use the latest version of Grafana based on their Docker repository. You can specify the version with the following:

$ GRAFANA_VERSION=3.1.1 make test-serv

This command will run attached and will stop the Grafana server when interrupted. Images will be cached locally by Docker so it is quicky to restart the server as necessary. The server will use the default port and credentials for the GRAFANA_AUTH and GRAFANA_URL environment variables.

Nightly acceptance tests are run against the latest tag of the Grafana maintained Docker image.