# ClusterOptimizationConfiguration v1 reference

> Fields of the deprecated v1 ClusterOptimizationConfiguration custom resource

---

Site [llms.txt](/llms.txt)

---

<div class="alert alert-warning" role="alert"><div class="h4 alert-heading" role="heading">Deprecated</div>


optimize.stormforge.io/v1 is deprecated; use v2. The v1 representation is reconstructed and is not preserved if the object is modified at v2.
See the [ClusterOptimizationConfiguration reference](/docs/reference/crds/clusteroptimizationconfiguration/).
</div>


`apiVersion: optimize.stormforge.io/v1`

Scope: Cluster.

For usage and examples, see [Configure optimization using CRDs](/docs/configure/optimization-configurations/).

Fields marked <strong>\*</strong> are required.

## ClusterOptimizationConfiguration {#ClusterOptimizationConfiguration}

ClusterOptimizationConfiguration is the Schema for the ClusterOptimizationConfiguration API.

| Field | Description |
|-------|-------------|
| `apiVersion`<br>*string* | `optimize.stormforge.io/v1` |
| `kind`<br>*string* | `ClusterOptimizationConfiguration` |
| `metadata`<br>*[ObjectMeta](https://kubernetes.io/docs/reference/kubernetes-api/definitions/object-meta-v1-meta/#ObjectMeta)* | Standard object metadata. |
| `spec`<br>*[ClusterOptimizationConfigurationSpec](#ClusterOptimizationConfigurationSpec)* | ClusterOptimizationConfigurationSpec defines the desired state of ClusterOptimizationConfiguration. |

## ClusterOptimizationConfigurationSpec {#ClusterOptimizationConfigurationSpec}

ClusterOptimizationConfigurationSpec defines the desired state of ClusterOptimizationConfiguration.

| Field | Description |
|-------|-------------|
| `order`<br>*integer* | Defaults to `0`. Value must be an integer between -1000 and 1000. |
| `rules`<br>*object array* | ClusterOptimizationConfig defines a single optimization configuration entry. Entries are keyed on `name`. |
| `rules.matchConditions`<br>*object array* | OptimizationMatchCondition defines a single match condition using CEL expressions. |
| `rules.matchConditions.expression`&nbsp;<strong>\*</strong><br>*string* |  |
| `rules.matchConditions.name`&nbsp;<strong>\*</strong><br>*string* |  |
| `rules.name`&nbsp;<strong>\*</strong><br>*string* |  |
| `rules.namespaceSelector`<br>*[LabelSelector](https://kubernetes.io/docs/reference/kubernetes-api/definitions/label-selector-v1-meta/#LabelSelector)* | A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. |
| `rules.selector`<br>*[LabelSelector](https://kubernetes.io/docs/reference/kubernetes-api/definitions/label-selector-v1-meta/#LabelSelector)* | A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. |
| `rules.settings`&nbsp;<strong>\*</strong><br>*object array* | ConfigItem represents a single configuration entry with a name and one or more values. Entries are keyed on `name`. Either value or values must be set, but not both. |
| `rules.settings.name`&nbsp;<strong>\*</strong><br>*string* |  |
| `rules.settings.value`<br>*string* |  |
| `rules.settings.values`<br>*string array* |  |
