/terraform-provider-rollbar

Terraform provider for Rollbar

Primary LanguageGoApache License 2.0Apache-2.0

Test Status

Terraform Provider Rollbar

This provider is used to configure certain resources supported by Rollbar API.

For provider bugs/questions, please open an issue on this repository.

Documentation

Documentation about resources and data sources can be found here.

Requirements

  • Terraform v0.12+. (No support for terraform v0.11)
  • Go v1.16 (to build the provider plugin)

Usage

For Terraform v0.12+ compatibility, the configuration should specify version 1.0.0 or higher:

provider "rollbar" {
  version = ">= 1.0.0"
}
  • This requires the provider binary installed somewhere on the host machine.

For Terraform v0.13+ compatibility, the following configuration should be used:

terraform {
  required_providers {
    rollbar = {
      source = "davidji99/rollbar"
      version = "1.0.0"
    }
  }
}

Releases

Provider binaries can be found here.

Development

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.12+ is required).

If you wish to bump the provider version, you can do so in the file version/version.go.

Clone the Provider

This repository supports Go modules so you can clone this repository anywhere you wish and does not have to be in $GOPATH.

Build the Provider

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
...
$ $GOPATH/bin/terraform-provider-rollbar
...

Using the Provider

To use the dev provider with local Terraform, copy the freshly built plugin into Terraform's local plugins directory:

cp $GOPATH/bin/terraform-provider-rollbar ~/.terraform.d/plugins/

Set the Rollbar provider without a version constraint:

provider "rollbar" {}

Then, initialize Terraform:

terraform init

Testing

Please see the TESTING guide for detailed instructions on running tests.

Updating or adding dependencies

This project uses Go Modules for dependency management.

Dependencies can be added or updated as follows:

$ GO111MODULE=on go get github.com/some/module@release-tag
$ GO111MODULE=on go mod tidy
$ GO111MODULE=on go mod vendor

This example will fetch a module at the release tag and record it in your project's go.mod and go.sum files. It's a good idea to tidy up afterward and then copy the dependencies into vendor/ directory.

If a module does not have release tags, then module@master can be used instead.

Removing dependencies

Remove all usage from your codebase and run:

$ GO111MODULE=on go mod tidy
$ GO111MODULE=on go mod vendor