Skip to content

Provisioning Templates

The CoreConnect installation includes CLI-provided infrastructure templates, designed to simplify the provisioning of CoreConnect’s necessary external resources. These templates leverage Pulumi, an open-source Infrastructure as Code (IaC) tool. Pulumi allows you to define, deploy, and manage cloud infrastructure using familiar programming languages.

While the use of these templates is optional, they are recommended for a streamlined deployment of your CoreConnect environment. The primary benefit of using IaC templates is the ease of managing and maintaining your project in a version-controlled manner. Additionally, they facilitate the replication of your infrastructure across various environments.

However, it’s crucial to note that these templates are not intended for continuous deployment. They should be linked to resources that seldom change. For example, in your CommerceTools project, you might want to keep your project settings and shipping methods on version control while categories and product lists should ideally be linked to a Product Information Management (PIM) system.

CommerceTools

With the CommerceTools provisioning template, you can provision your CommerceTools project to be used with CoreConnect. Here’s a list of the example resources that can be created and maintained on your CommerceTools project:

  • Categories
  • Channels
  • Project Settings
  • Shipping Methods
  • Stores
  • Taxes (tax categories, tax rates, and tax zones)

Technical details

Core Connect

Infrastructure as Code for CommerceTools

Pulumi

https://www.pulumi.com/docs/

Pulumi Examples

https://github.com/pulumi/examples

Get started

  • Install the Pulumi CLI
Terminal window
brew install pulumi/tap/pulumi
  • Manage your Pulumi stacks by logging in.
Terminal window
pulumi login
  • Set the default destination org for all stack operations
Terminal window
pulumi org set-default rb2
  • List stacks
Terminal window
pulumi stack ls
  • Choose a stack, or create a new one
Terminal window
pulumi stack <create a new stack>

e.g. pulumi stack rb2/dev

  • Create or update the resources in a stack
Terminal window
pulumi up

Commercetools Pulumi project

  • On the first run, you will need install all the dependencies for the project under the commercetools directory
Terminal window
cd commercetools
npm install
  • The Pulumi Commercetools Plugin needs to be installed manually
Terminal window
pulumi plugin install --server https://github.com/unplatform-io/pulumi-commercetools/releases/download/v1.12.0 resource commercetools v1.12.0
  • Set up the project configuration

You will first need to create an empty commercetools project and an API client to get the client_id and client_secret. Aftewards, you can set the configuration using the following commands:

pulumi config set cc-commercetools:environment: <your environment>
pulumi config set cc-commercetools:projectName: cc-commercetools
pulumi config set cc-commercetools:projectNameShort: cc-commercetools
pulumi config set commercetools:clientId <client_id>
pulumi config set commercetools:clientSecret --secret <client_secret>
pulumi config set commercetools:projectKey <project_key>
pulumi config set commercetools:authUrl <auth_url (e.g. myctproj)>
pulumi config set commercetools:apiUrl <api_url (e.g. https://api.europe-west1.gcp.commercetools.com)>
pulumi config set commercetools:scopes <scopes (e.g. manage_project:myctproj)>
pulumi config set commercetools:tokenUrl <region (e.g. https://auth.europe-west1.gcp.commercetools.com)>
  • Create or update the resources in a stack
Terminal window
pulumi up