vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Once logged-in using the oc login command, run the below command to see all the namespaces in your cluster

oc get ns









 Step 2: Install Service Mesh - Istio 

In this section, you will install Service Mesh - Istio on the cluster. Installing the Service Mesh involves installing the Elasticsearch, Jaeger, Kiali and Service Mesh Operators, creating and managing a ServiceMeshControlPlane resource to deploy the control plane, and creating a ServiceMeshMemberRoll resource to specify the namespaces associated with the Service Mesh.

Elasticsearch - Based on the open source Elasticsearch project that enables you to configure and manage an Elasticsearch cluster for tracing and logging with Jaeger.

Jaeger - Based on the open source Jaeger project, lets you perform tracing to monitor and troubleshoot transactions in complex distributed systems.

Kiali - Based on the open source Kiali project, provides observability for your service mesh. By using Kiali you can view configurations, monitor traffic, and view and analyze traces in a single console.

Red Hat OpenShift Service Mesh - Based on the open source Istio project, lets you connect, secure, control, and observe the microservices that make up your applications.



 Install the Operators 



1. On the left pane of Red Hat OpenShift web console, select Administrator in the drop down.
2. Select Operators and then OperatorHub.
3. Search for OpenShift Elasticsearch Operator, click on the tile, click on Install, leave the default selection and click on Install.
4. Repeat the above steps 2 and 3 for installing Operators,



1. Red Hat OpenShift distributed tracing platform
2. Kiali Operator (provided by Red Hat)
3. Red Hat OpenShift Service Mesh .





This installs the Operators in the default openshift-operators project and makes the Operators available to all projects in the cluster.





 Deploying the Red Hat OpenShift Service Mesh control plane 

The Red Hat OpenShift Service Mesh operator uses a ServiceMeshControlPlane resource to determine how to install Istio and what components you want. Let's create that resource now.



1.
[hamburger icon](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/icon_hamburger.svg) and select DevOps. On the Toolchains page, click the toolchain to open its Overview page. Alternatively, on your app's Overview page, on the Continuous delivery card, click View toolchain. Then, click Overview.

a. Click Add tool.

b. In the Tool Integrations section, click PagerDuty.
3. If you want to integrate PagerDuty at the account level by using an API key, click Account:

a. Type the API access key for your PagerDuty account. If you don't have a PagerDuty account, [register for one](https://www.pagerduty.com/sign-up/). For instructions to find the key, see [Generating an API Key](https://support.pagerduty.com/hc/en-us/articles/202829310-Generating-an-API-Key).

b. Type the name of your PagerDuty service.

c. Type the email address for the primary PagerDuty contact.

d. Type the phone number for the primary PagerDuty contact.
4. If you want to integrate PagerDuty at the service level by using an integration key, click Service:

a. Type the URL for the PagerDuty service that you want to post alerts to.

b. Type your PagerDuty integration key. You can find your key or create a key in the Integrations section of your PagerDuty service page.
5. Click Create Integration.
6. On your Toolchain's Overview page, on the Third-Party tools card, click PagerDuty to go to pagerduty.com.
It is designed for power users who are familiar with command-line programs and is ideal for batch scripts and automated backup. S3cmd is written in Python. It's an open source project available under GNU Public License v2 (GPLv2) and is free for both commercial and private use.

S3cmd requires Python 2.6 or newer and is compatible with Python 3. The easiest way to install S3cmd is with the Python Package Index (PyPi).

pip install s3cmd

