For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

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.yaml

Installing 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.

  1. Create the image pull secret in your target namespace:

Replace ${LICENSE_KEY} with your Connectware license key and ${NAMESPACE} with your target namespace.

  1. Reference the Secret in your values.yaml file. If you use a different secret name, adjust the name entry under pullSecrets accordingly.

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.

  1. To find the name of this secret, you can use kubectl to show it based on a label:

Replace ${CONNECTWARE_NAMESPACE} with the namespace of your Connectware installation.

  1. 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.

  • To configure agents to skip TLS verification, set the environment variable CYBUS_TRUST_ALL_CERTS to "true" using the env Helm 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

  1. Add the following to your values.yaml file:

  1. 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?