Skip to main content
Version: Deploy 23.1

Installation Wizard for Digital.ai Deploy

  • Here's a list of questions that you would have to answer to install Digital.ai Deploy or Release using the xl kube install command.
  • While some of the following questions are common for both Deploy and Release, some are relevant only for Deploy or Release and that has been called out in the descriptions accordingly.
  • You must select one of the available options for some of the questions.
  • Use the arrow keys to move up or down and press enter to select an option.

Deploy Installation Wizard

Here's a list of questions that you would have to answer to install Digital.ai Deploy using the xl kube install command.

Confirm the kubectl Context

Prompt? Following kubectl context will be used during execution: <kubectl-context/username>? (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valueskubectl current context
Default valuekubectl current context
RemarksConfirm the kubectl context to proceed.

Choose a Kubernetes Platform

Prompt? Select the Kubernetes setup where the Digital.ai Devops Platform will be installed, updated or cleaned:
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesOpenshift [Openshift]
AWSEKS [AWS EKS]
PlainK8s [Plain multi-node K8s cluster]
AzureAKS [Azure AKS]
GoogleGKE [Google Kubernetes Engine]
Default valueOpenshift [Openshift]
RemarksYou must have your cluster ready before you select an answer for this prompt.

Choose a Kubernetes Namespace

Important: If you want to enable the TLS protocol in your cluster, you must have the TLS secret created in the namespace before you start the installation or upgrade. This means that you must have created the namespace and the TLS secret already. Use the same namespace when you answer this prompt.

Prompt? Do you want to use an custom Kubernetes namespace (current default is digitalai): [? for help] (y/N)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuedigitalai
RemarksType the name of a custom namespace where you want to install or upgrade Deploy or Release or go with the default namespace, which is digitalai.
If you are going to enable the TLS protocol in your cluster, you must have created the namespace and the TLS secret already. Use the same namespace where you have the TLS secret created.

Choose the Product to Install

Prompt? Product server you want to perform install for [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesdaiRelease [Digital.ai Release]
daiDeploy [Digital.ai Deploy]
Default valuedaiRelease [Digital.ai Release]
RemarksSelect a product—Digital.ai Release or Digital.ai Deploy

Enter the Repository Name

Prompt? Enter the repository name (eg: <repositoryName> from <repositoryName>/<imageName>:<tagName>): [? for help] (xebialabs)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuexebialabs
RemarksType the repository name. It is recommended to go with the default, which is xebialabs

Enter the Image Name

Prompt? Enter the image name (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available values(xl-release)
(xl-deploy)
Default value(xl-release) or (xl-deploy)

Depending on the product you chose to install earlier, the default value would either be xl-release or xl-deploy for Digital.ai Release and Deploy respectively.
RemarksType the name of the image you want to use for installation.

Enter the Image Tag

The xl kube install and xl kube upgrade wizards let you go with the default (latest) docker image tags available when you install or upgrade Digital.ai Deploy or Release. However, here are the Docker Hub links to verify all the the available image tags.

Prompt? Enter the image tag (eg: <tagName> from <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueThe latest release available in the repository, for example 22.3.0
RemarksType the product version number you want to install, for example, 22.2.0 or 22.3.0.

Enter the Deploy Task Engine Image Name

Prompt? Enter the deploy task engine image name for version 22 and above (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (deploy-task-engine)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuedeploy-task-engine
RemarksType the name of the Digital.ai Deploy task engine image you want to use. This is relevant for Digital.ai Deploy 22.0.0 and later.

Enter the Deploy Central Configuration Image Name

Prompt? Enter the central configuration image name for version 22 and above (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (central-configuration)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuecentral-configuration
RemarksType the name of the Digital.ai Deploy central configuration image you want to use. This is relevant for Digital.ai Deploy 22.0.0 and later.

Enter the Deploy Master Replica Count

Prompt? Enter the deploy master server replica count: [? for help] (3)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value3
RemarksType the number of Deploy master server replicas you want.

Enter the Deploy Master PVC Size

Prompt? Enter PVC size for Deploy master (Gi): [? for help] (10)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value10
RemarksType the persistent volume claim (PVC) size for Deploy master server.

Select Access Modes

Prompt? Select between supported Access Modes: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesReadWriteOnce [ReadWriteOnce]
ReadWriteMany [ReadWriteMany]
Default value for ReleaseReadWriteMany [ReadWriteMany]
Default value for DeployReadWriteOnce [ReadWriteOnce]
RemarksSelect the access mode.

Enter the Deploy Worker Replica Count

Prompt? Enter the deploy worker replica count: [? for help] (3)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value3
RemarksType the number of Deploy worker replicas you want.

Enter the Deploy Worker PVC Size

Prompt? Enter PVC size for Deploy worker (Gi): [? for help] (10)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value10
RemarksType the persistent volume claim (PVC) size for Deploy worker.

Enter the Deploy Central Configuration PVC Size

Prompt? Enter PVC size for Central Configuration (Gi): [? for help] (0.500000)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value0.500000
RemarksType the persistent volume claim (PVC) size for Deploy central configuration.

Select Ingress Type

Prompt? Select between supported ingress types: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesNoNo
Available valuesnginx [NGINX]
haproxy [HAProxy]
external [External - IngressClass resource should already exist]
none [None - Ingress will not be set up during installation]
Default value for Releasenginx [NGINX]
RemarksSelect one of the ingress controllers—nginx or haproxy.
You can also choose not to set up the ingress controller at the time of installation or choose to use an external ingress controller.
No ingress controller needed if you were to use an OpenShift cluster.  

Enable TLS/SSL

Important: If you want to enable the TLS protocol in your cluster, you must have the TLS secret created in the namespace before you start the installation or upgrade. This means that you must have created the namespace and the TLS secret already. Use the same TLS secret when you answer this prompt.

Prompt? Do you want to enable an TLS/SSL configuration (if yes, requires existing TLS secret in the namespace): [? for help] (y/N)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesNoNo
Available valuesNA
Default valueNo
RemarksType Yes to enable TLS/SSL or No otherwise. The default is No. If you want to enable TLS/SSL, keep the TLS secret handy to enter at the next prompt.

Enter the Domain Name

Prompt? Provide DNS name for accessing UI of the server: [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueNA
RemarksType the domain name for accessing the Digital.ai Deploy or Release server. For example, xlr-operator.apps.opcluster.p1.openshiftapps.com

Enter the Administrator Password

Prompt? Provide administrator password: [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueRandomly generated administrator password.
RemarksA default password is generated randomly and you can use it if you choose to, in which case you must copy the password and keep it handy.
You can also type your own administrator password at the prompt.

Select the OIDC Configuration

Prompt? Type of the OIDC configuration: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesexternal [External OIDC Configuration]
identity-service [Identity Service Configuration]
embedded [Embedded Keycloak Configuration]
no-oidc [No OIDC Configuration]
Default valueno-oidc [No OIDC Configuration]
RemarksChoose one of the options based on the OIDC authentication setup you have or want to have.

For more information, see Select the Type of OIDC Configuration.

Enter the Operator Image to Use

Prompt? Enter the operator image to use (eg: <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueThe latest image from the Digital.ai repository, for example, (xebialabs/release-operator:22.3.0-openshift)
RemarksType the Kubernetes Operator Docker Hub image name you want to use.
By default, the latest image for the product—Deploy or Release—which you install—would be used.
Example: (xebialab/release-operator:22.3.0-openshift), if you are installing Digital.ai Release on OpenShift.
However, you can change it to an older image if required.

Enter the Product License

Prompt? Select source of the license: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesfile [Path to the license file (the file can be in clean text or base64 encoded)]
editor [Copy/Paste the license to editor (the text can be in clean text or base64 encoded)]
Default valuefile [Path to the license file (the file can be in clean text or base64 encoded)]
RemarksYou can either choose to type in the path to the license file (for example, /home/jmahendran/xl-release-license.lic) or choose to copy and paste the license information in the editor.
The license file can be in plain text format or in base64 encoded format.

Select the Java Repository Keystore

Prompt? Select source of the repository keystore: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesgenerate [Generate the repository keystore during installation (you need to have keytool utility installed in your path)]
file [Path to the repository keystore file (the file can be in the raw format or base64 encoded)]
editor [Copy/Paste the repository keystore to editor (the content needs to be base64 encoded)]
Default valuegenerate [Generate the repository keystore during installation (you need to have keytool utility installed in your path)]
RemarksSelect if you want to generate a new JDK keystore file or use an existing one. The default is to generate a new JDK keystore.
If you have an existing keystore file, you can either choose to type in the path to the repository keystore file or copy and paste the keystore file in the editor.

Enter the Keystore Passphrase

Prompt? Provide keystore passphrase: [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueA randomly generated password.
RemarksType a password for the JDK repository keystore.
A random password is auto-generated by default.
Copy the auto-generated password and keep it safe if you were to use the auto-generated password.

Select the Storage Class

Prompt? Provide storage class for the server: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesAs set up by the cluster administrator
Default valueAs set up by the cluster administrator
RemarksSelect a storage class that you want to use for Digital.ai Deploy or Release.

Create New PostgreSQL Server? Or Use Existing One?

Prompt? Do you want to install a new PostgreSQL on the cluster: [? for help] (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueYes
RemarksType Yes to install a new PostgreSQL database server in your cluster or No to use an existing PostgreSQL server.
Keep the following information handy in case you want to use an existing PostgreSQL server:

For Release:

XLR_DB_URL: jdbc:postgresql://<xlr-db-host>:5432/<xlr-database-name>
XLR_DB_USER: <xlr-username>
XLR_DB_PASS: <xlr-password>
XLR_REPORT_DB_URL: jdbc:postgresql://<xlr-report-db-host>:5432/<xl-report-database-name>
XLR_REPORT_DB_USER: <xl-report-username>
XLR_REPORT_DB_PASS: <xl-report-password>

For Deploy:
XL_DB_URL: jdbc:postgresql://<xld-db-host>:5432/<xlr-database-name>
XL_DB_USERNAME: <xld-username>
XL_DB_PASSWORD: <xld-password>

Enter the external PostgreSQL server details at the following prompt.  

? Edit database external setup: [? for help] [Enter to launch editor]

Select the PostgreSQL Storage Class

Prompt? Storage Class to be defined for PostgreSQL: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesAs set up by the cluster administrator
Default valueAs set up by the cluster administrator
RemarksSelect a storage class that you want to use for PostgreSQL.

Enter the PostgreSQL PVC size

Prompt? Provide PVC size for PostgreSQL (Gi): [? for help] (8)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value8
RemarksType the persistent volume claim for PostgreSQL. The default is 8.

Create New RabbitMQ Server? Or Use Existing One?

Prompt? Do you want to install a new RabbitMQ on the cluster: [? for help] (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueYes
RemarksType Yes to install a new RabbitMQ server in your cluster or No to use an existing RabbitMQ server.
Keep the following information handy in case you want to use an existing RabbitMQ server:

For Release:
XLR_TASK_QUEUE_USERNAME: <username>
XLR_TASK_QUEUE_PASSWORD: <password>
XLR_TASK_QUEUE_NAME: <queue-name>
XLR_TASK_QUEUE_URL: <queue-url>

For Deploy:
XLD_TASK_QUEUE_DRIVER_CLASS_NAME: <driver-class-name>
XLD_TASK_QUEUE_PASSWORD: <password>
XLD_TASK_QUEUE_URL: <queue-url>
XLD_TASK_QUEUE_USERNAME: <username>


Enter the external RabbitMQ server details at the following prompt.

? Edit RabbitMQ external setup: [? for help] [Enter to launch editor]

Enter the RabbitMQ Replica Count

Prompt? Replica count to be defined for RabbitMQ: [? for help] (3)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value3
RemarksType the number of replicas you need for RabbitMQ server.

Select the RabbitMQ Storage Class

Prompt? Storage Class to be defined for RabbitMQ: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesAs set up by the cluster administrator
Default valueAs set up by the cluster administrator
RemarksSelect a storage class that you want to use for RabbitMQ.

Enter the RabbitMQ PVC Size

Prompt? Provide PVC size for RabbitMQ (Gi): [? for help] (8)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default value8
RemarksType the persistent volume claim for RabbitMQ. The default is 8.

Once you are done answering the questions, the installer provides a summary of the installation choices you made. Here's an example.

1665217557157

It then proceeds with the installation by applying the resources to the cluster and completes the installation of the product. Here's an example.

1665217708304