Installation Wizard for Digital.ai Release
- 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.
Important: We highly recommend you to go through the xl kube workshop to gain a comprehensive understanding on how to install or upgrade Digital.ai Deploy or Release or on a kubernetes cluster and how it can benefit you.
Release Installation Wizard
Here's a list of questions that you would have to answer to install Digital.ai Release using the xl kube install command.
Here's the list of questions
Confirm the kubectl Context
Prompt | ? Following kubectl context will be used during execution: <kubectl-context/username> ? (Y/n) | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | kubectl current context | |||||
Default value | kubectl current context | |||||
Remarks | Confirm 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | Openshift [Openshift] AWSEKS [AWS EKS] PlainK8s [Plain multi-node K8s cluster] AzureAKS [Azure AKS] GoogleGKE [Google Kubernetes Engine] | |||||
Default value | Openshift [Openshift] | |||||
Remarks | You 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | digitalai | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | daiRelease [Digital.ai Release] daiDeploy [Digital.ai Deploy] | |||||
Default value | daiRelease [Digital.ai Release] | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | xebialabs | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
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. | |||||
Remarks | Type 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.
- Digital.ai Deploy Operator Image
- Digital.al Release Operator Image
- Digital.ai Deploy Image
- Digital.ai Release Image
- Digital.ai Deploy Task Engine Image
- Digital.ai Deploy Central Configuration Image
Prompt | ? Enter the image tag (eg: <tagName> from <repositoryName>/<imageName>:<tagName>): [? for help] | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | The latest release available in the repository, for example 22.3.0 | |||||
Remarks | Type the product version number you want to install, for example, 22.2.0 or 22.3.0. |
Enter the Release Server Replica Count
Prompt | ? Enter the release server replica count: [? for help] (3) | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | 3 | |||||
Remarks | Type the number of Release server replicas you want. |
Enter the PVC Size for Release
Prompt | ? Enter PVC size for Release (Gi): [? for help] (8) | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | 8 | |||||
Remarks | Type the persistent volume claim (PVC) size for Release. |
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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | ReadWriteOnce [ReadWriteOnce] ReadWriteMany [ReadWriteMany] | |||||
Default value for Release | ReadWriteMany [ReadWriteMany] | |||||
Default value for Deploy | ReadWriteOnce [ReadWriteOnce] | |||||
Remarks | Select the access mode. |
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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | No | No | ||
Available values | nginx [NGINX] haproxy [HAProxy] external [External - IngressClass resource should already exist] none [None - Ingress will not be set up during installation] | |||||
Default value for Release | nginx [NGINX] | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | No | No | ||
Available values | NA | |||||
Default value | No | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | NA | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | Randomly generated administrator password. | |||||
Remarks | A 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | external [External OIDC Configuration] identity-service [Identity Service Configuration] embedded [Embedded Keycloak Configuration] no-oidc [No OIDC Configuration] | |||||
Default value | no-oidc [No OIDC Configuration] | |||||
Remarks | Choose 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | The latest image from the xebialabs repository, for example, (xebialabs/release-operator:22.3.0-openshift) | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | file [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 value | file [Path to the license file (the file can be in clean text or base64 encoded)] | |||||
Remarks | You 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | generate [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 value | generate [Generate the repository keystore during installation (you need to have keytool utility installed in your path)] | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | A randomly generated password. | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | As set up by the cluster administrator | |||||
Default value | As set up by the cluster administrator | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | Yes | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | As set up by the cluster administrator | |||||
Default value | As set up by the cluster administrator | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | 8 | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | Yes | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | 3 | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | As set up by the cluster administrator | |||||
Default value | As set up by the cluster administrator | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | 8 | |||||
Remarks | Type 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.
It then proceeds with the installation by applying the resources to the cluster and completes the installation of the product. Here's an example.