Installing Connectware Agents Using the connectware-agent Helm Chart
Flexible, scalable, and secure data infrastructure with agents.
Agents must run the same application version as Connectware. The connectware-agent Helm chart has its own version number — separate from the agent version it deploys, and separate from the connectware Helm chart version. To find the correct chart version for your target agent version, look it up in the Compatibility Matrix and use that chart version when installing with the --version flag.
Prerequisites
Connectware is installed and configured.
Connectware license key is available.
Helm version 4 is installed on your system.
kubectl is installed on your system.
kubectl configured with the current context pointing to your target cluster (Configure Access to Multiple Clusters).
A Kubernetes namespace for the agent installation.
For complete agent system requirements including Kubernetes platform requirements, storage, and network access, see System Requirements.
Creating Your values.yaml File
As with all Helm charts, the connectware-agent chart is configured using a YAML file. This file can have any name, but is referred to throughout this guide as the values.yaml file.
Create this file to start configuring your agent installation by using your preferred editor:
vi values.yamlInstalling a Single Agent
Configuring Image Pull Access
The licenseKey Helm value creates an image pull secret for registry.cybus.io. Agents do not use it for license validation. Instead, they validate the license by connecting to Connectware at runtime.
You can either provide licenseKey for automatic authentication, or manually configure registry access using one of the methods below.
For a full reference on registries and pull secrets, see Configuring Registries and Pull Secrets.
Choosing a method:
Use Method 1 for quick setup when you have a license key available.
Use Method 2 for production environments where secrets should be managed separately from configuration files.
Use Method 3 when pulling from a custom or mirrored registry.
Use Method 4 when agents are installed in the same cluster as Connectware.
Method 1: Plaintext License Key
Add your Connectware license key directly to your values.yaml file. The chart creates a pull secret for registry.cybus.io automatically:
Replace ${LICENSE_KEY} with your Connectware license key.
Method 2: Kubernetes Secret
If you prefer not to store the license key in plain text, create a Kubernetes Secret first, then reference it in your values.yaml file via protocolMapperAgentDefaults.image.pullSecrets.
Create the image pull secret in your target namespace:
Replace ${LICENSE_KEY} with your Connectware license key and ${NAMESPACE} with your target namespace.
Reference the Secret in your
values.yamlfile. If you use a different secret name, adjust thenameentry underpullSecretsaccordingly.
Method 3: Custom Registry
If you pull images from a custom or mirrored registry, no pull secret for registry.cybus.io is needed. See Using a Custom Registry for configuration details.
Method 4: Reuse the Connectware Pull Secret
When Connectware is installed with a literal global.licenseKey, the Connectware Helm chart creates a pull secret named ${CONNECTWARE_RELEASE_NAME}-image-registry. If you install agents in the same namespace as Connectware, you can reuse this secret without providing licenseKey in the agent chart at all.
To find the name of this secret, you can use
kubectlto show it based on a label:
Replace ${CONNECTWARE_NAMESPACE} with the namespace of your Connectware installation.
Reference the name of the Secret in
protocolMapperAgentDefaults.image.pullSecrets:
If your Connectware installation is in a different namespace, copy the secret to the target namespace first:
Replace ${CONNECTWARE_NAMESPACE} with the namespace of your Connectware installation, and ${AGENT_NAMESPACE} with the namespace where you install the agent.
Example:
If you need to copy between Kubernetes clusters, use the --context parameter of kubectl to target your local contexts.
Changing the Target Connectware
By default, the agent connects to a Connectware installation in the same Kubernetes namespace. If your Connectware installation is in a different namespace or cluster, configure the connectwareHost parameter.
Add the following to your values.yaml file. Replace ${CONNECTWARE_HOSTNAME} with the actual hostname.
Hostname Formats
Different namespace in the same cluster: Use
connectware.${CONNECTWARE_NAMESPACE}(for example,connectware.production).Outside Kubernetes cluster: Use the full hostname or IP address where Connectware is reachable.
Network Access
Ensure the agent has network access to the Connectware installation. For detailed network requirements, see Agent Requirements. For TLS verification, the exact name used here must be a SAN entry in the cybus_server.crt. See Server Certificates for details.
TLS Configuration
Connectware agents verify TLS certificates by default. Configure TLS verification before connecting agents to Connectware using one of the following methods:
Choosing a method:
Use Method 1 for quick setup and testing (not recommended for production)
Use Method 2 for production environments
Method 1: Disabling TLS Verification
Disable TLS verification to allow agents to accept any TLS certificate.
Disabling TLS verification removes transport encryption security. Only use this for testing, not in production environments.
To configure agents to skip TLS verification, set the environment variable
CYBUS_TRUST_ALL_CERTSto"true"using theenvHelm value section:
Method 2: Provide Connectware CA Certificate to Agents
Recommended for production. Configure agents to trust your Connectware CA certificate.
Follow the steps in Configuring CA Certificate Chain for Agents with the connectware-agent Helm Chart to configure your values.yaml file, then return here to continue with deployment.
Deploying the Agent
After configuring your values.yaml file with any of the methods above, deploy your Connectware agent. Replace ${NAMESPACE} with your target Kubernetes namespace.
Replace ${VERSION} with the target Helm chart version. See the Compatibility Matrix for the correct version.
Example Output
This starts a single Connectware agent named agent, which connects to a Connectware installation deployed in the same namespace. When you edit your values.yaml file, repeat the helm upgrade command to apply the changes.
Verifying the Installation
Check that the agent pod is running. Replace ${NAMESPACE} with your target Kubernetes namespace:
The pod should show a Running status. If the pod is stuck in another status, you may need to delete it to allow a new pod to be created with your configuration. If the agent fails to start, or to reach Connectware, see Troubleshooting on Kubernetes for how to adjust your configuration.
Connecting the Agent to Connectware
Use the Client Registry to connect this agent to Connectware. For more information, see Client Registry.
Installing Multiple Agents with a Single Helm Installation
You can deploy multiple agents with a single Helm release. Follow the same steps as Installing a Single Agent, but add the configuration shown below to your values.yaml file.
Define each agent with a unique name in the protocolMapperAgents list, replacing the default name "agent". For details on sharing common settings across agents while customizing individual configurations, see Configuration Principles for the connectware-agent Helm Chart.
Example
Add the following to your
values.yamlfile:
Apply the changes to your agent deployment. Replace
${NAMESPACE}with your target Kubernetes namespace:
This deploys two agents: bender-robots and welder-robots. Both agents connect to the Connectware host specified in protocolMapperAgentDefaults.connectwareHost via the Client Registry. See Client Registry for details.
Last updated
Was this helpful?

