Prerequisites

Prerequisites

The main requirement for the successful installation of the Precomposer is a Kubernetes cluster. Apart from details with the LoadBalancers of the various cluster providers, the Precomposer can be installed anywhere. Currently the following providers have been tested:

  • Digitalocean
  • Amazon AWS (EKS)
  • Microsoft Azure

Please make sure, your cluster

  • has at least 2 running nodes with at least 4 GB of RAM each (better 8),
  • is able (has the rights/roles) to create volumes. (for Amazon clusters: In our cases, EBS was sufficient: EBS CSI Driver incl. Role),
  • is really new (i.e. it has no pre-configuration except CoreDNS etc.)

Directly after the installation of the Precomposer, all services are only scaled to 1 instance and they do not have any relevant load. So if you want to run higher scales and load you should conisder higher capacities (number of nodes, RAM etc).

Preparation

Accounts

You need accounts or credentials for

  1. Your Kubernetes cluster (next section)
  2. Commercetools
  3. Commercetools Checkout application (optional)
  4. Storyblok
  5. GitHub
  6. Sendgrid
  7. Algolia (optional)

For detail about how to get the needed credentials, see the installation section.

Cluster Access

For standard generic Kubernetes clusters, you only need to provide the kubeconfig. This is the one you also need for kubectl, often called kubeconfig.yaml. It can be displayed e.g. by using kubectl config view --minify --flatten.

When using Digitalocean it's also possible to access the kubeconfig on the webpage: Switch from the cluster's overview to the tab "Settings", then click onto the blue top right "Actions" button and choose "Download Config".

Additionally, some k8s cluster providers require some special access variables:

Amazon AWS clusters

In addition to the kubeconfig, you also need to provide AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.

Demo Data (optional)

For testing purposes, the Precomposer has some demo data integrated, which is automatically imported in the default settings. Namely for Commercetools (these are largely based on the public demo data of the Sunrise shop of Commercetools) and for Storyblok. For this to work, you need to set the GitHub secret STORYBLOK_MGMT_TOKEN.

How you want to use your own demo data is described in the section TODO