Cluster defaults templates

ConfigMap templates for cluster-level optimization defaults

The StormForge Agent reads cluster-level optimization defaults from a ConfigMap named cluster-defaults in the stormforge-system namespace. You can create and manage this ConfigMap using kubectl or your GitOps tool. For full management details, see Configure optimization defaults for the cluster.

Check current cluster defaults

To check whether any defaults are already set:

kubectl describe configmap cluster-defaults -n stormforge-system

If you see Error from server (NotFound): configmaps "cluster-defaults" not found, no cluster-level defaults are set.

Optimization templates

The following templates cover the most common cluster-level configurations. Copy the relevant template and customize as needed.

Balanced optimization (CPU and memory)

apiVersion: v1
kind: ConfigMap
metadata:
  name: cluster-defaults
  namespace: stormforge-system
data:
  cluster-defaults.yaml: |
    live.stormforge.io/schedule: "P1D"
    live.stormforge.io/auto-deploy: "Disabled"
    live.stormforge.io/cpu.optimization-goal: "Balanced"
    live.stormforge.io/memory.optimization-goal: "Balanced"
    live.stormforge.io/containers.cpu.optimization-policy: "RequestsAndLimits"
    live.stormforge.io/containers.memory.optimization-policy: "RequestsOnly"

Savings-focused

apiVersion: v1
kind: ConfigMap
metadata:
  name: cluster-defaults
  namespace: stormforge-system
data:
  cluster-defaults.yaml: |
    live.stormforge.io/schedule: "P1D"
    live.stormforge.io/auto-deploy: "Disabled"
    live.stormforge.io/cpu.optimization-goal: "Savings"
    live.stormforge.io/memory.optimization-goal: "Savings"
    live.stormforge.io/containers.cpu.optimization-policy: "RequestsAndLimits"
    live.stormforge.io/containers.memory.optimization-policy: "RequestsAndLimits"
    live.stormforge.io/containers.cpu.requests.min: "20m"
    live.stormforge.io/containers.memory.requests.min: "32Mi"

Reliability-focused

apiVersion: v1
kind: ConfigMap
metadata:
  name: cluster-defaults
  namespace: stormforge-system
data:
  cluster-defaults.yaml: |
    live.stormforge.io/schedule: "P1D"
    live.stormforge.io/auto-deploy: "Disabled"
    live.stormforge.io/cpu.optimization-goal: "Reliability"
    live.stormforge.io/memory.optimization-goal: "Reliability"
    live.stormforge.io/containers.cpu.optimization-policy: "RequestsOnly"
    live.stormforge.io/containers.memory.optimization-policy: "RequestsOnly"

With automatic deployment enabled

apiVersion: v1
kind: ConfigMap
metadata:
  name: cluster-defaults
  namespace: stormforge-system
data:
  cluster-defaults.yaml: |
    live.stormforge.io/schedule: "PT16H"
    live.stormforge.io/auto-deploy: "Enabled"
    live.stormforge.io/cpu.optimization-goal: "Savings"
    live.stormforge.io/memory.optimization-goal: "Savings"
    live.stormforge.io/containers.cpu.optimization-policy: "RequestsAndLimits"
    live.stormforge.io/containers.memory.optimization-policy: "RequestsAndLimits"
    live.stormforge.io/containers.cpu.requests.min: "20m"
    live.stormforge.io/containers.cpu.requests.max: "16000m"
    live.stormforge.io/containers.memory.requests.min: "32Mi"
    live.stormforge.io/containers.memory.requests.max: "32Gi"

Apply the ConfigMap

kubectl apply -f FILENAME

Then restart the Agent to pick up the changes:

kubectl rollout restart deployment stormforge-agent -n stormforge-system

Confirm your changes

kubectl describe configmap cluster-defaults -n stormforge-system

Review the cluster-defaults.yaml item in the Data section of the output.

Last modified June 16, 2026