Once the package has been installed, grab the IBM Cloud® Object Storage example configuration file [here](https://gist.githubusercontent.com/greyhoundforty/a4a9d80a942d22a8a7bf838f7abbcab2/raw/05ad584edee4370f4c252e4f747abb118d0075cb/example.s3cfg) and update it with your Cloud Object Storage (S3) credentials:

$ wget -O $HOME/.s3cfg https://gist.githubusercontent.com/greyhoundforty/676814921b8f4367fba7604e622d10f3/raw/422abaeb70f1c17cd5308745c0e446b047c123e0/s3cfg

The four lines that need to be updated are



* access_key
* secret_key
* host_base
* host_bucket {: S3cmd} This is the same whether you use the example file or the one generated by running: s3cmd --configure.



Once those lines have been updated with the COS details from the Customer portal, you can test the connection by issuing the command s3cmd ls, which will list all the buckets on the account.

$ s3cmd ls
2017-02-03 14:52 s3://backuptest
2017-02-06 15:04 s3://coldbackups
To use a configmap with an app with the CLI, specify the --env-from-configmap option on the [app create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-application-create) or [app update](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-application-update) commands. Similarly, to reference a configmap from a job with the CLI, specify the --env-from-configmap option on the [job create](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-job-create), [job update](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-job-update), [jobrun submit](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-jobrun-submit), or [jobrun resubmit](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-jobrun-resubmit) commands.

The following example describes how to reference an existing configmap with an app by using the CLI.



1. Use the configmap create command to create the following two configmaps for this scenario.

ibmcloud ce configmap create --name myliteralconfigmap --from-literal TARGET=Sunshine

ibmcloud ce configmap create --name myliteralconfigmap2 --from-literal TARGET=Stranger
2. [Deploy an app](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-appdeploy-app-cli) and reference the myliteralconfigmap configmap. For this example, create an app that uses the hello image.
Mount the disk image by double-clicking the macos_dsdriver.dmg file.



A new Finder window opens with the contents of the disk image.

If the Finder window does not open, double-click the macos_dsdriver icon on your desktop. 2. In the Finder window, double-click the installDSDriver.sh file.

The driver package is installed in the default location: /Applications/dsdriver.
* For updates to your existing driver package installation



1. Back up current configuration files:



a. Go the Applications/dsdriver/cfg folder.

b. Copy the following files to a different folder:

db2cli.ini

db2dsdriver.cfg



2. Remove the currently installed driver package by right-clicking the dsdriver folder and selecting Move to Trash.
3. Install the new driver package as described in the preceding For a new installation section:



a. Mount the disk image by double-clicking the macos_dsdriver.dmg file. b. In the Finder window, double-click the installDSDriver.sh file. 4. Restore the configuration files:

Copy the db2cli.ini and db2dsdriver.cfg files that you saved from Step 1 to the /Applications/dsdriver/cfg folder.







 What's next? 

To be able to connect your local applications or client tools to your Db2 Warehouse on Cloud database, [configure your local environment](https://cloud.ibm.com/docs/Db2whc/connecting?topic=Db2whc-dr_pkgcfg_loc_env).







 Installing the driver package on Windows 

You can install the Db2 Warehouse on Cloud driver package on Windows by using the installer.



 Prerequisites 

Before attempting to connect to your Db2 Warehouse on Cloud database, verify that you have the [prerequisites](https://cloud.ibm.com/docs/Db2whc/connecting?topic=Db2whc-connect_ovprereqs).
Develop and deploy an app on Virtual Private Cloud by using deployment strategies 

In this tutorial, you learn how to create an open toolchain by using different deployment strategies. You also learn how toolchains are implemented in the IBM Cloud® Continuous Delivery service and how to develop and deploy a simple web application (app) by using toolchains.

This tutorial uses deployment strategies that use IBM Cloud® Virtual Private Cloud (VPC) as the deployment target. The toolchain that is used in this tutorial implements standard DevOps practices such as code scanning, acceptance tests, Git repos, and continuous integration and continuous delivery capabilities. After you create a virtual machine and a toolchain, you change your app's code and push the change to the Git Repos and Issue Tracking repo. When you push changes to your repo, the Tekton-based delivery pipeline automatically builds and deploys the code.

[Tekton](https://www.ibm.com/cloud/blog/tekton-a-modern-approach-to-continuous-delivery) is an open source, vendor-neutral, Kubernetes-native framework that you can use to build, test, and deploy apps. Tekton provides a set of shared components for building [continuous integration](https://www.ibm.com/garage/method/practices/code/practice_continuous_integration/) and [continuous delivery](https://www.ibm.com/garage/method/practices/deliver/practice_continuous_delivery/) systems. As an open source project, Tekton is managed by the [Continuous Delivery Foundation](https://cd.foundation/). The goal is to modernize continuous delivery by providing industry specifications for pipelines, workflows, and other building blocks. With Tekton, you can build, test, and deploy across cloud providers or on-premises systems by abstracting the underlying implementation details. Tekton pipelines are built into [Continuous Delivery](https://www.ibm.com/cloud/blog/announcements/build-and-deliver-using-tekton-enabled-pipelines).
Deploy an app on Kubernetes 

In this tutorial, you learn how to create an open toolchain by using different deployment strategies. You also learn how toolchains are implemented in the IBM Cloud® Continuous Delivery service and how to develop and deploy a simple web application (app) by using toolchains.

This tutorial is browser-based. You can also create a similar open toolchain in Terraform as shown in the IBM Cloud Terraform Provider example [ibm-cd-toolchain-simple-helm](https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-cd-toolchain-simple-helm).

This tutorial uses deployment strategies that have Kubernetes as the deployment target. The toolchain that is used in this tutorial implements standard DevOps practices such as code scanning, acceptance tests, Git repos, and continuous integration and continuous delivery capabilities. After you create a Kubernetes cluster and a toolchain, you change your app's code and push the change to the Git Repos and Issue Tracking repo. When you push changes to your repo, the Tekton-based delivery pipeline automatically builds and deploys the code.

[Tekton](https://www.ibm.com/cloud/blog/tekton-a-modern-approach-to-continuous-delivery) is an open source, vendor-neutral, Kubernetes-native framework that you can use to build, test, and deploy apps. Tekton provides a set of shared components for building [continuous integration](https://www.ibm.com/garage/method/practices/code/practice_continuous_integration/) and [continuous delivery](https://www.ibm.com/garage/method/practices/deliver/practice_continuous_delivery/) systems. As an open source project, Tekton is managed by the [Continuous Delivery Foundation](https://cd.foundation/). The goal is to modernize continuous delivery by providing industry specifications for pipelines, workflows, and other building blocks.
To install the Terraform CLI and configure the IBM Cloud provider plug-in for Terraform, follow the tutorial for [Getting started with Terraform on IBM Cloud](https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started).
2. Locate the Terraform file (for example, main.tf) that contains the resource block for the toolchain to which you want to add the Git tool integration. In this file, add the configuration to create the tool integration.

The following example creates the toolchain if it does not exist and then adds a Git tool integration that links to an existing repo on github.com by using the ibm_cd_toolchain_tool_githubconsolidated resource. You can also add a Git tool integration with instructions to create, fork, or clone a new repo. And you can add tool integrations for other GitHub, GitLab, or Bitbucket servers.

data "ibm_resource_group" "group" {
name = "default"
}

resource "ibm_cd_toolchain" "cd_toolchain" {
name = "my toolchain"
resource_group_id = data.ibm_resource_group.group.id
}

resource "ibm_cd_toolchain_tool_githubconsolidated" "my-github-tool-integration" {
toolchain_id = ibm_cd_toolchain.cd_toolchain.id
initialization {
git_id = "github"
repo_url = "https://github.com/my-org/my-repo.git"
type = "link"
auth_type = "pat"
api_token = "<TOKEN>"
}
parameters {
has_issues = true
}
}

Where <TOKEN> represents a Personal Access Token (PAT) that belongs to the GitHub account that grants access to the target repo.
3.
buildctl github.com/moby/buildkit v0.11.6 2951a28cd7085eb18979b1f710678623d94ed578

 helm
v3.12.0+gc9f554d

 ibmcloud
ibmcloud version 2.16.0+492aff3-2023-04-06T16:13:44+00:00

 ibmcloud plugins
Listing installed plug-ins...

Plugin Name Version Status Private endpoints supported
cloud-functions[wsk/functions/fn] 1.0.67 false
cloud-internet-services[cis] 1.14.11 true
code-engine[ce] 1.43.5 true
container-registry[cr] 1.0.8 true
container-service[kubernetes-service/ks] 1.0.523 false
cra 1.3.5 false
doi 0.4.2 false
schematics[sch] 1.12.10 true
secrets-manager[sm] 2.0.1 true

 ibmcloud dev
3.0.0

 java
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu120.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu120.04.1, mixed mode, sharing)

 ant
Apache Ant(TM) version 1.10.13 compiled on January 4 2023

 mvn
Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: /opt/IBM/maven
Java version: 11.0.19, vendor: IBM Corporation, runtime: /usr/local/jdk11
* [Deploying your app with commands and arguments](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloadsdeploy-app-cmd-args)
* [Creating and running your app with environment variables](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloadsapp-option-envvar)
* [Creating and running your app when using secrets and configmaps](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloadsapp-option-secconfigmap)



* [Considerations for application quotas](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloadsapp-quotas)



[Deploying app workloads from images in a public registry](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-appdeploy-app)



* [Deploying an app from the console](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-appdeploy-app-console)
* [Deploying an app with the CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-appdeploy-app-cli)
* [Next steps](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-appnextsteps-appdeploypub)



[Deploying app workloads from images in IBM Cloud Container Registry](https://cloud.ibm.com/docs/codeengine?topic=codeengine-deploy-app-crimagedeploy-app-crimage)
[Kubernetes secure app toolchain summary](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/ds-vpc-setup-summary.png)

Figure 11. VPC secure app toolchain summary





 Step 5: Explore your new toolchain 

After you create your toolchain, it shows each of the tool integrations that are part of the toolchain in a diagram.



 Explore the pipelines 

You can explore the pipelines to understand the toolchain flow and the different operations that run within each pipeline. The toolchain that you just created contains three pipelines:



* Pull request pipeline: Runs when a developer merges changes from their development branch to the master branch, or to any other branch in the repo. The pull request pipeline runs the Unit Test and Static Scans on the Application Source Code.
* Continuous integration pipeline: Runs when you merge a change into the master branch of the Application Source Code repo. The continuous integration pipeline runs the Unit Test, Code Coverage, and Static Scans on the Application Source Code, CIS check, and Bill Of Materials (BOM) check. The continuous delivery pipeline also generates the binary build artifacts and uploads them to the IBM Cloud® Kubernetes Service, as configured in the toolchain. And the continuous integration pipeline generates the metadata of the build artifacts and stores it in the Inventory repo.
* Continuous deployment pipeline: Deploys build artifacts to the deployment environment. The pipeline verifies the successful deployment of the app by running the health check. You must manually trigger this pipeline after the continuous integration pipeline successfully completes. Depending on the deployment strategy that you selected, more triggers are added to the continuous delivery pipeline.







 Run the pull request and continuous integration pipelines 

To start the pull request pipeline, create a merge request in your app repo:



1. On the Toolchain's Overview page, on the Repositories card, click the compliance-app-<timestamp> app repo.
2.
Before you install the package, you must create a Natural Language Understanding service instance and service credentials.



1. [Create a Natural Language Understanding service instance](https://cloud.ibm.com/catalog/services/natural-language-understanding).
2. When the service instance is created, service credentials are automatically created for you.







 Installing the Natural Language Understanding package 

After you have a Natural Language Understanding service instance, install the Natural Language Understanding package into your namespace.



 Installing from the Cloud Functions CLI 

Install the Natural Language Understanding package from the CLI. Be sure to [install the Cloud Functions plug-in for the IBM Cloud CLI](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-cli_install) first.

To install the Natural Language Understanding package:



1. Clone the Natural Language Understanding package repo.

git clone https://github.com/watson-developer-cloud/openwhisk-sdk
2. Deploy the package.

ibmcloud fn deploy -m openwhisk-sdk/packages/natural-language-understanding-v1/manifest.yaml
3. Verify that the package is added to your package list.

ibmcloud fn package list

Example output

packages
/myOrg_mySpace/natural-language-understanding-v1 private
4. Bind the credentials from the Natural Language Understanding instance you created to the package.

ibmcloud fn service bind natural-language-understanding natural-language-understanding-v1

Example output

Credentials 'Credentials-1' from 'natural-language-understanding' service instance 'Watson Natural Language Understanding' bound to 'natural-language-understanding-v1'.
5. Verify that the package is configured with your Natural Language Understanding service instance credentials.

ibmcloud fn package get natural-language-understanding-v1 parameters

Example output

ok: got package natural-language-understanding-v1, displaying field parameters
[
{
"key": "__bx_creds",
"value": {
[Y/n]> n

One way to manage a containerized application is with orchestration software, like Kubernetes, which is a de facto standard in development. But for this tutorial, we can let the Cloud Foundry service manage a single Docker container that holds the code, libraries, and configuration needed by your app.

Type '4' and press enter to use 'IBM DevOps' for integrating CD within your project lifecycle.

===============================================================================
Select from the following DevOps toolchain and target runtime environment
options:

1. IBM DevOps, deploy to Knative-based Kubernetes containers
2. IBM DevOps, deploy to Helm-based Kubernetes containers
3. IBM DevOps, deploy to Helm-based Red Hat OpenShift containers
4. IBM DevOps, deploy to Cloud Foundry buildpacks
5. No DevOps, with manual deployment

===============================================================================
? Enter selection number:> 4

We must choose a region for our automated deployment CD toolchain. Select the option referencing the same region as chosen earlier, '5'.

--------------------------------------------------------------------------------
...
toolchainService = CdToolchainV2.new_instance()
toolchains = toolchainService.list_toolchains(
resource_group_id = {resource_group_id}
)

import (
"github.com/IBM/continuous-delivery-go-sdk/cdtoolchainv2"
)
...
toolchainClientOptions := &cdtoolchainv2.CdToolchainV2Options{}
toolchainClient, err := cdtoolchainv2.NewCdToolchainV2UsingExternalConfig(toolchainClientOptions)
listToolchainsOptions := toolchainClient.NewListToolchainsOptions({resource_group_id})
toolchains, response, err := toolchainClient.ListToolchains(listToolchainsOptions)
5. Get a specific toolchain.



* Curl
* Java
* Node
* Python
* Go



curl -X GET {base_url}/toolchains/{toolchain_id} -H 'Authorization: Bearer {token}' -H 'Accept: application/json'

GetToolchainByIdOptions getToolchainByIdOptions = new GetToolchainByIdOptions.Builder()
.toolchainId({toolchain_id})
.build();
Response<Toolchain> response = toolchainService.getToolchainById(getToolchainByIdOptions).execute();
Toolchain toolchain = response.getResult();

const CdToolchainV2 = require('@ibm-cloud/continuous-delivery/cd-toolchain/v2');
const toolchainService = CdToolchainV2.newInstance();
...
[“Deploy an app on Kubernetes" toolchain](https://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/open-toolchain/secure-app-toolchain)<br><br>Available in Dallas, Washington, Toronto, Sao Paulo, Frankfurt, Tokyo, Sydney, Osaka, and London With this toolchain, you can develop, and deploy an application securely into a Kubernetes cluster that is managed by the IBM Cloud Kubernetes Service. By default, the toolchain uses a sample Node.js "Hello World" app, but you can link to your own GitHub repository instead. This toolchain is preconfigured for continuous delivery with Vulnerability Advisor, source control, issue tracking, and online editing.<br><br>Try the tutorial: [Deploy an app on Kubernetes](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-tutorial-cd-kubernetes) Delivery Pipeline<br><br>GitHub and Issues<br><br>IBM Cloud Kubernetes Service (Kubernetes cluster) 
 [“Develop and deploy an app by using IBM Cloud Satellite" toolchain](https://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/open-toolchain/secure-app-toolchain)<br><br>Available in Dallas, Washington, Toronto, Sao Paulo, Frankfurt, Tokyo, Sydney, Osaka, and London With this toolchain, you can develop and deploy an application to a single IBM Cloud® Kubernetes Service, a Red Hat® OpenShift® on IBM Cloud® cluster, or to multiple clusters by using IBM Cloud Satellite. By default, the toolchain uses a sample Node.js "Hello World" app, but you can link to your own app instead.