> For the complete documentation index, see [llms.txt](https://docs.cybus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cybus.io/2-4-1/cybus-helm-charts/working-with-cybus-helm-charts.md).

# Working with Cybus Helm Charts

The procedures below show how to deploy, configure, and manage installations using Cybus Helm charts. Many of these procedures are not specific to Cybus Helm charts but are typical operations used by Helm charts in general.

Most examples use the `connectware` Helm chart, but you can substitute any of the [charts Cybus offers](/2-4-1/cybus-helm-charts/cybus-helm-charts.md) unless otherwise noted.

## Obtaining the Name, Namespace, and Version of Your Installation

If you want to upgrade and configure Connectware, you must know the name, namespace, and version of your Connectware installation.

**Prerequisites**

* [Helm version 4](https://helm.sh/docs/intro/quickstart/#install-helm) is installed on your system.
* [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) is installed on your system.

**Procedure**

* To display the name, namespace, and app version of your Connectware installation, enter the following command:

{% code lineNumbers="true" %}

```bash
helm list -A
```

{% endcode %}

**Result**

The name, namespace, and version number of your Connectware installation is displayed in the **NAME**, **NAMESPACE**, and **APP VERSION** columns. If you have trouble locating your Connectware installation in the list, look for `connectware` in the **CHART** column.

| NAME        | NAMESPACE   | REVISION | UPDATED                                 | STATUS   | CHART             | APP VERSION |
| ----------- | ----------- | -------- | --------------------------------------- | -------- | ----------------- | ----------- |
| connectware | connectware | 4        | 2022-12-01 17:04:16.664663648 +0100 CET | deployed | connectware-3.0.0 | 2.2.0       |

For the code examples in this documentation, we use the following variables:

* Name: `${INSTALLATION_NAME}`
* Namespace: `${NAMESPACE}`
* App version: `${VERSION}`

## Extracting the values.yaml File

The Helm configuration that Connectware uses is stored in the `values.yaml` file. You can extract the `values.yaml` file from your installation.

**Prerequisites**

* [Helm version 4](https://helm.sh/docs/intro/quickstart/#install-helm) is installed on your system.
* [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) is installed on your system.
* You know the name and namespace of your Connectware installation. See [Obtaining the Name, Namespace, and Version of Your Installation](#obtaining-the-name-namespace-and-version-of-your-installation).

**Procedure**

* To extract this file from your installation, enter the following command:

{% code lineNumbers="true" %}

```bash
helm get values ${INSTALLATION_NAME} -n ${NAMESPACE} -o yaml > values.yaml
```

{% endcode %}

For the code examples in this documentation, we use the variable `values.yaml` to refer to the currently used Helm values.

**See also**

* [Configuring the values.yaml File](https://docs.cybus.io/2-4-1/cybus-helm-charts/pages/fgyuOc6VECPPCxFoQcXk#configuring-the-values.yaml-file)

## Applying Helm Configuration Changes

When you have changed the Helm configuration in your `values.yaml` file, you must apply the changes via a Helm upgrade.

{% hint style="warning" %}
The former configuration is overwritten when you apply the changes you have made to the `values.yaml` file. We recommend applying configuration changes during planned maintenance.
{% endhint %}

**Prerequisites**

* [Helm version 4](https://helm.sh/docs/intro/quickstart/#install-helm) is installed on your system.
* [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) is installed on your system.
* You know the name and namespace of your Connectware installation. See [Obtaining the Name, Namespace, and Version of Your Installation](#obtaining-the-name-namespace-and-version-of-your-installation).
* The `values.yaml` file is available.

**Procedure**

1. In the `values.yaml` file, edit the configuration parameters. Make sure to stick to the YAML indentation rules.
2. To apply the changed configuration parameters, enter the following command:

{% code lineNumbers="true" %}

```bash
helm upgrade -n ${NAMESPACE} ${INSTALLATION_NAME} oci://repo.cybus.io/charts/connectware \
  --version ${VERSION} -f values.yaml
```

{% endcode %}

## Copying a Helm Chart to a Custom Registry

If you are using a custom registry to install Connectware, you may want to also store the matching version of our Helm charts there. You can use Helm to easily pull and push Helm charts.

**Prerequisites**

* [Helm version 4](https://helm.sh/docs/intro/quickstart/#install-helm) is installed on your system.

**Procedure**

1. Pull the Helm chart from our OCI registry:

{% code lineNumbers="true" %}

```bash
helm pull oci://repo.cybus.io/charts/connectware --version ${VERSION}
```

{% endcode %}

2. Push the Helm chart to your OCI registry. The following example uses `registry.mycompany.tld/cybus`:

{% code lineNumbers="true" %}

```bash
helm push connectware-${VERSION}.tgz oci://registry.mycompany.tld/cybus
```

{% endcode %}

Repeat this procedure for all charts and versions you want to have available on your internal registry.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.cybus.io/2-4-1/cybus-helm-charts/working-with-cybus-helm-charts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
