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

Configuring Registries and Pull Secrets

Configure image registries and pull secrets for the connectware and connectware-agent Helm charts.

By default, Cybus Helm charts pull container images from the official Cybus container registry at registry.cybus.io. This guide explains how to configure image registries and Kubernetes pull secrets, including using a custom or mirrored registry and managing authentication.

Default Pull Secret Behavior

When you provide your Connectware license key as a literal value in your values.yaml file, the chart automatically creates a Kubernetes Secret named ${RELEASE_NAME}-image-registry. This Secret authenticates with registry.cybus.io using your license key as the password and is automatically attached to all Pods.

The default pull secret is created only when a literal license key is set in global.licenseKey.

values.yaml
global:
  licenseKey: ${LICENSE_KEY}

If you reference an existing Kubernetes Secret via global.existingLicenseKeySecret instead, no pull secret is created automatically. In this case, you must provide your own pull secret and reference it via global.image.pullSecrets.

The following example uses an existing Secret for the license key. No pull secret is created automatically, so you must create and reference one manually.

  1. To authenticate with registry.cybus.io, use license as the username and your license key as the password:

kubectl create secret docker-registry my-registry-pull-secret \
  --docker-server=registry.cybus.io \
  --docker-username=license \
  --docker-password=${LICENSE_KEY} \
  --namespace=${NAMESPACE}
  • ${LICENSE_KEY} — your Connectware license key.

  • ${NAMESPACE} — the namespace of your Helm release.

  1. Reference the Secret in your values.yaml:

values.yaml
global:
  existingLicenseKeySecret: my-license-secret # must contain key "licenseKey"
  image:
    pullSecrets:
      - name: my-registry-pull-secret

Using a Custom Registry

Cybus Helm charts support pulling images from a custom or mirrored registry instead of the official Cybus container registry at registry.cybus.io. Use this when your cluster cannot reach registry.cybus.io directly, or when your organization requires images to be sourced from an internal registry.

Set global.image.registry to your registry URL. The following example applies it to all Connectware images:

The following example combines a custom registry with an explicit pull secret:

To override the registry for a single component, set image.registry under that component's configuration section. A component-level value takes precedence over global.image.registry.

The following example sets a registry only for the authServer component:

The registry override applies only to the authServer component. All other components use the default registry.

Pull secrets are merged: the default pull secret (if created from licenseKey), global.image.pullSecrets, are all combined. All unique Secrets are attached to all Pods.

Configuring Pull Secrets

If your environment requires authentication to pull images from a custom registry or a private mirror, create a Kubernetes Secret of type kubernetes.io/dockerconfigjson and reference it in your values.yaml.

Creating a Pull Secret

Create the Secret manually using kubectl:

Replace the placeholders with values for your environment:

  • ${SECRET_NAME} — the name you reference in your values.yaml file.

  • ${REGISTRY_HOST} — the hostname of your registry.

  • ${USERNAME} — the username used to authenticate with the registry.

  • ${PASSWORD} — the password or token used to authenticate with the registry.

  • ${EMAIL} — a contact email address associated with the registry account.

  • ${NAMESPACE} — the namespace of your Helm release.

Referencing Pull Secrets

Reference pull secrets using global.image.pullSecrets. All Secrets in the list are attached to every Connectware Pod.

The following example references a single pull secret:

The following example references multiple pull secrets. All unique Secrets are attached to every Connectware Pod:

Changing the Image Pull Policy

Cybus Helm charts expose an image.pullPolicy setting that controls when Kubernetes pulls container images. Valid values are:

  • Always — Pull the image on every Pod start.

  • IfNotPresent — Pull only if the image is not already present on the node.

  • Never — Never pull the image. The image must already be present on the node.

Set global.image.pullPolicy to apply a pull policy to all Connectware components. To override it for a specific component, set the same value under that component's configuration section.

The following example sets the pull policy globally for all components:

The following example overrides the pull policy for a specific component only:

Last updated

Was this helpful?