Skip to main content

Accessing the OCI registry

Written by Aron Day

Note: Customers access 3B software from the Tines OCI registry at oci.tines.com. To request access, contact Tines Support or your account team.

The Open Container Initiative (OCI) defines open standards for container images and their distribution. The registry at oci.tines.com is the only source for Tines 3B images: the Helm chart, the container images, and the single-server install bundles all live there. You need working registry access whenever you install or update 3B (or, for an air-gapped install, on the connected machine that produces the bundle).

Your credentials

Onboarding gives you two values:

  • Tines tenant name — your username for oci.tines.com.

  • Tines OCI registry API key — your password for oci.tines.com. Treat it like any password.

Registry usernames can contain characters the shell treats specially (for example a dollar sign). Always assign credentials with single quotes so the shell does not expand them:

OCI_USERNAME='your-tenant-name'
OCI_PASSWORD='your-api-key'

What’s in the registry

Artifact

Reference

Helm chart

oci://oci.tines.com/3b/charts/3b

Container images

oci.tines.com/3b/<image>

Single-server bundle (standard)

oci.tines.com/3b/bundles/self-hosted-online:<version>

Single-server bundle (air-gapped)

oci.tines.com/3b/bundles/self-hosted:<version>

Logging in

For a Helm chart install, log the Helm CLI in so it can pull the chart:

echo "$OCI_PASSWORD" | helm registry login oci.tines.com \
  --username "$OCI_USERNAME" \
  --password-stdin

To pull or inspect images directly with Docker or Podman:

echo "$OCI_PASSWORD" | docker login oci.tines.com \
  --username "$OCI_USERNAME" \
  --password-stdin

To list tags and inspect manifests, use the ORAS CLI:

echo "$OCI_PASSWORD" | oras login oci.tines.com \
  --username "$OCI_USERNAME" \
  --password-stdin

oras repo tags oci.tines.com/3b/charts/3b

For the single-server quick start you don’t log in yourself — bootstrap.sh collects your credentials, logs in, and pulls the bundle for you.

Creating a Kubernetes pull secret

Cluster nodes pull the container images with a Kubernetes image pull secret. Create it in the namespace 3B will be installed into, and reference its name in imagePullSecrets in your Helm values:

kubectl create secret docker-registry tines-registry \
  --namespace 3b \
  --docker-server=oci.tines.com \
  --docker-username="$OCI_USERNAME" \
  --docker-password="$OCI_PASSWORD"

Connectivity

Installing and updating requires outbound HTTPS access to oci.tines.com. If your servers cannot reach the internet, use the air-gapped install: a connected machine downloads a self-contained bundle, and the offline server needs no registry access at all.

If your registry credentials are revoked or the registry is unreachable, you cannot download or update 3B — but an already-installed deployment keeps running.

Did this answer your question?