Skip to main content

Quick Start

This guide walks through installing Speedscale into a new environment. After completing these steps the Speedscale Operator will be installed in your cluster and you should continue on to the tutorial to record, replay and view results for a demo application.

Speedscale is tested with apps hosted on the local desktop all the way up to high scale enterprise Kubernetes clusters. If this is your first time working with Speedscale, it's easiest to just run on your local desktop and record traffic from a local process. Keep in mind that it is very common to record traffic in one environment (like a production Kubernetes cluster) and replay it somewhere else (like a local mock server).

This guide will walk you through the following steps:

  1. Retrieve your API Key
  2. Install CLI (recommended)
  3. Install Operator (if required)
  4. Verify Installation
  5. Capture and replay traffic against a demo app

Retrieve your API Key

You will need to get your personal API key from your Profile Page. Copy the API key and paste when prompted.

Install CLI (optional)

If you are running Speedscale on a local desktop or in Docker Desktop, the CLI is required. For all other users it is highly recommended because it allows programmatic interaction with Speedscale cloud.

Start by installing the Speedscale CLI-based API (speedctl) via Homebrew:

brew install speedscale/tap/speedctl

Or via the install script:

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)"

Install a specific version py passing it to the install script:

sh -c "$(curl -Lfs https://downloads.speedscale.com/speedctl/install)" -s v1.4.63

Optionally skip the install script and install manually:

# Download speedctl binay on your machine
curl "https://downloads.speedscale.com/speedctl/speedctl-$(case $(uname -s) in Darwin) echo 'darwin' ;; Linux) echo 'linux';; esac)-$(case $(uname -m) in x86_64) echo 'amd64';; arm | arm64 | aarch64) echo 'arm64';; esac)" -o speedctl

# Create speedscale directory and move the binary to the directory
mkdir ~/.speedscale
mv ./speedctl ~/.speedscale

# Give execute permission to the binary
chmod +x ~/.speedscale/speedctl

# Add the Speedscale path to your PATH, change bashrc based on your Shell
echo "export PATH=\$PATH:$HOME/.speedscale" >> ~/.bashrc

Install Speedscale Operator

If you are running Speedscale on your local desktop, you should continue directly to the tutorial. The rest of this document is focused on installing a Kubernetes-based demo.

If you are using a common Kubernetes distribution (EKS, GKE, minikube, etc) then you can install using these instructions. If you are not running in Kubernetes, or are running with a more specialized enterprise distribution please select environment-specific instructions in this section.

Make sure you have Helm 3 installed. Then,

helm install speedscale-operator speedscale/speedscale-operator \
-n speedscale \
--create-namespace \
--set apiKey=<YOUR-SPEEDSCALE-API-KEY> \
--set clusterName=<YOUR-CLUSTER-NAME>

Navigate to the Helm repository for all configuration options available for the Helm chart.

Verify Installation

Make sure the operator pods are running properly:

kubectl -n speedscale get pods

Note: The Operator will start at least 2 pods (the operator itself and the Speedscale Forwarder) after it starts. On your cluster the ids of the pods will be different.

NAME                                    READY   STATUS    RESTARTS   AGE
speedscale-forwarder-xxxxxxxxxx-xxxxx 1/1 Running 0 5s
speedscale-operator-xxxxxxxxxx-xxxxx 1/1 Running 0 15s
tip

If you have any issues installing, check out the troubleshooting guide or contact support on slack

Next Steps

At this point Speedscale is present in your cluster and you are now ready to target workloads for record and playback. If this is your first installation please continue using our multi-platform tutorial for a full walkthrough.

If you're already an expert you can click the Add Service button in the UI to automatically add sidecars or install them manually.