/terraform-provider-couchdb

terraform provider for couchdb 1.6 and 2.x

Primary LanguageGoMozilla Public License 2.0MPL-2.0

Terraform Provider

Requirements

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

Building The Provider

Clone repository to: $GOPATH/src/github.com/nicolai86/terraform-provider-couchdb

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

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/nicolai86/terraform-provider-couchdb
$ make build

Using the provider

See also website/doc folder

provider "couchdb" {
  endpoint = "http://localhost:5984"
}

resource "couchdb_admin" "jenny" {
  name = "jenny"
  password = "secret" 
}

resource "couchdb_database" "db1" {
  name = "example"
}

resource "couchdb_database_replication" "db2db" {
  name = "example"
  source = "${couchdb_database.db1.name}"
  target = "example-clone"
  create_target = true
  continuous = true
}

resource "couchdb_database_design_document" "test" {
	database = "${couchdb_database.db1.name}"
	name = "types"

	view {
		name = "people"
		map = "function(doc) { if (doc.type == 'person') { emit(doc); } }"
	}
}

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-$PROVIDER_NAME
...

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