# 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](https://docs.cybus.io/2-0-6/getting-started/system-requirements#kubernetes-deployment) for Kubernetes deployments.
* Helm version 3 is installed on your system.
* The Kubernetes command line tool kubectl is configured and has access to the target installation.

## 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 is installed on your system.
* The Kubernetes command line tool kubectl is configured and has access to the target installation.

**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 is installed on your system.
* The Kubernetes command line tool kubectl is configured and has access to the target installation.
* 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" %}

```yaml
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.

**Related Links**

* [Configuring the values.yaml File](https://docs.cybus.io/2-0-6/installation-and-upgrades/installing-connectware/installing-connectware-kubernetes#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 is installed on your system.
* The Kubernetes command line tool kubectl is configured and has access to the target installation.
* 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" %}

```yaml
helm upgrade -n <namespace> <installation-name> -f values.yaml
```

{% endcode %}
