Upgrading to Operator Based Deploy Solution

This section describes how to upgrade to the latest Kubernetes Operator-based Release solution on various Kubernetes platforms. The following upgrade scenarios are supported:

Supported Platforms

  • Amazon EKS
  • Azure Kubernetes Service
  • Kubernetes On-premise
  • OpenShift on AWS
  • GCP GKE

Audience

This guide is intended for administrators with cluster administrator credentials who are responsible for application deployment.

Before You Begin

The following are the prerequisites required to migrate to the operator-based deployment:

  • Docker version 17.03 or later
  • The kubectl command-line tool
  • The vi editor
  • The yq command-line tool (Use the latest binary)
  • Access to a Kubernetes cluster version 1.19 or later
  • Kubernetes cluster configuration
  • If you are upgrading Deploy on OpenShift cluster, you will need:

    • The OpenShift oc tool
    • Access to an OpenShift cluster version 4.5 or later
  • The Helm Chart that was used to install the Release application
  • Back up of the Release application and Kubernetes cluster configuration
  • Ensure the port 4516 is free

Backup and Restore

Before you upgrade to Kubernetes Operator-based solution, you must back up your existing database so that you can revert back to the earlier state in case of upgrade failures. You can use automated backups or snapshots of the database to back up your AWS Relational Database Service (RDS) instance. For more information about back up and restore using snapshots, refer to Backing up and restoring an Amazon RDS DB instance.

Note: We recommend that you use an external database instance (for example, PostgreSQL) for production grade installations. To back up the PostgreSQL database running on a virtual machine, use the native PostgreSQL commands—pg_dump and pg_restore.

Keycloak as the Default Authentication Manager for Release

From Release 22.1, Keycloak is the default authentication manager for Release. This is defined by the spec.keycloak.install parameter that is set to true by default in the dairelease_cr.yaml file. If you want to disable Keycloak as the default authentication manager for Digitial.ai Release, set the spec.keycloak.install parameter to false. After you disable the Keycloak authentication, the default login credentials (admin/admin) will be applicable when you log in to the Digital.ai Release interface.

After you upgrade to the latest version of Digital.ai Release, follow the steps provided in Keycloak Configuration for Kubernetes Operator Installer to configure Keycloak for Release.

Upgrading from Helm Charts-based Release Environment to Operator-based Release Environment

You can upgrade to Release 22.2 from earlier Release versions that are installed using Helm Charts (Release 10.0 and Release 10.1) on the following platforms:

Amazon Elastic Container Service for Kubernetes (EKS)

Upgrading to Release 22.2 on Amazon EKS

Follow the steps below to upgrade to Release 22.2 on Amazon EKS.

Step 1—Check the status of the Helm Chart installation

Run the following command:

helm status <product name>

Sample Output

Helm Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Sample Output

Running Pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

      Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  2. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—AwsEKS [AWS EKS]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and Amazon EKS (AWS EKS) clusters, always type n (No).
