This is the Terraform provider for commercetools. It allows you to configure your commercetools project with infrastructure-as-code principles. The project is in development and it might not support the complete commercetools API yet, but it can be considered 'production' ready for the resource it does support.
Need support implementing this terraform module in your organization? We are able to offer support. Please contact us at opensource@labdigital.nl
This is a third-party provider and that means that terraform cannot download it automatically.
Packages of the releases are available at https://github.com/labd/terraform-provider-commercetools/releases See the terraform documentation for more information about installing third-party providers.
Add the terraform tap:
$ brew tap labd/homebrew-terraform-provider-commercetools
Then install the provider:
$ brew install terraform-provider-commercetools
And follow the terminal output instructions to symlink the binary.
Read our documentation and check out the examples.
Clone repository to: $GOPATH/src/github.com/labd/terraform-provider-commercetools
$ mkdir -p $GOPATH/src/github.com/labd; cd $GOPATH/src/github.com/labd
$ git clone git@github.com:labd/terraform-provider-commercetools
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/labd/terraform-provider-commercetools
$ make build
To then locally test:
$ cp terraform-provider-commercetools ~/.terraform.d/plugins/darwin_amd64/terraform-provider-commercetools
The commercetools-go-sdk always uses the latest (master) version. To update to the latest version:
make update-sdk
There are two environment settings for troubleshooting:
TF_LOG=1
enables debug output for Terraform.CTP_DEBUG=1
enables debug output for the Commercetools GO SDK this provider uses.
Note this generates a lot of output!
This project uses Goreleaser, see .goreleaser.yml
. To release:
git tag <release> -m "Release <release>" # please use semantic version, so always X.Y.Z
git push --follow-tags
GITHUB_TOKEN=<your github token> goreleaser release --rm-dist
$ make test
In order to run the full suite of Acceptance tests, run make testacc
.
NOTE: Acceptance tests create real resources.
Prior to running the tests provider configuration details such as access keys must be made available as environment variables.
Since we need to be able to create commercetools resources, we need the commercetools API credentials. So in order for the acceptance tests to run correctly please provide all of the following:
export CTP_CLIENT_ID=...
export CTP_CLIENT_SECRET=...
export CTP_PROJECT_KEY=...
For convenience, place a testenv.sh
in your local
folder (which is
included in .gitignore) where you can store these environment variables.
Tests can then be started by running
$ source local/testenv.sh
$ make testacc
This project is developed by Lab Digital. We welcome additional contributors. Please see our GitHub repository for more information.