Prerequisites

Prerequisites

To successfully install Precomposer, you need a Kubernetes cluster. While LoadBalancer configurations may vary across providers, Precomposer is compatible with any Kubernetes cluster. The following providers have been tested:

  • DigitalOcean
  • Amazon AWS (EKS)
  • Microsoft Azure

Cluster Requirements

Ensure your Kubernetes cluster meets these requirements:

  • Nodes: At least 2 nodes, each with a minimum of 4 GB RAM (8 GB recommended).
  • Volume Creation: The cluster must have permissions to create volumes.
  • For Amazon clusters: Use EBS volumes and ensure the EBS CSI Driver is installed and configured with the correct role.
  • Fresh Cluster: The cluster should be new, with no pre-configurations except for core components like CoreDNS.

Note: After installation, all services are scaled to 1 instance with minimal load. For scaling or handling higher loads, increase the number of nodes and their memory capacity.

Preparation

Required Accounts

You will need accounts or credentials for the following services:

  1. Kubernetes Cluster (see details below)
  2. Commercetools
  3. Commercetools Checkout Application (optional)
  4. Storyblok
  5. GitHub
  6. SendGrid
  7. Algolia (optional)

For instructions on obtaining these credentials, refer to the Installation Guide.

Cluster Access

To access a Kubernetes cluster, you need to provide the kubeconfig file. This file is used by kubectl to authenticate and manage the cluster. It is typically named kubeconfig.yaml.

Retrieving the Kubeconfig File

Generic Kubernetes Clusters

You can display a minimal version of the kubeconfig file using the following command:

kubectl config view --minify --flatten
DigitalOcean Clusters

You can download the kubeconfig file directly from the DigitalOcean web interface: Cluster Overview -> Settings -> Actions (top-right) -> Download Config.

Additional Access Requirements for Specific Providers

Some Kubernetes cluster providers require additional credentials:

Amazon AWS Clusters

In addition to the kubeconfig file, you must provide the following environment variables:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

For more details on managing kubeconfig files, refer to the Kubernetes Documentation (opens in a new tab).

Automatic import of Demo Data (Optional)

Precomposer includes integrated demo data for testing purposes, which is automatically imported with the default settings. This demo data is available for the following platforms:

  • Commercetools: The data is largely based on the public demo data of the Sunrise shop provided by Commercetools.
  • Storyblok: Some basic stories for the Storefront.

To enable the demo data import, you need to set the GitHub secret STORYBLOK_MGMT_TOKEN.

If you prefer to use your own demo data, detailed instructions are provided in the TODO section.