No
Enter the K8sApiServerURL of your Kubernetes installation Type the AWS Server URL, and press Enter. NA
What is the Amazon EKS cluster name? Type the Amazon EKS Cluster Name, and press Enter. NA
Do you want to use the AWS credentials from your ~/.aws/credentials file? If you want to use the AWS credentials from the credentials file, type y for Yes. Otherwise, type n for No. Press Enter. Yes
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
Note: For Helm to Operator upgrade, always type y (Yes).
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Type the name of the Kubernetes namespace where the Helm Chart is deployed, and press Enter. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the produce that is deployed on the Helm Chart.
NA
Enter the repository name(eg: <repositoryName>/<imageName>:<tagName>) Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name(eg: <repositoryName>/<imageName>:<tagName>) Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag(eg: <repositoryName>/<imageName>:<tagName>) Type the image tag of the product—22.2.0, and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from Helm-based solution to Operator-based solution, select helmToOperator [Helm to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/release-operator:1.0.0
Enter the helm release name Type the name of the release product installed using the Helm Chart.
Note: To get the helm release name, run the following command in a separate command shell—helm ls, and copy the name of the release product
NA
A preview of the enter values is displayed.
  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system start the local Deploy instance. This process will take some time.
    After the process completes, the Helm-based release product is uninstalled, and the Operator-based release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local Deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc

    Sample Output

    Register load balancer

  2. Register your Load balancer external IP under the appropriate DNS.
    After the registration, you can verify the newer version of Release (Operator-based product) using the same link that you used to access the earlier version (Helm-chart based release product).
Azure Kubernetes Service (AKS)

Upgrading to Release 22.2 on AKS

To upgrade to Release 22.2 on Azure Kubernetes Service (AKS) cluster, follow the installation steps — Step 1 to Step 4 from Installation topic, and perform the following steps:

Step 1—Upgrade the Operator

  1. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  2. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—Azure AKS [Azure AKS]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For AKS cluster, always type y (Yes).
Yes
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
Note: For Helm to Operator upgrade, always type y (Yes).
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Type the name of the Kubernetes namespace where the Helm Chart is deployed, or press Enter to select the default option. default
Product server you want to perform upgrade for Use the Up/Down arrow keys and select daiRelease [Digital.ai Deploy] NA
Enter the repository name(eg: <repositoryName>/<imageName>:<tagName>) Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name(eg: <repositoryName>/<imageName>:<tagName>) Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag(eg: <repositoryName>/<imageName>:<tagName>) Type the image tag of the product—22.2.0, and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from Helm-based solution to Operator-based solution, select helmToOperator [Helm to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/release-operator:1.0.0
Enter the helm release name Type the name of the release product installed using the Helm Chart, for example, dai-xlr-aks.
Note: To get the helm release name, run the following command in a separate command shell—helm ls, and copy the name of the release product
NA
A preview of the enter values is displayed.
  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system start the local Deploy instance. This process will take some time.
    After the process completes, the Helm-based Deploy product is uninstalled, and the Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

To complete the upgrade process, follow the steps — Step 1 to Step 4 from Installation topic.

Kubernetes On-premise

Upgrading to Release 22.2 on Kubernetes On-premise Cluster

Follow the steps below to upgrade to Release 22.2 on Kubernetes On-premise Cluster.

Step 1—Check the status of the Helm Chart installation

Run the following command:

helm status <product name>

Sample Output

Helm Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Sample Output

Running Pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Run the following command:

    xl op --upgrade

    A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  2. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—PlainK8SCluster [Plain multi-node K8s cluster]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter. No
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
Note: For Helm to Operator upgrade, always type y (Yes).
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Type the name of the Kubernetes namespace where the Helm Chart is deployed, and press Enter. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the produce that is deployed on the Helm Chart.
NA
Enter the repository name(eg: <repositoryName>/<imageName>:<tagName>) Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name(eg: <repositoryName>/<imageName>:<tagName>) Type the image name of the product—xl-deploy, and press Enter. xl-release
Enter the image tag(eg: <repositoryName>/<imageName>:<tagName>) Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from Helm-based solution to Operator-based solution, select helmToOperator [Helm to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Release from the official Docker Hub repository site.
xebialabs/release-operator:1.1.1
Enter the helm release name Type the name of the release product installed using the Helm Chart.
Note: To get the helm release name, run the following command in a separate command shell—helm ls, and copy the name of the release product
NA

A preview of the enter values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the Helm-based release product is uninstalled, and the Operator-based release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get ingress

    Sample Output

    Register load balancer

  2. Register your Load balancer external IP under the appropriate DNS.
    After the registration, you can verify the newer version of the release (Operator-based product) using the same link that you used to access the earlier version (Helm-chart based release product).
  3. Replace the NodePort with the updated node port. To get the details about the services and the node port, run the following command:

    kubectl get svc.
OpenShift

Upgrade to Release 22.2 on OpenShift Cluster

You can upgrade to Operator-based Release solution on the following OpenShift platforms:

  • OpenShift cluster on AWS

Follow the steps below to upgrade to Release 22.2 on your OpenShift cluster.

Step 1—Check the status of the Helm Chart installation

Run the following command:

helm status <product name>

Sample Output

Helm Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

oc get pods

Sample Output

Running Pods

Step 3—Download and set up the XL CLI

  1. Download the XL-CLI binaries.

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

    A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  2. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the Digital.ai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—OpenShift . Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and AWS EKS clusters, always type n (No).
No
Enter the K8sApiServerURL of your Kubernetes installation Type the OpenShift Server URL, and press Enter. NA
Choose kubernetes authentication type Use the Up/Down arrow keys to choose one of the authentication types for the OpenShift cluster:
  • token
  • filepath
token
Provide authentication token for the existing service account Enter the token. NA
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
Note: For Helm to Operator upgrade, always type y (Yes).
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Type the name of the Kubernetes namespace where the Helm Chart is deployed, and press Enter. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the produce that is deployed on the Helm Chart.
NA
Enter the repository name(eg: <repositoryName>/<imageName>:<tagName>) Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name(eg: <repositoryName>/<imageName>:<tagName>) Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag(eg: <repositoryName>/<imageName>:<tagName>) Type the image tag of the product—22.2.0, and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from Helm-based solution to Operator-based solution, select helmToOperator [Helm to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/release-operator:1.0.0-openshift
Enter the helm release name Type the name of the release product installed using the Helm Chart.
Note: To get the helm release name, run the following command in a separate command shell—helm ls, and copy the name of the release product
NA
A preview of the enter values is displayed.
  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system start the local Deploy instance. This process will take some time.
    After the process completes, the Helm-based release product is uninstalled, and the Operator-based release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local Deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Verify the Operator installation

  1. Run the following command:

    oc get route

    Sample Output

    Verify Operator Installation

  2. Verify the newer version of the release (Operator-based product) using the same link that you used to access the earlier version (Helm-chart based release product).
Google Cloud Platform (GCP)

Upgrading to Release 22.2 on GCP GKE

Follow the steps below to Upgrading to Release 22.2 on Google Cloud Platform (GCP) Google Kubernetes Engine (GKE) cluster.

Step 1—Check the status of the Helm Chart installation

Run the following command:

helm status <product name>

Sample Output

Helm Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Sample Output

Running Pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

      Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  2. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—GoogleGKE [Google Kubernetes Engine]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and Amazon EKS (AWS EKS) clusters, always type n (No).
No
Enter the K8sApiServerURL of your Kubernetes installation Type the GKE Server URL, and press Enter. NA
Choose Kubernetes authentication type Use the Up/Down arrow keys to choose the type of authentication, and press Enter:
  • token
  • filepath
token
Provide authentication token for the existing service account Type the token, and press Enter. NA
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
Note: For Helm to Operator upgrade, always type y (Yes).
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Type the name of the Kubernetes namespace where the Helm Chart is deployed, and press Enter. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the produce that is deployed on the Helm Chart.
NA
Enter the repository name(eg: <repositoryName>/<imageName>:<tagName>) Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name(eg: <repositoryName>/<imageName>:<tagName>) Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from Helm-based solution to Operator-based solution, select helmToOperator [Helm to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/deploy-operator:1.2.0
Enter the helm release name Type the name of the Deploy product installed using the Helm Chart.
Note: To get the helm release name, run the following command in a separate command shell—helm ls, and copy the name of the Release product
NA

A preview of the enter values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system start the local Deploy instance. This process will take some time.
    After the process completes, the Helm-based Release product is uninstalled, and the Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc
  2. Register your Load balancer external IP under the appropriate DNS.
    After the registration, you can verify the newer version of Deploy (Operator-based product) using the same link that you used to access the earlier version (Helm-chart based release product).

Upgrading from Previous Operator-based Release Environment to the Latest Operator-based Release Environment

You can upgrade to Release 22.2 from Release 10.2 and later versions that are installed using Kubernetes Operator on the following platforms:

Amazon Elastic Container Service for Kubernetes (EKS)

Upgrading to Release 22.2 on Amazon EKS

Follow the steps below to upgrade to Release 22.2 on Amazon EKS (AWS EKS).

Step 1—Check the status of the existing operator based Release instance

To check the status of the existing Operator version:

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About and verify the status:

    Operator-based Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Sample Output

Running Pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Run the following commands to get the custom resource definition (CRD) and custom resource (CR):

    kubectl get crd

    CRD

    CRD

    kubectl get <crd name>

    CR

    CR

    Backup the previous crd and cr data value

    kubectl get <crd name> <cr name> -n <namespace> -o yaml > dairelease_cr_<version>.yaml

    Example

    kubectl get digitalaireleases.xlr.digital.ai dai-xlr -n default -o yaml > dairelease_cr_<version>.yaml    
  2. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

      Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  3. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—AwsEKS [AWS EKS]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and Amazon EKS (AWS EKS) clusters, always type n (No).
No
Enter the K8sApiServerURL of your Kubernetes installation Type the AWS Server URL, and press Enter. NA
What is the Amazon EKS cluster name? Type the Amazon EKS Cluster Name, and press Enter. NA
Do you want to use the AWS credentials from your ~/.aws/credentials file? If you want to use the AWS credentials from the credentials file, type y for Yes. Otherwise, type n for No. Press Enter. Yes
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed: Enter the name of the existing Kubernetes namespace on which your operator is deployed. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the product that is deployed on the operator.
NA
Enter the repository name Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name Type the image name of the product—xl-release, and press Enter. xl-deploy
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from the previous Operator-based solution, select operatorToOperator [Operator to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Release from the official Docker Hub repository site.
xebialabs/deploy-operator:1.1.0
Do you want to use custom operator zip file for Release? If you would like to change the CR during upgrade, type Y for Yes. Otherwise, type n for No and you will just upgrade the version of the Release in the CR. Press Enter. Yes
Release operator zip to use (absolute path or URL to the zip) Enter URL to the zip (check https://dist.xebialabs.com/customer/operator/release/) or absolute path to the zip on the local disc, and press Enter. From the zip will be extracted the new CR version that will be applied during upgrade. Together with merged values according to the keys list from next question NA
Enter the name of the custom resource Type the name of the Operator CR. NA
Enter the name of the custom resource definition Type the name of the Operator CRD. NA
Edit list of custom resource keys that will migrate to the new Release CR Press Enter the go to the editor mode and edit the keys lists to select all the CR values you would like to preserve after upgrade. Save changes and close editor. Default value is specific list of keys that are in the most cases updated. For example:
.spec.replicaCount
.spec.UseExistingDB.Enabled
.spec.UseExistingMQ.Enabled
.spec.ingress.hosts
.spec.KeystorePassphrase
.spec.Persistence.Size
.spec.Persistence.StorageClass
.spec.RepositoryKeystore
.spec.postgresql.persistence.size
.spec.postgresql.persistence.storageClass
.spec.postgresql.postgresqlMaxConnections
.spec.keycloak.postgresql.persistence.size
.spec.keycloak.postgresql.postgresqlMaxConnections
.spec.haproxy-ingress.install
.spec.rabbitmq.install
.spec.keycloak.install
.spec.nginx-ingress-controller.install
.spec.postgresql.install
.spec.rabbitmq.install
.spec.oidc.enabled
.spec.rabbitmq.persistence.storageClass
.spec.rabbitmq.persistence.size
.spec.rabbitmq.replicaCount
.spec.rabbitmq.persistence.replicaCount
.spec.rabbitmq.persistence.storageClass
.spec.route.hosts
.spec.xlrLicense

A preview of the entered values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the previous Operator-based Release product is uninstalled, and the new Operator-based Deploy product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc
  2. Register your Load balancer external IP under the appropriate DNS.

Step 6—Verify the version of the Release instance

After the registration, verify the newer version of Release (latest Operator-based Deploy product):

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About:

    Operator Version

Azure Kubernetes Service (AKS)

Upgrading to Release 22.2 on AKS

Follow the steps below to upgrade to Release 22.2 on Azure Kubernetes Service (AKS).

Step 1—Check the status of the existing operator based Deploy instance

To check the status of the existing Operator version:

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About and verify the status:

    Operator-based Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Run the following commands to get the custom resource definition (CRD) and custom resource (CR):

    kubectl get crd

    The system fetches the CRD details.

    kubectl get <crd name>

    The system fetches the CRD details.

    Backup the previous crd and cr data value

    kubectl get <crd name> <cr name> -n <namespace> -o yaml > dairelease_cr_<version>.yaml

    Example

    kubectl get digitalaireleases.xlr.digital.ai dai-xlr -n default -o yaml > dairelease_cr_<version>.yaml    
  2. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  3. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—Azure AKS [Azure AKS]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For AKS clusters, always type y (Yes).
Yes
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed: Type the name of the existing Kubernetes namespace on which your operator is deployed. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the product that is deployed on the operator.
NA
Enter the repository name Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from the previous Operator-based solution, select operatorToOperator [Operator to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/deploy-operator:1.1.0
Do you want to use custom operator zip file for Release? If you would like to change the CR during upgrade, type Y for Yes. Otherwise, type n for No and you will just upgrade the version of the Release in the CR. Press Enter. Yes
Release operator zip to use (absolute path or URL to the zip) Enter URL to the zip (check https://dist.xebialabs.com/customer/operator/release/) or absolute path to the zip on the local disc, and press Enter. From the zip will be extracted the new CR version that will be applied during upgrade. Together with merged values according to the keys list from next question NA
Enter the name of the custom resource Type the name of the Operator CR (see Step 4). NA
Enter the name of the custom resource definition Type the name of the Operator CRD (see Step 4). NA
Edit list of custom resource keys that will migrate to the new Release CR Press Enter the go to the editor mode and edit the keys lists to select all the CR values you would like to preserve after upgrade. Save changes and close editor. Default value is specific list of keys that are in the most cases updated. For example:
.spec.replicaCount
.spec.UseExistingDB.Enabled
.spec.UseExistingMQ.Enabled
.spec.ingress.hosts
.spec.KeystorePassphrase
.spec.Persistence.Size
.spec.Persistence.StorageClass
.spec.RepositoryKeystore
.spec.postgresql.persistence.size
.spec.postgresql.persistence.storageClass
.spec.postgresql.postgresqlMaxConnections
.spec.keycloak.postgresql.persistence.size
.spec.keycloak.postgresql.postgresqlMaxConnections
.spec.haproxy-ingress.install
.spec.rabbitmq.install
.spec.keycloak.install
.spec.nginx-ingress-controller.install
.spec.postgresql.install
.spec.rabbitmq.install
.spec.oidc.enabled
.spec.rabbitmq.persistence.storageClass
.spec.rabbitmq.persistence.size
.spec.rabbitmq.replicaCount
.spec.rabbitmq.persistence.replicaCount
.spec.rabbitmq.persistence.storageClass
.spec.route.hosts
.spec.xlrLicense

A preview of the entered values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the previous Operator-based Release product is uninstalled, and the new Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc
  2. Register your Load balancer external IP under the appropriate DNS.

Step 6—Verify the version of the Release instance

After the registration, verify the newer version of Release (latest Operator-based Release product):

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About:

    Operator-based Upgrade Status

Kubernetes On-premise Cluster

Upgrading to Release 22.2 on Kubernetes On-premise Cluster

Follow the steps below to upgrade to Release 22.2 on Kubernetes On-premise Cluster.

Step 1—Check the status of the existing operator based Deploy instance

To check the status of the existing Operator version:

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About and verify the status.

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Run the following commands to get the custom resource definition (CRD) and custom resource (CR):

    kubectl get crd

    The system fetches the CRD details.

    kubectl get <crd name>

    The system fetches the CRD details.

    Backup the previous crd and cr data value

    kubectl get <crd name> <cr name> -n <namespace> -o yaml > dairelease_cr_<version>.json

    Example

    kubectl get digitalaireleases.xlr.digital.ai dai-xlr -n default -o yaml > dairelease_cr_<version>.json    
  2. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  3. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—PlainK8SCluster [Plain multi-node K8s cluster]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and Azure AKS clusters, always type n (No).
Yes
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed: Type the name of the existing Kubernetes namespace on which your operator is deployed. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the product that is deployed on the operator.
NA
Enter the repository name Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from the previous Operator-based solution, select operatorToOperator [Operator to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/deploy-operator:1.1.0
Do you want to use custom operator zip file for Release? If you would like to change the CR during upgrade, type Y for Yes. Otherwise, type n for No and you will just upgrade the version of the Release in the CR. Press Enter. Yes
Release operator zip to use (absolute path or URL to the zip) Enter URL to the zip (check https://dist.xebialabs.com/customer/operator/release/) or absolute path to the zip on the local disc, and press Enter. From the zip will be extracted the new CR version that will be applied during upgrade. Together with merged values according to the keys list from next question NA
Enter the name of the custom resource Type the name of the Operator CR (see Step 4). NA
Enter the name of the custom resource definition Type the name of the Operator CRD (see Step 4). NA
Edit list of custom resource keys that will migrate to the new Release CR Press Enter the go to the editor mode and edit the keys lists to select all the CR values you would like to preserve after upgrade. Save changes and close editor. Default value is specific list of keys that are in the most cases updated. For example:
.spec.replicaCount
.spec.UseExistingDB.Enabled
.spec.UseExistingMQ.Enabled
.spec.ingress.hosts
.spec.KeystorePassphrase
.spec.Persistence.Size
.spec.Persistence.StorageClass
.spec.RepositoryKeystore
.spec.postgresql.persistence.size
.spec.postgresql.persistence.storageClass
.spec.postgresql.postgresqlMaxConnections
.spec.keycloak.postgresql.persistence.size
.spec.keycloak.postgresql.postgresqlMaxConnections
.spec.haproxy-ingress.install
.spec.rabbitmq.install
.spec.keycloak.install
.spec.nginx-ingress-controller.install
.spec.postgresql.install
.spec.rabbitmq.install
.spec.oidc.enabled
.spec.rabbitmq.persistence.storageClass
.spec.rabbitmq.persistence.size
.spec.rabbitmq.replicaCount
.spec.rabbitmq.persistence.replicaCount
.spec.rabbitmq.persistence.storageClass
.spec.route.hosts
.spec.xlrLicense

A preview of the entered values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the previous Operator-based Release product is uninstalled, and the new Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc
  2. Register your Load balancer external IP under the appropriate DNS.

Step 6—Verify the version of the Release instance

After the registration, verify the newer version of Release(latest Operator-based Release product):

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About and verify the version.
OpenShift Cluster

Upgrading to Release 22.2 on OpenShift Cluster

This section describes how to upgrade Deploy using the Release Operator on the OpenShift cluster. You can upgrade on the following OpenShift platforms:

  • OpenShift cluster on AWS

Step 1—Check the status of the existing operator based Release instance

To check the status of the existing Operator version:

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About and verify the status.

Step 2—Verify the pods running on the cluster

Run the following command:

oc get pods

Step 3—Upgrade the Operator

  1. Run the following commands to get the custom resource definition (CRD) and custom resource (CR):

    oc get crd

    The system fetches the CRD details.

    oc get <crd name>

    The system fetches the CRD details.

    Backup the previous crd and cr data value

    kubectl get <crd name> <cr name> -n <namespace> -o yaml > dairelease_cr_<version>.yaml

    Example

    kubectl get digitalaireleases.xlr.digital.ai dai-xlr -n default -o yaml > dairelease_cr_<version>.yaml    
  2. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  3. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for Helm to Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—Openshift [Openshift]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For OpenShift and Azure AKS clusters, always type n (No).
No
Do you want to use an existing Kubernetes namespace? If you want to use the existing kubernetes namespace, type y for Yes. Otherwise, type n for No. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the K8sApiServerURL of your Kubernetes installation Type the OpenShift Server URL, and press Enter. NA
Choose kubernetes authentication type Use the Up/Down arrow keys to choose one of the authentication types for the OpenShift cluster:
  • token
  • filepath
token
Provide authentication token for the existing service account Enter the token. NA
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed Enter the name of the existing Kubernetes namespace on which your operator is deployed. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the product that is deployed on the Helm Chart.
NA
Enter the repository name Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name Type the image name of the product—xl-deploy, and press Enter. xl-release
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from the previous Operator-based solution, select operatorToOperator [Operator to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Eg./:
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/deploy-operator:1.1.0
Do you want to use custom operator zip file for Release? If you would like to change the CR during upgrade, type Y for Yes. Otherwise, type n for No and you will just upgrade the version of the Release in the CR. Press Enter. Yes
Release operator zip to use (absolute path or URL to the zip) Enter URL to the zip (check https://dist.xebialabs.com/customer/operator/release/) or absolute path to the zip on the local disc, and press Enter. From the zip will be extracted the new CR version that will be applied during upgrade. Together with merged values according to the keys list from next question NA
Enter the name of the custom resource Type the name of the Operator CR (see Step 4). NA
Enter the name of the custom resource definition Type the name of the Operator CRD (see Step 4). NA
Edit list of custom resource keys that will migrate to the new Release CR Press Enter the go to the editor mode and edit the keys lists to select all the CR values you would like to preserve after upgrade. Save changes and close editor. Default value is specific list of keys that are in the most cases updated. For example:
.spec.replicaCount
.spec.UseExistingDB.Enabled
.spec.UseExistingMQ.Enabled
.spec.ingress.hosts
.spec.KeystorePassphrase
.spec.Persistence.Size
.spec.Persistence.StorageClass
.spec.RepositoryKeystore
.spec.postgresql.persistence.size
.spec.postgresql.persistence.storageClass
.spec.postgresql.postgresqlMaxConnections
.spec.keycloak.postgresql.persistence.size
.spec.keycloak.postgresql.postgresqlMaxConnections
.spec.haproxy-ingress.install
.spec.rabbitmq.install
.spec.keycloak.install
.spec.nginx-ingress-controller.install
.spec.postgresql.install
.spec.rabbitmq.install
.spec.oidc.enabled
.spec.rabbitmq.persistence.storageClass
.spec.rabbitmq.persistence.size
.spec.rabbitmq.replicaCount
.spec.rabbitmq.persistence.replicaCount
.spec.rabbitmq.persistence.storageClass
.spec.route.hosts
.spec.xlrLicense

A preview of the entered values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the previous Operator-based Release product is uninstalled, and the new Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Verify the version of the Release instance

After the registration, verify the newer version of Release (latest Operator-based Release product):

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About.
Google Cloud Platform (GCP) Google Kubernetes Engine (GKE)

Upgrading to Release 22.2 on GCP GKE

Follow the steps below to upgrade to Release 22.2 on GCP GKE.

Step 1—Check the status of the existing operator based Release instance

To check the status of the existing Operator version:

  1. Log in to Digital.ai Deploy.
  2. From the Settings icon, click About and verify the status:

    Operator-based Installation Status

Step 2—Verify the pods running on the cluster

Run the following command:

kubectl get pods

Step 3—Download and set up the XL CLI

See Install the XL-CLI.

Note: Use the version that matches your product version in the public folder.

Step 4—Upgrade the Operator

  1. Run the following commands to get the custom resource definition (CRD) and custom resource (CR):

    kubectl get crd

    CRD

    CRD

    kubectl get <crd name>

    CR

    CR

    Backup the previous crd and cr data value

    kubectl get <crd name> <cr name> -n <namespace> -o yaml > dairelease_cr_<version>.yaml

    Example

    kubectl get digitalaireleases.xlr.digital.ai dai-xlr -n default -o yaml > dairelease_cr_<version>.yaml    
  2. Do one of the following:

    • If you want to retain the Operator artefacts, run the following command:

      xl op --upgrade --no-cleanup
    • Otherwise, run the following command:

      xl op --upgrade

      A set of questions is displayed.

    Note: Before running the command check if there is already running docker containers with name dai-deploy or with port 4516 with the command docker ps. Stop and delete the container with commands: docker stop dai-deploy; doecker rm dai-deploy.

  3. To continue with the upgrade, perform the actions described in the following table:

    Note: The default values is displayed within square brackets ([])

Question Action Default Value
Select the setup mode Use the Up/Down arrow keys to choose one of the setup modes, and press Enter:
  • advanced—to specify custom values
  • quick—to quickly run the setup with default values
Note: We recommend advanced setup mode for the Operator upgrade.
NA
Select the Kubernetes setup where the digitalai Devops will be installed or uninstalled Use the Up/Down arrow keys to select the platform from the list—GoogleGKE [Google Kubernetes Engine]. Press Enter. NA
Do you want to use kubernetes current-context from ~/.kube/config ? If you want to use Kubernetes configuration, type y for Yes. Otherwise, type n for No. Press Enter.
Note: For GoogleGKE [Google Kubernetes Engine] cluster, always select Yes.
Yes
Enter the K8sApiServerURL of your Kubernetes installation Type the GCP GKE Server URL, and press Enter. NA
Choose kubernetes authentication type Use the Up/Down arrow keys to choose one of the authentication types for the cluster:
  • token
  • filepath
token
Provide authentication token for the existing service account Provide the token from the kubeconfig file NA
Do you want to use an custom Kubernetes namespace (current default is ‘digitalai’)? If you want to use the ‘digitalai’ namespace, type n for No. Otherwise, type y for Yes. Press Enter.
For Operator to Operator upgrade, always select Yes.
Yes
Enter the name of the existing Kubernetes namespace where the XebiaLabs DevOps Platform will be installed, updated or undeployed: Type the name of the existing Kubernetes namespace on which your operator is deployed. default
Product server you want to perform upgrade for Use the Up/Down arrow keys to choose one of the products you want to upgrade, and press Enter:
  • daiRelease [Digital.ai Release]
  • daiDeploy [Digital.ai Deploy]
Note: Choose the product that is deployed on the operator.
NA
Enter the repository name Type the repository name from where you want to pull the product server image (Release), and press Enter. xebialabs
Enter the image name Type the image name of the product—xl-release, and press Enter. xl-release
Enter the image tag Type the image tag of the product (version number), and press Enter. 22.2.0
Choose the version of the XL Release for Upgrader setup of operator Use the Up/Down arrow keys to choose the version of the Release for the Upgrader setup of operator. 22.2.0
Do you want to enable an oidc? Type y for Yes—to enable OIDC Configuration. Otherwise, type n for No to use the default username and password for Release.
Note If you select No, oidc setup will be disabled
NA
Do you want to use an existing oidc configuration from previous installation? Type y for Yes—to Use an already existing oidc configuration from previous installation. Otherwise, type n for No to use the Embedded keycloak or other external oidc configuration for Release. NA
Use embedded keycloak? Type y for Yes—to use the embedded Keycloak authentication manager.
Note If you select No, the next question related to Keycloak public URL will not be displayed, Configure external oidc setup question will be displayed to configure external oidc setup.
NA
Enter Keycloak public URL Type the hostname of the public URL (the DNS name to access Keycloak console) that will be used for keycloak installation. NA
Use embedded DB for keycloak? Type y for Yes—to use the embedded DB for keycloak.
Note If you select No, we need to use the custom zip options and update cr yaml file with external DB for keycloak.
NA
Configure external oidc setup? Press Enter to enable the editor mode and edit the keys and values for oidc configuration. Save the changes and close the editor. For example:
.spec.oidc.enabled=true
.spec.oidc.external=true
.spec.oidc.accessTokenUri=“accessTokenURI”
.spec.oidc.clientId=“release”
.spec.oidc.clientSecret=“clientSecret”
.spec.oidc.emailClaim=“email”
.spec.oidc.fullNameClaim=“name”
.spec.oidc.issuer=“issuer”
.spec.oidc.keyRetrievalUri=“keyRetrievalURI”
.spec.oidc.logoutUri=“logoutURI”
.spec.oidc.postLogoutRedirectUri=“postLogoutRedirectURI”
.spec.oidc.redirectUri=“redirectURI”
.spec.oidc.rolesClaim=“groups”
.spec.oidc.userAuthorizationUri=“userAuthorizationUri”
.spec.oidc.userNameClaim=“preferred_username”
.spec.oidc.scopes=[“openid”]
Note: Mention only required field.
Select the type of the upgrade you want Use the Up/Down arrow keys to choose one of the types of upgrades, and press Enter:
  • operatorToOperator [Operator to Operator]
  • helmToOperator [Helm to Operator]

Note: To upgrade from the previous Operator-based solution, select operatorToOperator [Operator to Operator].
NA
Operator image to use (eg: <repositoryName>/<imageName>:<tagName>) Type the operator image name, and press Enter.
Note: Get the latest Operator Docker image for Deploy from the official Docker Hub repository site.
xebialabs/deploy-operator:1.1.0
Do you want to use custom operator zip file for Release? If you would like to change the CR during upgrade, type Y for Yes. Otherwise, type n for No and you will just upgrade the version of the Release in the CR. Press Enter. Yes
Release operator zip to use (absolute path or URL to the zip) Enter URL to the zip (check https://dist.xebialabs.com/customer/operator/release/) or absolute path to the zip on the local disc, and press Enter. From the zip will be extracted the new CR version that will be applied during upgrade. Together with merged values according to the keys list from next question NA
Enter the name of the custom resource Type the name of the Operator CR. NA
Enter the name of the custom resource definition Type the name of the Operator CRD. NA
Edit list of custom resource keys that will migrate to the new Release CR Press Enter the go to the editor mode and edit the keys lists to select all the CR values you would like to preserve after upgrade. Save changes and close editor. Default value is specific list of keys that are in the most cases updated. For example:
.spec.replicaCount
.spec.UseExistingDB.Enabled
.spec.UseExistingMQ.Enabled
.spec.ingress.hosts
.spec.KeystorePassphrase
.spec.Persistence.Size
.spec.Persistence.StorageClass
.spec.RepositoryKeystore
.spec.postgresql.persistence.size
.spec.postgresql.persistence.storageClass
.spec.postgresql.postgresqlMaxConnections
.spec.keycloak.postgresql.persistence.size
.spec.keycloak.postgresql.postgresqlMaxConnections
.spec.haproxy-ingress.install
.spec.rabbitmq.install
.spec.keycloak.install
.spec.nginx-ingress-controller.install
.spec.postgresql.install
.spec.rabbitmq.install
.spec.oidc.enabled
.spec.rabbitmq.persistence.storageClass
.spec.rabbitmq.persistence.size
.spec.rabbitmq.replicaCount
.spec.rabbitmq.persistence.replicaCount
.spec.rabbitmq.persistence.storageClass
.spec.route.hosts
.spec.xlrLicense

A preview of the entered values is displayed.

  1. Type y for Yes—to confirm the values. Otherwise, type n for No—to modify the values. After you confirm, the system starts the local Deploy instance. This process will take some time.
    After the process completes, the previous Operator-based Release product is uninstalled, and the new Operator-based Release product is installed.
    Note: The local Instance of Deploy will run on 4516 port; therefore, ensure you have the port 4516 free. Deployment status can be monitored on the local Deploy GUI. To access local deploy, use: http://localhost:4516, and log in using the default username and password.

Step 5—Register the load balancer/node port services external IP

  1. Run the following command:

    kubectl get svc
  2. Register your Load balancer external IP under the appropriate DNS.

Step 6—Verify the version of the Release instance

After the registration, verify the newer version of Release (latest Operator-based Release product):

  1. Log in to Digital.ai Release.
  2. From the Settings icon, click About:

    Operator Version