# Uninstalling Connectware agents with the connectware-agent Helm chart

## Prerequisites

* Helm V3 installed (Helm | Installing Helm).
* `kubectl` installed (Install Tools).
* `kubectl` configured with the current context pointing to your target cluster (Configure Access to Multiple Clusters).

## Uninstalling All Agents from One Installation

If you want to remove all agents that were installed using the `connectware-agent` Helm chart, you can use `helm uninstall` command with the name of your installation (called a „release“). You chose this name yourself when installing with the connectware-agent Helm chart. If you follow our docs it is named `connectware-agent`, but you can look it up by using the `helm list` command targeting the namespace in which you installed your agents.

**Example**

{% code lineNumbers="true" %}

```yaml
helm list -n <namespace>
```

{% endcode %}

{% code lineNumbers="true" %}

```yaml
NAME             	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                    	APP VERSION
connectware-agent	<namespace>	1       	2023-03-29 14:49:49.29654165 +0200 CEST	deployed	connectware-agent-1.0.0 	1.1.5
```

{% endcode %}

Once you determined the name of your installation, you can uninstall it.

**Example**

{% code lineNumbers="true" %}

```yaml
helm uninstall -n <namespace> connectware-agent
```

{% endcode %}

This terminates running pods and removes their Kubernetes objects, however `PersistentVolumeClaims`, and with them the Persistent Volumes are retained. If you wish to clean them up, you can do so by using the label `app.kubernetes.io/instance` in combination with `kubectl delete`. The value for this label is again the release name you already used to uninstall.

**Example**

{% code lineNumbers="true" %}

```yaml
kubectl delete -n <namespace> pvc -l app.kubernetes.io/instance=connectware-agent
```

{% endcode %}

## Uninstalling Single Agents from a Larger Installation

If you want to remove one or more agents from a larger group of agents installed using the `connectware-agent` Helm chart, you can simply remove their whole configuration from your values.yaml file and running a Helm upgrade as described in [Configuring agents with the connectware-agent Helm chart](https://docs.cybus.io/1-11-0/documentation/agents/agents-in-kubernetes/configuring-agents-with-the-connectware-agent-helm-chart).

**Example**

{% code lineNumbers="true" %}

```yaml
protocolMapperAgentDefaults:
    connectwareHost: connectware.cybus # adjust to actual hostname of Connectware
protocolMapperAgents:
    - name: bender-robots
      resources:
          limits:
              cpu: 2000m
              memory: 4000Mi
    - name: welder-robots # remove all configuration for this agent
      resources: #
          limits: #
              cpu: 500m #
              memory: 1000Mi #
    - name: painter-robots
      resources:
          limits:
              cpu: 1000m
              memory: 2000Mi
```

{% endcode %}
