# Configuration Principles for the connectware-agent Helm Chart

The `connectware-agent` Helm chart follows a configuration principle, in which settings can be defined for all configured agents comfortably using the `protocolMapperAgentDefaults` section of your `values.yaml` file.

**Example**

{% code lineNumbers="true" %}

```yaml
protocolMapperAgentDefaults:
  connectwareHost: connectware.cybus
  dataPlane:
    tls: true
```

{% endcode %}

All configuration specified inside this context is applied to all agents, unless you specifically override them on a per-agent basis.

In addition to `protocolMapperAgentDefaults` there is a section named `protocolMapperAgents`, which is a list of entries, each describing a single protocol-mapper agent. You can create an agent by setting its `name` value. Every other configuration parameter will be taken from `protocolMapperAgentDefaults` or default values.

To override `protocolMapperAgentDefaults` Helm values for an agent, set the same parameter to a different value inside the agents entry of the `protocolMapperAgents` context.

**Example**

{% code lineNumbers="true" %}

```yaml
protocolMapperAgentDefaults:
  connectwareHost: connectware.cybus
  dataPlane:
    tls: true
protocolMapperAgents:
  - name: bender-robots
  - name: welder-robots
    dataPlane:
      tls: false # unlike the other agents, this agent will not use TLS for MQTT
  - name: painting-robots
```

{% endcode %}
