This repository contains the Polytomic Terraform provider. This provider may be used to manage on premises deployments.
provider "polytomic" {
deployment_url = "polytomic.acmeinc.com"
deployment_api_key = "secret-key"
}
resource "polytomic_organization" "acme" {
name = "Acme, Inc."
}
resource "polytomic_user" "acme_admin" {
organization = polytomic_organization.acme.id
email = "[email protected]"
role = "admin"
}
If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).
Connections can be added by editing provider/gen/connections/connections.yaml
and running go generate
To compile the provider, run go install
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
To generate or update documentation, run go generate
.
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
- Clone the repository
- Enter the repository directory
- Build the provider using the Go
install
command:
go install
This provider uses Go modules. Please see the Go documentation for the most up to date information about using Go modules.
To add a new dependency github.com/author/dependency
to your Terraform provider:
go get github.com/author/dependency
go mod tidy
Then commit the changes to go.mod
and go.sum
.
If you wish to test a pre-release version of the provider, you can use the a
.tfrc
file to specify the location of your local provider binary. If you
installed the provider using go install
, create a dev.tfrc
file with the
following contents, substituting the correct home directory path.
provider_installation {
dev_overrides {
"polytomic/polytomic" = "/Users/username/go/bin"
}
# all the other providers, install them as usual
direct {}
}
To instruct Terraform to use those settings, set the TF_CLI_CONFIG
environment
variable.
$ TF_CLI_CONFIG_FILE=dev.tfrc terraform apply
-
Update CHANGELOG.md with release details and date and commit.
-
Create an annotated version tag; a version tag consists of the letter
v
followed byMAJOR.MINOR.PATCH
. For example:git tag -a v0.2.0
-
Push the tag to Github.
git push origin v0.2.0
Github Actions are configured to build release tags and create a new release. Once the release has been created, the Terraform registry will pick it up within a few minutes.