# 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 <mark style="color:red;">**values.yaml**</mark> file.

**Example**

{% code lineNumbers="true" %}

```yaml
protocolMapperAgentDefaults:
    connectwareHost: connectware.cybus
    controlPlaneBrokerEnabled: true
    mqtt:
        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 simply setting its `name` value. Every other configuration parameter will be taken from `protocolMapperAgentDefaults` or default values.

To override `protocolMapperAgentDefaults` Helm values for an agent, simply 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
    controlPlaneBrokerEnabled: true
    mqtt:
        tls: true
protocolMapperAgents:
    - name: bender-robots
    - name: welder-robots
      mqtt:
          tls: false # unlike the other agents, this agent will not use TLS for MQTT
    - name: painting-robots
```

{% endcode %}
