# Set Store Settings

Store options allows to configure the way KubeMQ server store persistence data for both events\_store and queues message patterns.

{% tabs %}
{% tab title="Kubemqctl" %}

## Flags

| Flag                               | Type/Options | Default | Description                                         |
| ---------------------------------- | ------------ | ------- | --------------------------------------------------- |
| --store-clean                      | bool         | false   | Set clear persistence data on start-up              |
| --store-path                       | string       | ./store | Set persistence file path                           |
| --store-max-channels               | int          | 0       | Set limit number of persistence channels            |
| --store-max-subscribers            | int          | 0       | Set limit of subscribers per channel                |
| --store-max-messages               | int          | 0       | Set limit of messages per channel                   |
| --store-max-channel-size           | int          | 0       | Set limit size of channel in bytes                  |
| --store-messages-retention-minutes | int          | 1440    | Set message retention time in minutes               |
| --store-purge-inactive-minutes     | int          | 1440    | Set time in minutes of channel inactivity to delete |

## Examples

Clean store when loading - in case of a need to clean and start fresh store

```bash
kubemqctl create cluster --store-clean true
```

Delete inactive channels after 180 minutes if inactivity

```bash
kubemqctl create cluster --store-purge-inactive-minutes 180
```

{% endtab %}

{% tab title="Helm" %}

## Values

| Value                          | Type/Options | Default | Description                                         |
| ------------------------------ | ------------ | ------- | --------------------------------------------------- |
| store.clean                    | bool         | false   | Set clear persistence data on start-up              |
| store.path                     | string       | ./store | Set persistence file path                           |
| store.maxChannels              | int          | 0       | Set limit number of persistence channels            |
| store.maxSubscribers           | int          | 0       | Set limit of subscribers per channel                |
| store.maxMessages              | int          | 0       | Set limit of messages per channel                   |
| store.maxChannelSize           | int          | 0       | Set limit size of channel in bytes                  |
| store.messagesRetentionMinutes | int          | 1440    | Set message retention time in minutes               |
| store.purgeInactiveMinutes     | int          | 1440    | Set time in minutes of channel inactivity to delete |

## Examples

Clean store when loading - in case of a need to clean and start fresh store

```bash
helm install kubemq-cluster  --set store.clean=true kubemq-charts/kubemq
```

Delete inactive channels after 180 minutes if inactivity

```bash
helm install kubemq-cluster  --set store.purgeInactiveMinutes=t180 kubemq-charts/kubemq
```

{% endtab %}

{% tab title="kubectl" %}

## Fields

| Field                    | Type/Options | Default | Description                                         |
| ------------------------ | ------------ | ------- | --------------------------------------------------- |
| clean                    | bool         | false   | Set clear persistence data on start-up              |
| path                     | string       | ./store | Set persistence file path                           |
| maxChannels              | int          | 0       | Set limit number of persistence channels            |
| maxSubscribers           | int          | 0       | Set limit of subscribers per channel                |
| maxMessages              | int          | 0       | Set limit of messages per channel                   |
| maxChannelSize           | int          | 0       | Set limit size of channel in bytes                  |
| messagesRetentionMinutes | int          | 1440    | Set message retention time in minutes               |
| purgeInactiveMinutes     | int          | 1440    | Set time in minutes of channel inactivity to delete |

## Examples

Clean store when loading - in case of a need to clean and start fresh store

Run:

```bash
kubectl apply -f {below-yaml-file}
```

```yaml
apiVersion: core.k8s.kubemq.io/v1alpha1
kind: KubemqCluster
metadata:
  name: kubemq-cluster
  namesapce: kubemq
  labels:
    app: kubemq-cluster
spec:
  replicas: 3
  store:
    clean: true
```

Delete inactive channels after 180 minutes if inactivity

Run:

```bash
kubectl apply -f {below-yaml-file}
```

```yaml
apiVersion: core.k8s.kubemq.io/v1alpha1
kind: KubemqCluster
metadata:
  name: kubemq-cluster
  namesapce: kubemq
  labels:
    app: kubemq-cluster
spec:
  replicas: 3
  store:
    purgeInactiveMinutes: 180
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kubemq.io/configuration/cluster/set-store-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
