Install

Learn how to install StormForge Optimize Live

Prerequisites

Installation

The StormForge Optimize Live Controller runs inside your Kubernetes cluster. It is installed and managed using the StormForge CLI tool.

StormForge CLI

The StormForge CLI is used to authenticate, retrieve credentials, register, and install the controller on your Kubernetes cluster.

You can download and install the CLI tool using:

Choose one of the two methods below to install the StormForge CLI.

Copy the following command to a terminal window:

# Automatically selects either AMD64 or ARM64 architecture, downloads
# the appropriate binary, then moves it to a location in PATH
{ [ "$(uname -sm)" = "Linux x86_64"  ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_linux_amd64.tar.gz | tar -xz; } ||
{ [ "$(uname -sm)" = "Linux aarch64" ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_linux_arm64.tar.gz | tar -xz; } &&
sudo mv stormforge /usr/local/bin/

Download the appropriate Linux binary and extract the files.

Amd64 | Arm64

Then, run:

sudo mv stormforge /usr/local/bin/

Choose one of the two methods below to install the StormForge CLI.

Download the appropriate Windows binary and extract the files.

Amd64 | Arm64

Then, move stormforge.exe to a folder defined in your Windows PATH environment variable.


Run the following PowerShell install command:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
If ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") { Invoke-WebRequest -Uri "https://downloads.stormforge.io/stormforge-cli/latest/stormforge_windows_amd64.zip" -Outfile "stormforge.zip" }
If ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { Invoke-WebRequest -Uri "https://downloads.stormforge.io/stormforge-cli/latest/stormforge_windows_arm64.zip" -Outfile "stormforge.zip" }
Expand-Archive "stormforge.zip" "." -WarningVariable $w; if ($w.Count -eq 0) { Remove-Item "stormforge.zip" } 

Then, move stormforge.exe to a folder defined in your Windows PATH environment variable.

Choose one of the three methods below to install the StormForge CLI.

Homebrew:

brew install thestormforge/tap/stormforge

Copy the following macOS install command to a terminal:

# Automatically selects either AMD64 or ARM64 architecture, downloads
# the appropriate binary, then moves it to a location in PATH
{ [ "$(uname -sm)" = "Darwin x86_64" ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_darwin_amd64.tar.gz | tar -xz; } ||
{ [ "$(uname -sm)" = "Darwin arm64"  ] && curl -L https://downloads.stormforge.io/stormforge-cli/latest/stormforge_darwin_arm64.tar.gz | tar -xz; } &&
sudo mv stormforge /usr/local/bin/

Download the appropriate macOS binary and install it using your preferred binary installer.

Amd64 | Arm64

We provide a container image at registry.stormforge.io/library/stormforge-cli (for linux/amd64 and linux/arm64):

docker pull registry.stormforge.io/library/stormforge-cli

If you prefer to use the container image directly, set the STORMFORGE_TOKEN environment variable (from auth create -o token).

Make sure that your version is v3.0.0+ by running stormforge version. Then log in using a web-based form:

stormforge login

Optimize Live Controller

To install the StormForge Optimize Live Controller on your cluster, use the stormforge install command. This will install the Optimize Live Controller in the stormforge-system namespace and register the new cluster with StormForge.

Before running the command, you will need to choose a metrics provider: either Prometheus or Datadog.

Configure Metrics Provider

StormForge Optimize Live supports either Prometheus or Datadog as its metrics provider. Create and save a metrics-provider-values.yaml file for the provider of your choice; then, add the following key-value pairs shown below, replacing the placeholder values.

Configure the metricsURL:

# metrics-provider-values.yaml
---
metricsURL: PROMETHEUS_SERVER_URL

For details about setting these and other variables, see the StormForge Datadog integration reference page.

Note: DD_SITE defaults to datadoghq.com. Specify the value for the Datadog parameter site you’re using.

# metrics-provider-values.yaml
---
extraEnvVars:
- name: DD_API_KEY
  value: DATADOG_API_KEY
- name: DD_APP_KEY
  value: DATADOG_APP_KEY
- name: DD_CLUSTER_NAME
  value: DATADOG_CLUSTER_NAME
- name: DD_SITE
  value: DATADOG_SITE_PARAMETER  

To avoid hitting query rate limits, consider adding the following key-value pairs to reduce the backfill of older data and adjust the rate at which Optimize Live fetches new data from Datadog.

# metrics-provider-values.yaml
---
extraEnvVars:
- name: TSDB_BACKFILL_DURATION
  value: "0s"
 - name: TSDB_INTERVAL
   value: "30m"

Install Controller

Using the metrics provider configuration file created in the previous step, use stormforge install to deploy the configuration:

stormforge install optimize-live \
  --values metrics-provider-values.yaml

Next Steps

You are now ready to optimize your first application by following our configuration guide.

Last modified April 13, 2023