<style>
/* Make the ... appear in front of the spec items in the right hand nav menu  */
.md-sidebar--secondary span.md-ellipsis {
	direction: rtl;
}
</style>

# Nais OpenSearch reference

<!--
  This documentation was automatically generated by https://github.com/nais/pgrator/actions

  DO NOT MAKE MANUAL CHANGES TO THIS FILE, THEY WILL BE OVERWRITTEN!
-->

This document describes all possible configuration values in the `OpenSearch` spec.

## http

Http controls HTTP settings for the OpenSearch instance.

Type: `object`<br />
Required: `false`<br />

> **Example**
> ```yaml
> spec:
>   http:
>     maxContentLength: 100Mi
> ```

### http.maxContentLength

Maximum content length for HTTP requests to the OpenSearch HTTP API. Default is 100mb.
The value is specified as a Kubernetes resource.Quantity, e.g. "100Mi", "1Gi".
Unitless values are interpreted as bytes.
Minimum value is 1048576 bytes (1Mi), maximum value is 2147483647 bytes (approximately 2047Mi).

Type: `integer` or `string`<br />
Required: `false`<br />
Pattern: `^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$`<br />

> **Example**
> ```yaml
> spec:
>   http:
>     maxContentLength: 100Mi
> ```

## indices

Indices controls index settings for the OpenSearch instance.

Type: `object`<br />
Required: `false`<br />

> **Example**
> ```yaml
> spec:
>   indices:
>     queryBoolMaxClauseCount: 1024
> ```

### indices.queryBoolMaxClauseCount

Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high,
and increasing it may cause performance issues. Investigate other approaches first before increasing this value.

Type: `integer`<br />
Required: `false`<br />
Value range: `64`-`4096`<br />

> **Example**
> ```yaml
> spec:
>   indices:
>     queryBoolMaxClauseCount: 1024
> ```

## memory

Memory defines the available memory for the OpenSearch instance

Type: `enum`<br />
Required: `true`<br />
Allowed values: `16GB`, `2GB`, `32GB`, `4GB`, `64GB`, `8GB`<br />

> **Example**
> ```yaml
> spec:
>   memory: 4GB
> ```

## shardIndexingPressure

ShardIndexingPressure controls the shard indexing back pressure settings.

Type: `object`<br />
Required: `false`<br />

> **Example**
> ```yaml
> spec:
>   shardIndexingPressure:
>     enabled: true
>     enforced: true
> ```

### shardIndexingPressure.enabled

Enable or disable shard indexing backpressure. Default is false.

Type: `boolean`<br />
Required: `false`<br />

> **Example**
> ```yaml
> spec:
>   shardIndexingPressure:
>     enabled: true
> ```

### shardIndexingPressure.enforced

Run shard indexing backpressure in shadow mode or enforced mode.
In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics, but it
doesn’t actually reject any indexing requests. In enforced mode (value set as true), shard indexing backpressure
rejects any requests to the cluster that might cause a dip in its performance.

Type: `boolean`<br />
Required: `false`<br />

> **Example**
> ```yaml
> spec:
>   shardIndexingPressure:
>     enforced: true
> ```

## storageGB

StorageGB defines the storage capacity in gigabytes

Type: `integer`<br />
Required: `true`<br />
Minimum value: `16`<br />

> **Example**
> ```yaml
> spec:
>   storageGB: 80
> ```

## tier

Tier defines the tier of the OpenSearch instance

Type: `enum`<br />
Required: `true`<br />
Allowed values: `HighAvailability`, `SingleNode`<br />

> **Example**
> ```yaml
> spec:
>   tier: SingleNode
> ```

## version

Version defines the OpenSearch version

Type: `enum`<br />
Required: `true`<br />
Allowed values: `1`, `2`, `2.19`, `3.3`, `3.6`<br />

> **Example**
> ```yaml
> spec:
>   version: "3.3"
> ```
