# Connectware Helm Chart

[Helm](https://helm.sh) is a package manager for Kubernetes that offers a simple way to deploy complex applications into Kubernetes clusters. Helm packages are called charts and are paired with a YAML file that contains the configuration for the application. The YAML file is called `values.yaml`.

## System Requirements

When working with the Connectware Helm chart, make sure to meet the following system requirements:

* Your system meets the [system requirements](/2-1-2/getting-started/system-requirements.md#kubernetes-deployment) for Kubernetes deployments.
* [Helm version 3](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.

## Obtaining the Local Name of Your Connectware Helm Repository

The local name of your Connectware Helm repository corresponds to the following URL: <https://repository.cybus.io/repository/connectware-helm>

* To display the local name of your Connectware Helm repository, enter the following command:

{% code lineNumbers="true" %}

```bash
helm repo list
```

{% endcode %}

For the code examples in this documentation, we use the variable `local-repo` to refer to the local name of your Connectware Helm repository.

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

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

**Prerequisites**

* [Helm version 3](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-1.1.0 | 1.1.0       |

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

* Name: `installation-name`
* Namespace: `namespace`
* App version: `current-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 3](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 Connectware Installation](#obtaining-the-name-namespace-and-version-of-your-connectware-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-1-2/documentation/connectware-on-kubernetes/pages/Nyxj9h6kbV2oOtn5yTQS#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 3](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 Connectware Installation](#obtaining-the-name-namespace-and-version-of-your-connectware-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} -f values.yaml
```

{% endcode %}


---

# 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.cybus.io/2-1-2/documentation/connectware-on-kubernetes/connectware-helm-chart.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.
