# Deploying on Kubernetes with Helm

The Tonic Textual Helm chart is available in the GitHub repository <https://github.com/TonicAI/textual_helm_charts>.

To use the Helm chart, you can either:

* Use the [OCI-based registry](https://helm.sh/docs/topics/registries/#using-an-oci-based-registry) that Tonic hosts on [quay.io](https://quay.io/).
* Fork or clone the repository and then maintain it locally.

During the onboarding period, you are provided access credentials to our docker image repository on [Quay.io](http://quay.io/). If you require new credentials, or you experience issues accessing the repository, contact <support@tonic.ai>.

## Configure <a href="#configure" id="configure"></a>

Before you deploy Textual, you create a **values.yaml** file with the configuration for your instance.

For details about the required and optional configuration options, go to the [repository readme](https://github.com/TonicAI/textual_helm_charts).

## Deploy <a href="#deploy" id="deploy"></a>

To deploy and validate access to Textual from the forked repository, follow the [instructions in the repository readme](https://github.com/TonicAI/textual_helm_charts).

To use the OCI-based registry, run:

{% code overflow="wrap" %}

```
helm install textual oci://quay.io/tonicai/textual -f values.yaml -n textual --create-namespace
```

{% endcode %}

The GitHub repository contains a [readme](https://github.com/TonicAI/solar/blob/main/helm_charts/README.MD) with the details on how to populate a **values.yaml** file and deploy Textual.

## Update

To update to a new version of Textual:

1. In **values.yaml**, set `textualVersion` to identify the version of Textual to upgrade to.\
   \
   To find the latest version, review the [release notes](https://www.tonic.ai/product-release-notes/textual). The tag value is the version number, without the "V" prefix.
2. Run the following:

```
helm upgrade <name_of_release> -n <namespace_name> <path-to-helm-chart>
```

If you use the OCI-based registry:

{% code overflow="wrap" %}

```
helm upgrade <name_of_release> -n <namespace_name> oci://quay.io/tonicai/textual -f values.yaml --version "1.${TONIC_RELEASE}.0"
```

{% endcode %}
