vania-janet/multiturn-rag-retrieval-data huggingface dataset:
app.get(‘/protected_resource’, passport.authenticate(WebAppStrategy.STRATEGY_NAME), function(req, res) {res.json(req.user); });



For more information, see the [App ID Node.js GitHub repository](https://github.com/ibm-cloud-security/appid-serversdk-nodejs).







 Configuring the Liberty for Java SDK 

You can configure App ID to work with your Liberty for Java web applications.



 Before you begin 

You must have the following prerequisites:



* An instance of the App ID service
* A set of service credentials
* Apache Maven 3.5 or higher
* Java 1.8
* A Liberty for Java web application



Check out the following video to learn about protecting Liberty for Java applications with App ID. Then, try it out yourself by using a [simple Liberty for Java sample app](https://github.com/ibm-cloud-security/appid-video-tutorials/tree/master/02c-simple-liberty-web-app).





 Installing the Liberty for Java SDK 



1. Add an OpenID Connect feature to your server.xml.

<featureManager>
<feature>ssl-1.0</feature>
<feature>appSecurity-2.0</feature>
<feature>openidConnectClient-1.0</feature>
</featureManager>
2. Obtain your credentials in one of two ways.



* By navigating to the Applications tab of the App ID dashboard. If you don't already have one, you can click Add application to create a new one.
* By making a POST request to the [/management/v4/<tenantID>/applications endpoint](https://us-south.appid.cloud.ibm.com/swagger-ui/!/Applications/registerApplication).

Request format:
rook-ceph-osd-2-549cc486b4-7wf5k 2/2 Running 0 2d1h
rook-ceph-osd-prepare-ocs-deviceset-0-data-0z6pn9-6fwqr 0/1 Completed 0 10d
rook-ceph-osd-prepare-ocs-deviceset-1-data-0kkxrw-cppk9 0/1 Completed 0 10d
rook-ceph-osd-prepare-ocs-deviceset-2-data-0pxktc-xm2rc 0/1 Completed 0 10d
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-54c58859nc8j 2/2 Running 0 2d1h
...
...







 Step 4: Installing the virtualization operator 

Follow the steps to [Install Red Hat OpenShift Virtualization using the CLI](https://docs.openshift.com/container-platform/4.11/virt/install/installing-virt-cli.html).





 Step 5: Setting up the virtctl CLIvirtctl CLI 

Follow the steps to [download and install the virtctl CLI tool](https://docs.openshift.com/container-platform/4.11/virt/install/virt-enabling-virtctl.html).





 Step 6: Creating a data volume for your virtual machine 

After you deploy OpenShift Data Foundation, you can use the sat-ocs-ceprbd-gold storage class to create a data volume to use storage for your virtual machine.



1. Copy the following example data volume and save it to a file called datavol.yaml.

apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: fedora-1
namespace: openshift-cnv
spec:
source:
registry:
pullMethod: node
To install the chart, initialize Helm in your cluster, define the options that you want to use, and then run the installation command.



1. If you're working with IBM Cloud Kubernetes Service, be sure to log in and set the context for your cluster.
2. Verify that you enabled [Istio policy enforcement](https://istio.io/v1.4/docs/tasks/policy-enforcement/enabling-policy/). If not, turn it on.
3. Add the repository.

helm repo add appidentityandaccessAdapter https://raw.githubusercontent.com/ibm-cloud-security/app-identity-and-access-Adapter/master/helm/appidentityandaccessAdapter
4. Install the chart.

helm install --name appidentityandaccessAdapter appidentityandaccessAdapter/appidentityandaccessAdapter

You can specify an image tag during installation by setting the image.tag flag. For example, --set image.tag=0.5.0. You can also install the chart locally. To do so, clone the repo by running git clone git@github.com:ibm-cloud-security/app-identity-and-access-Adapter.git before you run the installation command.







 Applying an authorization and authentication policy 

An authentication or authorization policy is a set of conditions that must be met before a request can access a resource access. By defining an identity provider's service configuration and a policy that outlines when a particular flow must be used, you can control access to any resource in your service mesh. To see example CRDs, check out the [samples directory](https://github.com/ibm-cloud-security/app-identity-and-access-Adapter/tree/master/samples/crds).

To create a policy:



1. Define a configuration.
2. Register the endpoint.





 Defining a configuration
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-7f7f6df9rv6h 1/1 Running 0 3m44s
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-b-554fd9dz6dm8 1/1 Running 0 3m41s









 Step 6: Next Steps 

To deploy an example application, see [Deploying an app that uses OpenShift Data Foundation](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-odf-remotesat-storage-odf-remote-deploy).
Click Download to download apiKey.json containing an app username and apikey ![Image showing the Download button for the app new API key highlighted](https://cloud.ibm.com/docs-content/v1/content/3a120b16db5fdc3e70d071af8a63ce5515c1b096/mqcloud/images/mqoc_ams_app_download.png)





 Appendix 4: IBM MQ C Client 

If you do not have the IBM MQ Client command line tool and samples (runmqsc, amqsputc, amqsgetc), you can download it from [here](http://www-01.ibm.com/support/docview.wss?uid=swg240421761)



1. Select the latest package as shown below, the latest version at time of writing being 9.0.5 ![Image showing IBM MQ client versions](https://cloud.ibm.com/docs-content/v1/content/3a120b16db5fdc3e70d071af8a63ce5515c1b096/mqcloud/images/mqoc_ams_mqclient1.png)
2. Select the 'IBM MQC redistributable client for [Your Operating System]' by ticking the box on the left of the package as shown below. It should have Redist in the file name. This tutorial was created using the Linux Ubuntu Operating system ![Image showing selecting the redistributable MQ C client compatible with an Operating System](https://cloud.ibm.com/docs-content/v1/content/3a120b16db5fdc3e70d071af8a63ce5515c1b096/mqcloud/images/mqoc_ams_mqclient2.png)
3. Select to download via HTTPS, this will allow you to download the client directly through your browser as shown below !
* [Installing from the Cloud Functions CLI](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_translatorlanguagetranslator_cli)
* [Installing from the Cloud Functions console](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_translatorlanguagetranslator_ui)



* [Using the Language Translator package](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_translatorusage_translator)



[Speech to Text](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textpkg_speech_to_text)



* [Creating a Speech to Text service instance](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textservice_instance_speechtotext)
* [Installing the Speech to Text package](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textinstall_speechtotext)
* [Installing from the Cloud Functions CLI](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textspeechtotext_cli)
* [Installing from the Cloud Functions console](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textspeechtotext_ui)
* [Using the Speech to Text package](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_speech_to_textusage_speechtotext)
[hamburger icon](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/icon_hamburger.svg), and select DevOps. On the Toolchains page, click Create a Toolchain. On the Create a Toolchain page, click Develop and Deploy application to Kubernetes using deployment strategies.



 Configure the toolchain name and region 

Review the default information for the toolchain settings. The toolchain's name identifies it in IBM Cloud. Make sure that the toolchain's name is unique within your toolchains for the same region and resource group in IBM Cloud.

The toolchain region can differ from the cluster and registry region.

Zoom

![Kubernetes secure app toolchain name and region](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/sat_setup_name_region.png)

Figure 1. Kubernetes secure app toolchain name and region





 Select the deployment strategy 

The toolchain creates a Continuous Deployment Pipeline to deploy the application Docker image on the cluster group that is defined in Satellite.



1. Click Multiple clusters via Satellite to deploy your app by using Satellite.

Zoom

![Kubernetes secure app deployment strategies](https://cloud.ibm.com/docs-content/v1/content/562806c0b18119f4d21cb66f5ae6d051634b4a16/ContinuousDelivery/images/sat_setup_ds-selection.png)

Figure 2. Deployment strategies
2. Click Continue.







 Configure the application source code repo 

In the Application step, the recommended options for the application source code repo are displayed by default.
* [Invoke your function](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-tutorialfun-tutorial-invoke)
* [Provide parameters for your function](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-tutorialfun-tutorial-parameters)
* [Clean up](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-tutorialfun-tutorial-clean-up)
* [Next steps](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-tutorialfun-tutorial-nextsteps)







 Setting up the CLI 

[Setting up the CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cliinstall-cli)



* [Supported environments for Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-clicli-env)
* [Installing the IBM Cloud CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-clicli-setup)
* [Installing the Code Engine CLI plug-in](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cliinstall-cli-plugin)
* [Updating the Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cliupdate-cli)
* [Uninstalling the CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cliuninstall-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 Text to Speech package, run the following commands.



1. Clone the Text to Speech package repo.

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

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

ibmcloud fn package list

Example output

packages
/myOrg_mySpace/text-to-speech-v1 private
4. Bind the credentials from the Text to Speech instance you created to the package.

ibmcloud fn service bind text_to_speech text-to-speech-v1

Depending on the region where you created the service instance, the service instance might be named differently because it is an IAM service. If the above command fails, use the following service name for the bind command:

ibmcloud fn service bind text-to-speech text-to-speech-v1

Example output

Credentials 'Credentials-1' from 'text_to_speech' service instance 'Watson Text to Speech' bound to 'text-to-speech-v1'.
5. Verify that the package is configured with your Text to Speech Service instance credentials.

ibmcloud fn package get text-to-speech-v1 parameters

Example output

ok: got package text-to-speech-v1, displaying field parameters
[
{
"key": "__bx_creds",
"value": {
"text_to_speech": {
"credentials": "Credentials-1",
"instance": "Watson Text to Speech",
"password": "AAAA0AAAAAAA",
* [Get the Code ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://github.com/IBM/CognitiveConcierge?cm_sp=IBMCode-_-build-a-cognitive-recommendation-app-with-swift-_-Get-the-Code)
* [View the Demo ![External link icon](https://cloud.ibm.com/docs-content/v1/content/icons/launch-glyph.svg)](https://vimeo.com/222564546?cm_mc_uid=56476701007714999647300&cm_mc_sid_50200000=1500411355&cm_mc_sid_52640000=&cm_sp=IBMCode-_-build-a-cognitive-recommendation-app-with-swift-_-View-the-Demo)
After the prerequisites and CI toolchain are successfully configured, proceed to the [Continuous Deployment (CD) toolchain introduction](https://cloud.ibm.com/docs/devsecops?topic=devsecops-tutorial-cd-devsecopsdevsecops-cd-toolchain-intro).





 Related content 



* [Getting started with clusters](https://cloud.ibm.com/docs/containers?topic=containers-getting-started)
* [Getting started with toolchains](https://cloud.ibm.com/devops/getting-started)
* [Getting started with Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-getting-started)







 Looking for help? 

Get help fast directly from the IBM Cloud Continuous Delivery development teams by joining us on [Slack](https://ic-devops-slack-invite.us-south.devops.cloud.ibm.com/).

For more support options, see [Getting help and support for Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-gettinghelp).





 Next steps 

When you have your prerequisites in place, continue to the next tutorial in the series:

[Part 2: Set up a Continuous Integration (CI) toolchain](https://cloud.ibm.com/docs/devsecops?topic=devsecops-tutorial-ci-toolchain).

This tutorial uses an example Node.js app, but you can also deploy other language-based apps.
For information about how to configure your app to use Liberty for Java, see [Quick start: Liberty for Java backend apps tutorial](https://cloud.ibm.com/docs/appid?topic=appid-backend-liberty).







 Protecting resources by using the Node.js SDK 

You can use the App ID SDKs to enforce authentication and authorization for your server-side applications. The ApiStrategy works to secure your backend resources by requiring that access and identity tokens are validated as part of the request. The App ID Node.js SDK works with the [Passport framework](http://www.passportjs.org/).

Check out the following video to learn about protecting backend Node applications with App ID. Then, try it out yourself by using a [simple Node sample app](https://github.com/ibm-cloud-security/appid-video-tutorials/tree/master/02b-simple-node-backend-app).



 Before you begin 

Before you get started with the Node.js SDK, you must have the following prerequisites.



* An instance of App ID
* NPM version 4 or higher
* Node version 6 or higher







 Installing the Node.js SDK 



1. Add the App ID Node.js SDK to your app's package.json file.

"dependencies": {
"ibmcloud-appid": "^7.0.0"
}
2. Run the following command.

npm install







 Initializing the Node.js SDK 



1. Obtain your oauth server url.



1. Navigate to the Service Credentials tab of the App ID dashboard.
2. If you don't already have a set of credentials, click New credential and then click Add to create a new set. If you do, skip this step.
3. Click the View credentials toggle to see your information.
4. Copy your oauth server url to use in the next step.



2.
If you do not have this file, consult Appendix 1.



* HOST = listed as ‘Hostname:’ in the ‘connection_info.txt’ file
* PORT = listed as ‘Listener port:’ in the ‘connection_info.txt’ file
* CHANNEL = change this value to: ‘CLOUD.APP.SVRCONN’
* QMGR = listed as ‘Queue manager name:’ in the ‘connection_info.txt’ file
* APP_USER = listed as ‘mqUsername:’ in the ‘apiKey.json’ file
* APP_PASSWORD = listed as ‘apiKey:’ in the ‘apiKey.json’ file
* QUEUE_NAME = do NOT change this value



To create the basic, unsecured JMS application follow [this tutorial](https://developer.ibm.com/components/ibm-mq/tutorials/mq-develop-mq-jms)





 Appendix 3: Downloading and installing the IBM SDK** 



1. Download JDK



* You should download the IBM JDK from [here](https://www.ibm.com/support/pages/java-sdk-downloads-version-80). Select the right download for your platform and install.



2. Depending on which package you downloaded you need to run it to install.



* For example, if you downloaded ibm-java-x86_64-sdk-8.0-5.17.bin, run ./ibm-java-x86_64-sdk-8.0-5.17.bin
* For Windows you need to download the Eclipse package that contains the JDK.



3. Add to PATH



* On Windows set PATH=C:IBM_EclipseeclipseDevelopmentPackageibm_sdk80bin;%PATH%
* On Linux export PATH=<install location>/ibm-java-x86_64-80/jre/bin:<install location>/ibm-java-x86_64-80/bin:$PATH









 Appendix 4: Downloading the IBM MQ Client 

The IBM client is required to connect to the queue manager using runmqsc.
* [Getting started](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialwelcome)
* [Defining toolchain settings](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialtoolchain_settings)
* [Defining your source repository](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialsource_repository)
* [Setting up your delivery pipeline](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialpipeline_settings)
* [Providing an API key](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialsecrets)
* [Setting up Satellite Config](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialsatellite_config)
* [Reviewing the summary](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialsummary)
* [Testing the toolchain](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialtest_toolchain)
* [Verifying that the sample app is running](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialverify_app)
* [Deploying a new version of your app from a different branch](https://cloud.ibm.com/docs/satellite?topic=satellite-sat_toolchain_tutorialmodify_trigger)







 Deploying apps to clusters with Satellite Config 

[Deploying apps to clusters with Satellite Config](https://cloud.ibm.com/docs/satellite?topic=satellite-begin-sat-config-tutorialbegin-sat-config-tutorial)
After you have updated your smart contract, use [v2](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-installing-the-extension) of the VS Code extension to [repackage](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodepackaging-a-smart-contract) your smart contract.







 Step three: Package a smart contract 

You need to package a smart contract before you can install it on your IBM Blockchain Platform network or the preconfigured Hyperledger Fabric network. Fabric V1 channels require smart contract packages to be in the .cds format, and V2 require the .tar.gz format. Complete the following steps to package your smart contract:



1. Open your smart contract project in VS Code by clicking File and then click Open .... You can also click Open Workspace if you saved your project as a workspace. Ensure that you have the smart contract project open in the file viewer.
2. Click the IBM Blockchain icon to open the IBM Blockchain tab.
3. In the Smart Contracts pane, click the overflow menu and select Package Open Project. You are asked for the name of the package and the version. You will also need to select whether you want to package it as a .tar.gz (for deploying to a channel with V2 application capability) or .cds (for deploying to a channel with V1 application capability). To find out the channel capabibilities/version, hover your mouse over the channel in the Fabric Environments panel that you wish to deploy to. This will display a tooltip containing the channel capabilities.



* If you have one smart contract project, it is packaged automatically and be displayed in the Smart Contracts pane.
* If you have multiple smart contract folders open, you are asked which one to package.
* If you have no smart contract folders open, you get an error message.





If you want to control which files in the project are packaged, you can create a .fabricignore file in the top-level directory of your smart contract project.
Developing smart contracts and applications 

[Developing smart contracts with IBM Blockchain Platform Developer Tools](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode)



* [Before you begin](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-before)
* [Prerequisites](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-prerequisites)
* [Step one: Guided tutorials in VS Code](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-guided-tutorials)
* [Step two: Create a smart contract project](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-creating-a-project)



* [Do I need to update my smart contract for Fabric v2.x?](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-creating-a-project-v2)



* [Step three: Package a smart contract](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodepackaging-a-smart-contract)



* [Exporting, importing, and deleting a smart contract package](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-exporting-deleting-smart-contract-package)



* [Step four: Deploy a smart contract to a preconfigured Hyperledger Fabric network](https://cloud.ibm.com/docs/blockchain?topic=blockchain-develop-vscodedevelop-vscode-deploy)
First, clone the repository and change to the directory to where the sample app is located.

git clone https://github.com/IBM-Cloud/get-started-swift

cd get-started-swift

Peruse the files in the get-started-swift directory to familiarize yourself with the contents.





 Step 2: Run the app locally 

Once you have installed the Swift compiler and cloned this Git repository, you can now compile and run the app.



1. Go to the root directory of this repository on your system and issue the following command:

swift build

This command might take a few minutes to run.
2. When the app is successfully compiled, you can run the executable that was generated by the Swift compiler:

swift run

or

.build/debug/get-started-swift

You should see an output similar to the following:

Server is listening on port: 8080
3. View your app at the following URL: http://localhost:8080







 Step 3: Prepare the app for deployment 

To deploy to IBM Cloud®, it can be helpful to set up a manifest.yml file. The manifest.yml file includes basic information about your app, such as the name, how much memory to allocate for each instance and the route. We've provided a sample manifest.yml file in the get-started-swift directory.

Open the manifest.yml file, and change the name from GetStartedSwift to your app name, app_name.

apps:
- name: Get-Started-Swift
random-route: true
memory: 256M
command: get-started-swift
buildpack: swift_buildpack

In this manifest.yml file, random-route: true generates a random route for your app to prevent your route from colliding with others. If you choose to, you can replace random-route: true with host: <myChosenHostName>, supplying a host name of your choice.





 Step 4: Deploy the app 

You can use the IBM Cloud® CLI to deploy apps.



1.
* [Deploy a node that uses an HSM](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisdeploy-a-node-that-uses-an-hsm)



* [Import a network by using APIs](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-import-with-apis)
* [Operating your CA with the Fabric CA client](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-config-fabric-ca-client)



* [Set up the Fabric CA client](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-setup-fabric-ca-client)
* [Generate certificates with your CA admin](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-enroll-ca-admin)
* [Registering the component identity with the CA](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-config-register-component)
* [Registering your organization administrator](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-config-register-admin)
* [Generating the admin Membership Service Provider (MSP) folder](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-apisibp-v2-apis-config-enroll-admin)