Configuring Agents with the connectware-agent Helm Chart

Prerequisites

You can configure your Connectware agents deployed through the connectware-agent Helm chart by adjusting Helm values in your values.yaml file and re-applying it using a Helm upgrade.

Example

helm upgrade -i connectware-agent cybus/connectware-agent -f values.yaml -n <namespace>

If you need help starting out with a values.yaml file, follow the Installing Connectware agents using the connectware-agent Helm chart article.

In our examples we will explain the parameters in the protocolMapperAgents Helm context, but unless otherwise noted they are also available to configure through protocolMapperAgentDefaults as mentioned in Configuration principles for the connectware-agent Helm chart.

Connectware’s agents are part of a Kubernetes StatefulSet. If any of them are not in the state “running” when you execute helm upgrade, you will need to manually delete the pod afterwards, for an updated pod to be scheduled.

Available Helm Values

Root-Level Helm Values

These values are on the root level of your values.yaml file.

Helm value
Description
Discussed in

licenseKey

A valid license for Cybus Connectware

protocolMapperAgentDefaults

This set of configuration values is applied to all agents, unless they override specific values

protocolMapperAgents

A collection of Connectware agents to be deployed. Each collection entry can contain configuration to override the defaults

fullnameOverride

Override the full name of this installation, which is used as a name prefix. Use „“ to remove prefixing

nameOverride

Override the chart name of this installation, which is used as part of the name prefix

protocolMapperAgentDefaults Helm Values

These values are within the protocolMapperAgentDefaults section and control the behavior of all deployed agents.

Helm value
Description
Discussed in

connectwareHost

DNS name under which the Connectware installation is available to the agent

controlPlaneBrokerEnabled

Define if the Connectware installation uses the separate control-plane-broker feature

image.name

The name of the container image used for the agent

image.version

Container version or tag used for the agent

image.registry

Container image registry to be used for the agent. Set to „“ to not specify a registry

image.pullPolicy

Kubernetes imagePullPolicy used for the agent. One of: Always, Never, IfNotPresent

image.pullSecrets

A collection of objects containing Kubernetes imagePullSecrets with a name attribute, to be used by the agent

mTLS.enabled

Define if mTLS (Certificate Authentication) is enabled

mTLS.caChain.cert

The Certificate Authority certificate chain as a literal PEM encoded string

mTLS.caChain.existingConfigMap

An existing Kubernetes ConfigMap containing the Certificate Authority certificate chain in a file named ca-chain.pem

mqtt.tls

Define if TLS (Transport Encryption) is enabled

mqtt.controlHost

Override the default host for the control-plane MQTT connection

mqtt.dataHost

Override the default host for the data MQTT connection

mqtt.controlPort

Override the default port for the control-plane MQTT connection

mqtt.dataPort

Override the default port for the data MQTT connection

persistence.accessMode

The Kubernetes AccessMode to request for the persistent volume. One of: ReadWriteOnce, ReadWriteMany, ReadWriteOncePod

persistence.size

A Kubernetes Quantity to request as size for the persistent volume

persistence.storageClassName

The name of the Kubernetes StorageClass to request for the persistent volume

podAntiAffinity

Define what type of podAntiAffinity to use for the agent. One of: none, soft, hard

podAntiAffinityOptions

Define configuration values specific to podAntiAffinity

resources.requests.cpu

Kubernetes Quantity that describes the agents CPU requests

resources.requests.memory

Kubernetes Quantity that describes the agents memory requests

resources.limits.cpu

Kubernetes Quantity that describes the agents CPU limits

resources.limits.memory

Kubernetes Quantity that describes the agents memory limits

env

A collection of objects with name and value describing environment variables passed to the agent

annotations

A set of Kubernetes annotations to be added to all agent resources

labels

A set of Kubernetes labels to be added to all agent resources

podAnnotations

A set of Kubernetes annotations to be added to the agent pod only

podLabels

A set of Kubernetes labels to be added to the agent pod only

nodeSelector

A set of Kubernetes labels a node must have for the agent to be scheduled on it

securityContext

Define the Kubernetes SecurityContext for the agent

podSecurityContext

Define the Kubernetes SecurityContext for the agents pod

service.annotations

A set of Kubernetes annotations to be added to the agents service only

service.labels

A set of Kubernetes labels to be added to the agents service only

protocolMapperAgents Helm Values

These values are within the protocolMapperAgents section, which is a list of agents you want to deploy and are configured per entry for an agent. See Configuration principles for the connectware-agent Helm chart for details. Additionally to the values listed here, all values under protocolMapperAgentDefaults are available per-agent.

Helm value
Description
Discussed in

name

The name of the Connectware agent. If you use mTLS this must match the certificates CN/SAN

mTLS.keyPair.cert

The mTLS certificate chain as a literal PEM encoded string

mTLS.keyPair.key

The mTLS private key as a literal PEM encoded string

mTLS.existingSecret

An existing Kubernetes Secret containing the mTLS certificate and key in files named tls.crt and tls.key

Last updated

Was this helpful?