All Projects → labd → terraform-provider-commercetools

labd / terraform-provider-commercetools

Licence: MPL-2.0 license
Terraform provider for commercetools

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to terraform-provider-commercetools

Terraform Provider Openstack
Terraform OpenStack provider
Stars: ✭ 225 (+287.93%)
Mutual labels:  terraform-provider
commercetools-sync-java
Java library for importing and syncing (taking care of changes) data into one or more commercetools projects from external data files or from another commercetools project.
Stars: ✭ 26 (-55.17%)
Mutual labels:  commercetools
terraform-provider-external
Utility provider that exists to provide an interface between Terraform and external programs. Useful for integrating Terraform with a system for which a first-class provider does not exist.
Stars: ✭ 136 (+134.48%)
Mutual labels:  terraform-provider
Terraform Provider Virtualbox
VirtualBox provider for Terraform
Stars: ✭ 239 (+312.07%)
Mutual labels:  terraform-provider
commercetools-project-sync
Dockerized CLI application which allows to automatically sync different resources between commercetools projects
Stars: ✭ 26 (-55.17%)
Mutual labels:  commercetools
commercetools-sdk-java-v2
The e-commerce SDK from commercetools for Java.
Stars: ✭ 16 (-72.41%)
Mutual labels:  commercetools
Terraform Provider Cloudflare
Cloudflare Terraform Provider
Stars: ✭ 208 (+258.62%)
Mutual labels:  terraform-provider
terraform-provider-logicmonitor
Terraform LogicMonitor provider.
Stars: ✭ 19 (-67.24%)
Mutual labels:  terraform-provider
commercetools-jvm-sdk
The e-commerce SDK from commercetools running on the Java virtual machine.
Stars: ✭ 59 (+1.72%)
Mutual labels:  commercetools
terraform-provider-mysql
Terraform MySQL provider – This Terraform provider is archived per our provider archiving process: https://terraform.io/docs/internals/archiving.html
Stars: ✭ 59 (+1.72%)
Mutual labels:  terraform-provider
Terraform Provider Unifi
Terraform provider for Unifi 📡
Stars: ✭ 239 (+312.07%)
Mutual labels:  terraform-provider
Terraform Provider Auth0
Auth0 Terraform Provider
Stars: ✭ 252 (+334.48%)
Mutual labels:  terraform-provider
Vue Storefront
The open-source frontend for any eCommerce. Built with a PWA and headless approach, using a modern JS stack. We have custom integrations with Magento, commercetools, Shopware and Shopify and total coverage is just a matter of time. The API approach also allows you to merge VSF with any third-party tool like CMS, payment gateways or analytics. Ne…
Stars: ✭ 9,111 (+15608.62%)
Mutual labels:  commercetools
Terraform Provider Keycloak
Terraform provider for Keycloak
Stars: ✭ 230 (+296.55%)
Mutual labels:  terraform-provider
terraform-provider-hcp
Terraform provider for HashiCorp Cloud Platform.
Stars: ✭ 36 (-37.93%)
Mutual labels:  terraform-provider
Terraform Provider Datadog
Terraform Datadog provider
Stars: ✭ 213 (+267.24%)
Mutual labels:  terraform-provider
commercetools-sdk-typescript
The e-commerce SDK from commercetools for JavaScript written in TypeScript.
Stars: ✭ 25 (-56.9%)
Mutual labels:  commercetools
terraform-provider-twitter
No description or website provided.
Stars: ✭ 24 (-58.62%)
Mutual labels:  terraform-provider
terraform-provider-oneview
Automates the provisioning of physical infrastructure from a private cloud using templates from HPE OneView with Terraform
Stars: ✭ 46 (-20.69%)
Mutual labels:  terraform-provider
terraform-provider-tsuru
Terraform provider for tsuru
Stars: ✭ 17 (-70.69%)
Mutual labels:  terraform-provider

commercetools Terraform Provider

Test status codecov Go Report Card

The Terraform commercetools provider allows you to configure your commercetools project with infrastructure-as-code principles.

Commercial support

Need support implementing this terraform module in your organization? We are able to offer support. Please contact us at [email protected]

Quick start

Read our documentation and check out the examples.

Usage

The provider is distributed via the Terraform registry. To use it you need to configure the required_provider block. For example:

terraform {
  required_providers {
    commercetools = {
      source = "labd/commercetools"
      
      # It's recommended to pin the version, e.g.:
      # version = "~> 1.4.0"
    }
  }
}

Binaries

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.

Contributing

Building the provider

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 [email protected]: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_${LOCAL_TEST_VERSION} ~/.terraform.d/plugins/local/labd/commercetools/${LOCAL_TEST_VERSION}/${OS_ARCH}/terraform-provider-commercetools_${LOCAL_TEST_VERSION}

Adding new resources

When commercetools releases new features which include new resources these need to be implemented in terraform as new resources too. This provider is currently undergoing a migration path to move from terraform-plugin-sdk to the new terraform-plugin-framework. All new resources therefore need to be written using the terraform-plugin-framework module. See the subscription component as example.

Debugging / Troubleshooting

There are two environment settings for troubleshooting:

  • TF_LOG=INFO 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!

Releasing

When pushing a new tag prefixed with v a GitHub action will automatically use Goreleaser to build and release the build.

git tag <release> -m "Release <release>" # please use semantic version, so always vX.Y.Z
git push --follow-tags

Testing

Running the unit tests

$ make test

Running an Acceptance 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=...
export CTP_SCOPES=...

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

Authors

This project is developed by Lab Digital. We welcome additional contributors. Please see our GitHub repository for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].