Skip to main content

Registry setup

Last updated on

Online install

For online installations, the operator pulls images from the Harness public registry.

The following table lists each registry the installation reaches and the images it provides.

RegistryImages
pkg.harness.io/g_ix-gj_sisgiituoe06eq/cxe-public-dockerplatform-installer-min, tiw-airgap
registry.k8s.ioingress-nginx/controller, ingress-nginx/kube-webhook-certgen
registry.istio.io/releasepilot, proxyv2 (only if using Istio)

Air-gapped and private registry

For air-gapped environments, mirror all images to your private registry before you install.

Required images

Mirror each of the following images. The Version Matches column tells you which version to use for each one.

ImageSource RegistryVersion Matches
platform-installer-minpkg.harness.io/.../cxe-public-dockerclustermgr version (e.g., 1.0.6)
tiw-airgappkg.harness.io/.../cxe-public-dockerworkflow version (e.g., 0.43.0)
ingress-nginx/controllerregistry.k8s.iov1.15.1
ingress-nginx/kube-webhook-certgenregistry.k8s.iov1.6.9
release/pilotregistry.istio.io1.30.3 (only if using Istio)
release/proxyv2registry.istio.io1.30.3 (only if using Istio)

Mirror images

Run the following commands to pull each image, retag it for your private registry, and push it. Replace the variable values with your own registry details.

REGISTRY="your-private-registry.example.com"
PREFIX="harness"
CLUSTERMGR_VERSION="1.0.6"
WORKFLOW_VERSION="0.43.0"

docker login $REGISTRY

# Platform installer
docker pull pkg.harness.io/g_ix-gj_sisgiituoe06eq/cxe-public-docker/platform-installer-min:$CLUSTERMGR_VERSION
docker tag pkg.harness.io/g_ix-gj_sisgiituoe06eq/cxe-public-docker/platform-installer-min:$CLUSTERMGR_VERSION $REGISTRY/$PREFIX/platform-installer-min:$CLUSTERMGR_VERSION
docker push $REGISTRY/$PREFIX/platform-installer-min:$CLUSTERMGR_VERSION

# Workflow bundle image
docker pull pkg.harness.io/g_ix-gj_sisgiituoe06eq/cxe-public-docker/tiw-airgap:$WORKFLOW_VERSION
docker tag pkg.harness.io/g_ix-gj_sisgiituoe06eq/cxe-public-docker/tiw-airgap:$WORKFLOW_VERSION $REGISTRY/$PREFIX/tiw-airgap:$WORKFLOW_VERSION
docker push $REGISTRY/$PREFIX/tiw-airgap:$WORKFLOW_VERSION

# Nginx ingress (default)
docker pull registry.k8s.io/ingress-nginx/controller:v1.15.1
docker tag registry.k8s.io/ingress-nginx/controller:v1.15.1 $REGISTRY/$PREFIX/controller:v1.15.1
docker push $REGISTRY/$PREFIX/controller:v1.15.1

docker pull registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9
docker tag registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9 $REGISTRY/$PREFIX/kube-webhook-certgen:v1.6.9
docker push $REGISTRY/$PREFIX/kube-webhook-certgen:v1.6.9

Istio images

Run these additional commands only if you use Istio.

ISTIO_VERSION="1.30.3"

docker pull registry.istio.io/release/pilot:$ISTIO_VERSION
docker tag registry.istio.io/release/pilot:$ISTIO_VERSION $REGISTRY/$PREFIX/pilot:$ISTIO_VERSION
docker push $REGISTRY/$PREFIX/pilot:$ISTIO_VERSION

docker pull registry.istio.io/release/proxyv2:$ISTIO_VERSION
docker tag registry.istio.io/release/proxyv2:$ISTIO_VERSION $REGISTRY/$PREFIX/proxyv2:$ISTIO_VERSION
docker push $REGISTRY/$PREFIX/proxyv2:$ISTIO_VERSION

Registry flags

Provide your registry details to the installation so the operator can authenticate and pull images.

When you install with Helm, set the registry details in values.yaml under cluster.

ValueDescriptionExample
cluster.imageRegistryHostRegistry hostnamepkg.harness.io/g_ix-gj_sisgiituoe06eq
cluster.imageRegistryPathPrefixPath prefix within the registrycxe-public-docker
cluster.imageRegistryUsernameRegistry usernameadmin
cluster.imageRegistryPasswordRegistry password or tokenpat.xxx.xxx