Manual Install
3 minute read
Installation
The StormForge Optimize Pro Controller runs inside your Kubernetes cluster. For a manual installation, the StormForge CLI tool is used to authenticate and generate credentials for the controller to use, and Helm is used to install and configure the controller components.
StormForge CLI
You will need to register a new cluster and retrieve credentials for it using the StormForge CLI prior to installing the StormForge Optimize Pro controller with Helm.
You can download and install using:
Linux Binary Download:
Linux install command:
# 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/
Windows Binary Download:
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" }
# Move-Item "stormforge.exe" "C:\somewhere-in-your-PATH\stormforge.exe"
macOS Binary Download:
macOS install command:
# 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/
Homebrew:
brew install thestormforge/tap/stormforge
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
We recommend setting the STORMFORGE_TOKEN
environment variable (from auth new-token
) if you want to use the container image directly.
Make sure that your version is v3.0.0+ by running stormforge version
.
Then log in using a web-based form:
stormforge login
Cluster and Credentials
The StormForge CLI is used to register the new cluster and output the required credentials that the controller will need.
Register a new cluster, and save the output to a credential-values.yaml
file:
stormforge create cluster my-cluster-name \
> credential-values.yaml
The values file will be used in the next step in which you install the controller using Helm.
Optimize Pro Controller
Install the Optimize Pro Controller in the stormforge-system
namespace. Make sure you provide the appropriate values files for for the cluster’s credentials.
helm install optimize-pro oci://registry.stormforge.io/library/optimize-pro \
--namespace stormforge-system \
--create-namespace \
--atomic \
--values credential-values.yaml
Customizing Installation
In cases where you would need to generate and manually apply the manifests, you can generate them and output them to a ./optimize-pro/
directory using helm template
:
helm template optimize-pro oci://registry.stormforge.io/library/optimize-pro \
--namespace stormforge-system \
--include-crds \
--values credential-values.yaml \
--output-dir .