Skip to main content
The scaling pause is a system-wide toggle that halts all autonomous scaling actions across the entire cluster. Thoras continues collecting metrics, generating predictions, and producing recommendations. No data or model state is lost while paused. Only Autonomous mode targets are affected. Workloads in recommendation mode are unaffected.

Example Use Cases

  • Planned maintenance: prevent Thoras from modifying resource requests during a maintenance window
  • Incident response: freeze current allocations while investigating a production issue
  • Baseline validation: observe workload behavior without scaling, such as during load testing

Pausing and Resuming

Open the Manage Cluster dropdown in the dashboard header and select Pause autonomous scaling. A flyout displays the count of autonomous targets that will be affected and asks for confirmation before applying. To resume, open the same dropdown, selects Resume autonomous scaling, then confirm.
The pause UI is gated behind thorasDashboard.extras.enable_scaling_pause in the Helm chart (default true). If you’ve turned it off, use the manual ConfigMap toggle described under Advanced.

Pod Behavior

When you pause scaling, workloads’ running pods retain the resource requests last applied by Thoras. If a pod restarts while scaling is paused, it starts with the requests defined in the deployment spec, and Thoras will not apply any adjustments until scaling is resumed. When you resume scaling (un-pause), the Thoras operator and worker restart. The operator then reconciles autonomous targets, setting requests to the latest suggestion for pods which need resizing, and the worker resumes resizing or replacing pods whose resources are out of date.

Visual Indicators

When paused, a persistent amber banner appears at the top of the dashboard:
Autonomous scaling actions are paused. Targets will not be right-sized.
The banner links directly to the resume flyout so you can re-enable scaling without navigating away.

Scaling History

A target’s suggestions timeline indicates which suggestions were made while the system was in the scaling paused state, and which, if any, actions would have been applied had scaling not been paused. For autonomous targets, the scaling history lists only changes Thoras made, so it shows none while paused.

Persistence

The pause state is stored in the thoras-operator-system-config ConfigMap in the Thoras namespace. It is created automatically when the pause state is first changed. If the ConfigMap does not exist, the system defaults to not paused. Toggling the state triggers a rolling restart of the operator, worker and API server to load the new configuration. There is a brief period of unavailability for these components as they restart. Because the state lives in a ConfigMap, it survives pod restarts and upgrades. The cluster remains paused until explicitly resumed. Uninstalling the Helm release retains the ConfigMap. Reinstalling Thoras in the same namespace preserves its stored pause state. For a clean reinstall that starts unpaused, remove the retained ConfigMap before reinstalling.

Advanced

As an alternative to using the dashboard, create or update the ConfigMap thoras-operator-system-config with the desired pause state. Apply the following ConfigMap to pause scaling, replacing thoras with your release namespace:
Set scaling-paused to false to resume. After applying either change, restart the operator, worker and API server to load the new configuration: