Setup Custom Image Registry
In this article, you will learn how to set up a custom image registry to install or upgrade Release. A custom image registry can either be public (not password protected) or private (password protected).
The xl kube
installer has a question (Select type of image registry:
) to choose the default or custom public or private registry, which can be used to perform the setup on a custom image registry and image repository.
Important: This topic covers how to set up the custom image registry for you to install Release. Note that, for Deploy and Release runners, the steps are the same. Only the prerequisite images will vary.
Here's a detailed step-by-step.
Step 1: Get required images
As a prerequisite, you must ensure that following images are available in the custom repository in your custom registry for version 24.3.x:
Note: The image versions may not match the latest release. We recommend checking the Release values.yaml or Deploy values.yaml for the most up-to-date versions.
For Release
docker.io/xebialabs/xl-release:<version>
docker.io/library/busybox:stable
docker.io/xebialabs/release-operator:<version>
docker.io/xebialabs/xl-client:<version>
docker.io/bitnami/os-shell:12-debian-12-r31
docker.io/bitnami/kubectl:1.30.6-debian-12-r0
For Release runner
docker.io/xebialabs/release-runner:<version>
For Deploy
docker.io/xebialabs/xl-deploy:<version>
docker.io/xebialabs/deploy-task-engine:<version>
docker.io/xebialabs/central-configuration:<version>
docker.io/library/busybox:stable
docker.io/xebialabs/deploy-operator:<version>
docker.io/xebialabs/xl-client:<version>
docker.io/bitnami/os-shell:12-debian-12-r31
docker.io/bitnami/kubectl:1.30.6-debian-12-r0
For Nginx (applicable for both Release and Deploy)
docker.io/bitnami/nginx:1.27.2-debian-12-r1
docker.io/bitnami/nginx-ingress-controller:1.11.3-debian-12-r1
For HAProxy (applicable for both Release and Deploy)
quay.io/jcmoraisjr/haproxy-ingress:v0.14.7
For embedded PostgreSQL (applicable for both Release and Deploy)
docker.io/bitnami/postgresql:16.3.0-debian-12-r23
For embedded RabbitMQ (applicable for both Release and Deploy)
docker.io/bitnami/rabbitmq:3.13.7-debian-12-r5
Step 2: Push images to custom image registry
Note: Before pushing a Docker image to a registry, it's important to ensure that you're logged into the Docker registry.
For example:
You can create a Docker registry called myrepo_host
to push the Docker image xl-release
to the repository myrepo
. To do so, run the following command:
docker pull docker.io/xebialabs/xl-release:<version>
docker tag docker.io/xebialabs/xl-release:<version> myrepo_host/myrepo/xl-release:<version>
docker push myrepo_host/myrepo/xl-release:<version>
Examples
Custom Public Registry
The following example lists the questions asked when you select a custom public registry:
? Select type of image registry: public [Custom Public Registry (Uses a specific custom registry)]
? Enter the custom docker image registry name (eg: <imageRegistryName> from <imageRegistryName>/<repositoryName>/<imageName>:<tagName>): docker.io
? Enter the repository name for the application and operator images (eg: <repositoryName> from <repositoryName>/<imageName>:<tagName>): xebialabsunsupported