Installing Connectware Agents without a License Key Using the connectware-agent Helm Chart
Prerequisites
Connectware is already installed and configured.
A custom image registry to mirror Connectware images -OR- access to an existing kubernetes.io/dockerconfigjson secret providing access to the Cybus image registry (see text for details).
Helm V3 installed (Helm | Installing Helm).
kubectl installed (Install Tools).
kubectl configured with the current context pointing to your target cluster (Configure Access to Multiple Clusters).
Decided on a Kubernetes namespace to use.
Follow this guide if you want to install agents using the connectware-agent Helm chart without providing your license key.
You have two options to achieve this:
Providing a manually created pull secret, or use the pull secret provided by Connectware
Using a custom image registry
The agents will still verify a valid license for your Connectware once you register them
Installing Using a Manually Created Pull Secret
If you don’t enter a license key, you can still install the agent if you provide an already existing Kubernetes secret of type kubernetes.io/dockerconfigjson
.
Connectware creates a secret like this named cybus-docker-registry
. If you install agents in the same namespace as Connectware itself, you can simply use this secret by listing it in the protocolMapperAgentDefaults.image.pullSecrets
list of your values.yaml file:
# not needed when supplying another pullSecret
# licenseKey:
protocolMapperAgentDefaults:
image:
pullSecrets:
- name: cybus-docker-registry
If your Connectware installation is in a different namespace, you can copy the secret from your Connectware namespace to the target namespace by using this command:
kubectl get secret cybus-docker-registry --namespace=<connectware-namespace> -o yaml | sed 's/namespace: .*/namespace: <agent-namespace>/' | kubectl apply -f -
Example
kubectl get secret cybus-docker-registry --namespace=connectware -o yaml | sed 's/namespace: .*/namespace: connectware-agent/' | kubectl apply -f -
If you need to copy between Kubernetes clusters, you can use the --context
parameter of kubectl
to target your local contexts.
Of course you can also use a completely manually created secret, as long as it provides access to the registry used to pull the agents protocol-mapper
image.
Installing Using a Custom Registry
You can also use a custom registry to provide the protocol-mapper image for the agent.
In this case, set this registry in the image.registry inside the protocolMapperAgentDefaults section in your values.yaml file.
Example
# not needed when supplying another image registry
# licenseKey:
protocolMapperAgentDefaults:
image:
registry: registry.company.tld/cybus
If your custom registry requires authentication, you must also provide a manually created kubernetes.io/dockerconfigjson secret in the protocolMapperAgentDefaults.image.pullSecrets list of your values.yaml file.
Example
# not needed when supplying another image registry
# licenseKey:
protocolMapperAgentDefaults:
image:
registry: registry.company.tld/cybus
pullSecrets:
- name: my-company-pull-secret
Hint
kubernetes.io/dockerconfigjson secrets can be created with this command:
kubectl create secret <secret-name> --docker-server=<registry-address> --docker-username=<username> --docker-password=<password> --docker-email=<user-email>
Last updated
Was this helpful?