Optimize Pro

Optimize Pro release history

Version 3.2.2


  • Dependency upgrades

Version 3.2.1


  • Upgrade Kubernetes dependencies to 1.27.x


  • Errors collecting JSON path metrics are now properly reported

Version 3.2.0


  • Trials no longer fail if pods from old deployment revisions are OOMKilled or unschedulable. Now trials will check only pods from the active revision of a Deployment for these conditions. This requires new permissions (see below).


  • RBAC generation now adds get permissions for ReplicaSets if an experiment works with a Deployment. You might need to regenerate experiment permissions by running stormforge rbac /path/to/experiment.yaml.

Version 3.1.2


  • Upgraded Kubernetes libraries from 0.25.6 to 0.26.3


  • The built-in Prometheus properly scrapes KSM container resource requests
  • Stop attempts to add application and scenario labels to experiments during migration

Version 3.1.1


  • Built with Go 1.19
  • Upgraded kube-state-metrics from 1.9.8 to 2.7.0
  • Improved metric templating to work with non-PromQL queries


  • Fixed a panic when omitting scalar from PromQL queries


The version of kube-state-metrics (KSM) has been upgraded from 1.x to 2.x; this allows the built-in Prometheus setup task to run on ARM platforms. As a result of the upgrade, some PromQL queries may need to be updated to account for changes in metric names (e.g. kube_pod_container_resource_requests_cpu_cores became kube_pod_container_resource_requests{resource="cpu"}).

UI enhancements

  • Launch from the left navigation

    Launch or switch between Optimize Pro and Optimize Live from the left navigation rather than from the tabs within an application. This update takes you to your experiments faster.

Version 3.1.0


  • The Helm chart now supports the creation of an image pull secret for the controller service account.


  • Support for applications and scenarios.


  • Generated experiments now reference the correct service account for setup tasks.

Version 3.0.1


  • Included embedded object metadata fields in the CRD schema for compatibility with strict validation
  • Restored missing field descriptions in the API reference

Version 3.0.0


  • ARM v8 support


  • Upgraded Kubernetes libraries to 0.25.5
  • Upgraded Controller Runtime to 0.13.1
  • The controller image and Helm chart are now distributed via registry.stormforge.io
  • Kubernetes resource names have changed to include “pro”
  • Trusted trial jobs can now get a STORMFORGE_TOKEN
  • Setup tasks must have a name
  • The manager exits when it receives an authorized error
  • The JSON logging format has changed and levels are now configurable
  • Installation no longer includes default RBAC


  • Polling for UI triggered experiment runs will be removed in the next release


  • The setuptools image has been removed. Setup tasks must have an image or Helm chart.


  • Trial finalizers are cleaned up when setup tasks are no valid
  • All trial job pods must be terminated for a trial to complete



Previous versions of Optimize Pro included a dedicated CLI. Starting with v3, the StormForge CLI is distributed (and must be upgraded) separately from the Optimize Pro controller running in your cluster. You can run stormforge check version to ensure you are running the most up-to-date CLI. You can check what version of Optimize Pro is running in your cluster by running stormforge check optimize-pro.

From v2

If you are upgrading from version 2.x, you must fully uninstall the v2 controller before installing the v3 controller (due to changes in the resource names). To uninstall, run stormforge uninstall optimize-pro (or stormforge reset for older versions of the CLI). Note that uninstalling will remove the Experiment CRD, causing all experiments in the cluster to be deleted: Be sure to back up the experiment manifests outside the cluster before uninstalling. (Your trial data is stored on the StormForge servers and need not be backed up.)

Experiment Manifests

When upgrading Optimize Pro, be sure to upgrade your StormForge CLI and run the stormforge fix command to update your experiment manifests. You should also run stormforge check experiment to ensure there are no known issues with your experiments.

RBAC Changes

Previous versions of Optimize Pro included cluster-wide permissions to modify common resources (such as deployments). Starting in v3, these cluster roles are not included by default. After running stormforge fix over your experiment manifests, run the stormforge rbac command to generate the necessary roles and bindings for running your experiment.

UI enhancements

  • When you click a trial, we now add categorical data to the chart and drawer

Version 2.1.1

  • Experiments with constant parameters are validated
  • Reduced the number of requested scopes during authorization exchanges

Version 2.1.0

  • Trial job init containers now get the trial assignment environment variables
  • The FAILURE_REASON environment variable is set on setup delete jobs
  • Upgraded the version of kubectl used by setup tasks to 1.17.17
  • Upgraded the version of Prometheus used by default to 2.36.0