vania-janet/multiturn-rag-retrieval-data huggingface dataset:
: Implementation: [Create a public NodePort service](https://cloud.ibm.com/docs/containers?topic=containers-nodeportnodeport_config).

NLB v1.0 (+ subdomain)
: Load-balancing method: Basic load balancing that exposes the app with an IP address or a subdomain.
: Use case: Quickly expose one app to the public with an IP address or a subdomain that supports SSL termination.
: Implementation: 1. Create a public network load balancer (NLB) 1.0 in a [single](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancerlb_config) or [multizone](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancermulti_zone_config) cluster.
2. Optionally [register](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancer_hostname) a subdomain and health checks.

NLB v2.0 (+ subdomain)
: Load-balancing method: DSR load balancing that exposes the app with an IP address or a subdomain
: Use case: Expose an app that might receive high levels of traffic to the public with an IP address or a subdomain that supports SSL termination.
: Implementation: 1. Complete the [prerequisites](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancer-v2ipvs_provision). 2. Create a public NLB 2.0 in a [single](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancer-v2ipvs_single_zone_config) or [multizone](https://cloud.ibm.com/docs/containers?topic=containers-loadbalancer-v2ipvs_multi_zone_config) cluster. 3.
(https://cloud.ibm.com/docs-content/v1/content/bce0f0917a9eea684d1b4b704ac6343a1f65f446/openshift//images/nlb-port-range.svg)

Figure 3. VPC NLB with port range

Create an NLB that uses a port range by using the following example. The selector and backend pods must be associated with the port range load balancer service so that health checks return success and data is delivered to the ports in the port range. To use port range, you must create additional NodePort services that have port values in the range that is defined by the load balancer service.



1. Save the following example LoadBalancer configuration as a file called loadbalancer.yaml.

apiVersion: v1
kind: Service
metadata:
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: nlb
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-port-range: 30000-30010
name: nlb-port-range
spec:
externalTrafficPolicy: Cluster
ports:
- port: 30000 Must match min from the port range
protocol: TCP
nodePort: 30011 Can be port in range or not
targetPort: 8080
selector:
app: echo-server Must be valid for health checks to work
type: LoadBalancer
Show more
2. Create the service.

oc apply -f loadbalancer.yaml
3. Create a NodePort service with port values that are in the port range specified in the LoadBalancer you created earlier.

apiVersion: v1
kind: Service
metadata:
name: echo-server-node-port
spec:
ports:
- port: 80
protocol: TCP The protocol of the port range
nodePort: 30003 Node port in the port range
targetPort: 8080
selector:
"id": "2302-3744f199-6ccc-4698-8772-bb3937348c96",
"interface_type": "sata",
"name": "zipfile-delude-slang-knoll",
"resource_type": "bare_metal_server_disk",
"size": 960
},
{
"created_at": "2021-03-12T09:29:17.000Z",
"href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/2302-5e095b83-ceb4-49b5-9699-0aa5a2c996a4/disks/2302-86003aba-47db-4d07-bd76-62e00cca83e5",
"id": "2302-86003aba-47db-4d07-bd76-62e00cca83e5",
"interface_type": "nvme",
"name": "elderly-mountain-trout-opponent",
"resource_type": "bare_metal_server_disk",
"size": 3200
},
{
"created_at": "2021-03-12T09:29:17.000Z",
"href": "https://us-south.iaas.cloud.ibm.com/v1/bare_metal_servers/2302-5e095b83-ceb4-49b5-9699-0aa5a2c996a4/disks/2302-8372237f-77cb-47e4-9c61-b9d19ddfdbcd",
"id": "2302-8372237f-77cb-47e4-9c61-b9d19ddfdbcd",
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024"
}
]
}

Sample output:

{
"id": "r014-eac21cde-a4ce-4980-b037-fc3507112955",
"name": "pdns-nlb-example",
"href": "https://us-east.iaas.cloud.ibm.com/v1/load_balancers/r014-eac21cde-a4ce-4980-b037-fc3507112955",
"crn": "crn:v1:bluemix:public:is:us-east:a/be636a7a6e4d4b6296bedf669ce8f757::load-balancer:r014-eac21cde-a4ce-4980-b037-fc3507112955",
"is_public": false,
"created_at": "2023-02-13T18:58:12Z",
"hostname": "eac21cde-us-east.example.com",
"listeners": [],
"operating_status": "offline",
"pools": [],
"private_ips": [],
"provisioning_status": "create_pending",
"public_ips": [],
"subnets": [
{
"id": "0767-064498f3-4df5-4fa5-b2ed-de5a3bfea024",
NaturalOrCulturalPreservationAgency 
 Nerve 
 Newspaper 
 NobleRank 
 NobleTitle 
 Non-ProfitOrganisation 
 Nutrient 
 OfficeHolder 
 OilField 
 OlympicAthlete 
 OlympicDemonstrationCompetition 
 OlympicEvent 
 OlympicEventCompetition 
 OlympicGames 
 Opera 
 OperaCharacter 
 OperaCompany 
 OperaHouse 
 OperaLibretto 
 OperatingSystem 
 OperatingSystemDeveloper 
 OrganismClassification 
 Organization 
 OrganizationCommittee 
 OrganizationSector 
 Park 
 ParliamentaryElection 
 PeriodicalPublisher 
 Person 
 PersonalAppearanceRole 
 Philosopher 
 Physician 
 Play 
 Poem 
 PoeticVerseForm 
 PoliticalDistrict 
 PoliticalIdeology 
 PoliticalParty 
 Politician 
 Prayer 
 ProductionCompany 
 Profession 
 ProfessionalField 
 ProgrammingLanguage 
 ProgrammingLanguageDesigner 
 ProjectParticipant 
 ProtectedArea 
 Protein 
 Protocol 
 ProtocolProvider 
 PublicLibrary 
 PublicSpeakingEvent 
 PublishedWork 
 RadioFormat 
 RadioNetwork 
 RadioStation 
 Rank 
 RecordLabel 
 RecordProducer 
 RecurringEvent 
 Religion 
 ReligiousLeadershipRole 
 ReligiousOrganization 
 ReligiousPractice 
 ReligiousText 
 ReportIssuingInstitution 
 RiskFactor 
 River 
 Road 
 Rocket 
 RocketEngine 
 RocketEngineFuel 
 RocketFuel 
 RocketFunction 
 RocketManufacturer 
 Saint 
 Satellite 
 School 
 SchoolDistrict 
 SchoolMascot 
 SchoolNewspaper 
 SchoolSportsTeam 
 Scientist 
 ShipBuilder 
 ShoppingCenter 
 ShortStory 
 SkiArea 
 Skyscraper 
 SoccerClub 
 Software 
 SoftwareDeveloper 
 SoftwareLicense 
 Soundtrack 
 SpaceAgency 
 Spacecraft 
 SpaceMission 
 Spaceport 
 Sport 
 SportsAssociation 
 SportsEquipment 
 SportsLeagueChampionship 
 SportsLeagueChampionshipEvent
NaturalOrCulturalPreservationAgency 
 Nerve 
 Newspaper 
 NobleRank 
 NobleTitle 
 Non-ProfitOrganisation 
 Nutrient 
 OfficeHolder 
 OilField 
 OlympicAthlete 
 OlympicDemonstrationCompetition 
 OlympicEvent 
 OlympicEventCompetition 
 OlympicGames 
 Opera 
 OperaCharacter 
 OperaCompany 
 OperaHouse 
 OperaLibretto 
 OperatingSystem 
 OperatingSystemDeveloper 
 OrganismClassification 
 Organization 
 OrganizationCommittee 
 OrganizationSector 
 Park 
 ParliamentaryElection 
 PeriodicalPublisher 
 Person 
 PersonalAppearanceRole 
 Philosopher 
 Physician 
 Play 
 Poem 
 PoeticVerseForm 
 PoliticalDistrict 
 PoliticalIdeology 
 PoliticalParty 
 Politician 
 Prayer 
 ProductionCompany 
 Profession 
 ProfessionalField 
 ProgrammingLanguage 
 ProgrammingLanguageDesigner 
 ProjectParticipant 
 ProtectedArea 
 Protein 
 Protocol 
 ProtocolProvider 
 PublicLibrary 
 PublicSpeakingEvent 
 PublishedWork 
 Quantity 
 RadioFormat 
 RadioNetwork 
 RadioStation 
 Rank 
 RecordLabel 
 RecordProducer 
 RecurringEvent 
 Religion 
 ReligiousLeadershipRole 
 ReligiousOrganization 
 ReligiousPractice 
 ReligiousText 
 ReportIssuingInstitution 
 RiskFactor 
 River 
 Road 
 Rocket 
 RocketEngine 
 RocketEngineFuel 
 RocketFuel 
 RocketFunction 
 RocketManufacturer 
 Saint 
 Satellite 
 School 
 SchoolDistrict 
 SchoolMascot 
 SchoolNewspaper 
 SchoolSportsTeam 
 Scientist 
 ShipBuilder 
 ShoppingCenter 
 ShortStory 
 SkiArea 
 Skyscraper 
 SoccerClub 
 Software 
 SoftwareDeveloper 
 SoftwareLicense 
 Soundtrack 
 SpaceAgency 
 Spacecraft 
 SpaceMission 
 Spaceport 
 Sport 
 SportsAssociation 
 SportsEquipment 
 SportsLeagueChampionship 
 SportsLeagueChampionshipEvent
<label_name>: <label_value>
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: dedicated
operator: In
values:
- edge
tolerations:
- key: dedicated
value: edge
...
Show more

Both the affinity and tolerations sections have dedicated as the key and edge as the value.





 Adding affinity rules for multiple public or private VLANs 

When your cluster is connected to multiple public or private VLANs, your app pods might deploy to worker nodes that are connected only to one VLAN. If the NLB IP address is connected to a different VLAN than these worker nodes, load balancer service pods won't deploy to those worker nodes.

When source IP is enabled, schedule app pods on worker nodes that are the same VLAN as the NLB's IP address by adding an affinity rule to the app deployment.

Before you begin: [Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster).



1. Get the IP address of the NLB service. Look for the IP address in the LoadBalancer Ingress field.

oc describe service <loadbalancer_service_name>
2. Retrieve the VLAN ID that your NLB service is connected to.



1. List portable public VLANs for your cluster.

ibmcloud oc cluster get --cluster <cluster_name_or_ID> --show-resources

Example output

...

Subnet VLANs
VLAN ID Subnet CIDR Public User-managed
2234947 10.xxx.xx.xxx/29 false false
2234945 169.36.5.xxx/29 true false
2. In the output under Subnet VLANs, look for the subnet CIDR that matches the NLB IP address that you retrieved earlier and note the VLAN ID.
: The new [String.toJson()](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-methodsdialog-methods-strings-toJson) method parses a string containing JSON data and returns a JSON object or array.





 12 October 2022 

now(String timezone) method output includes time zone offset
: The string returned from the now(String timezone) method now includes the time zone offset (such as -05:00). The new format is yyyy-MM-dd HH:mm:ss 'GMT'XXX (where XXX represents the time zone offset). This change enables accurate time zone computations when used with other date and time methods such as before, after, and reformatDateTime.

If you have an existing action or dialog that depends on the previous format, you can adapt it by reformatting the output using now(timezone).reformatDateTime('yyyy-MM-dd HH:mm:ss').

For more information, see [Expression language methods]((

[https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-methods#dialog-methods-date-time](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-methodsdialog-methods-date-time)).





 12 September 2022 

Fix for fuzzy matching in German
: In some cases, German closed entities were incorrectly matching shorter values over longer values. For example, suppose that you defined two entity values, Pflege and Pflegegeld in one entity. If a customer accidentally input Pflegegelb, the assistant would incorrectly match with Pflege rather than Pflegegeld.

With this fix, the Pflegegelb input value would correctly match Pflegegeld, not Pflege. For more information, see [How fuzzy matching works](https://cloud.ibm.com/docs/assistant?topic=assistant-entitiesentities-fuzzy-matching).





 11 August 2022 

Algorithm version options available in more languages
$appProfile = Get-NsxEdge OpenShift-ESG | Get-NsxLoadBalancer | New-NsxLoadBalancerApplicationProfile -Name TCP-Source-Profile -Type TCP -PersistenceMethod sourceip

 Configure Load-balancer VIPs
Get-NsxEdge OpenShift-ESG | Get-NsxLoadBalancer | Add-NsxLoadBalancerVip -name api-6443-lb -Description "API / API-INT" -ipaddress 10.208.242.132 -Protocol tcp -Port 6443 -ApplicationProfile $appProfile -DefaultPool $pool1 -AccelerationEnabled
Get-NsxEdge OpenShift-ESG | Get-NsxLoadBalancer | Add-NsxLoadBalancerVip -name api-22623-lb -Description "API / API-INT" -ipaddress 10.208.242.132 -Protocol tcp -Port 22623 -ApplicationProfile $appProfile -DefaultPool $pool2 -AccelerationEnabled
Get-NsxEdge OpenShift-ESG | Get-NsxLoadBalancer | Add-NsxLoadBalancerVip -name app-80-lb -Description "Application HTTP" -ipaddress 10.208.242.131 -Protocol tcp -Port 80 -ApplicationProfile $appProfile -DefaultPool $pool3 -AccelerationEnabled
Get-NsxEdge OpenShift-ESG | Get-NsxLoadBalancer | Add-NsxLoadBalancerVip -name app-443-lb -Description "Application HTTPS" -ipaddress 10.208.242.131 -Protocol tcp -Port 443 -ApplicationProfile $appProfile -DefaultPool $pool4 -AccelerationEnabled

 Create DHCP pool
$xmlPayload = "
<dhcp>
<enabled>true</enabled>
<ipPools>
<ipPool>
<ipRange>192.168.133.50-192.168.133.100</ipRange>
<defaultGateway>192.168.133.1</defaultGateway>
Bringing your own app to DevSecOps 

You can bring your own application to a DevSecOps toolchain for continuous integration and continuous deployment.

Create your DevSecOps toolchain by using the default sample app that is provided. This Node.js based [hello-compliance-app](https://us-south.git.cloud.ibm.com/open-toolchain/hello-compliance-app) hosts a Node.js server that provides a static web page. Alternatively, use one of the following samples to start with a different flavor:



* [code-engine-compliance-app](https://us-south.git.cloud.ibm.com/open-toolchain/code-engine-compliance-app)
* [python-compliance-app](https://us-south.git.cloud.ibm.com/open-toolchain/python-compliance-app)
* [node-cloudant-compliance-app](https://us-south.git.cloud.ibm.com/open-toolchain/node-cloudant-compliance-app) - combining application source (Node.js) and dependency definition (Cloudant defined using infrastructure-as-code)



The source code of each sample app contains a .pipeline-config.yaml file. The .pipeline-config.yaml file is the core configuration file that is used by continuous integration and continuous deployment toolchains for all of the stages in the pipeline run process.

Add a .pipeline-config.yaml configuration file that contains the following properties that are required by each stage:



 image 

The Docker image name that is used to run the stage. For example, use the following code to sign your images:

image: icr.io/continuous-delivery/pipeline/image-signing:1.0. 0@sha256:e9d8e354668ba3d40be2aaee08298d2aa7f0e1c8a1829cca4094ec93830e3e6a





 abort_on_failure 

Set this property to true to stop the pipeline run if the stage fails.
* [October 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-oct20)



* [29 October 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-oct2920)



* GO 1.15 is now supported.





* [September 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-sep20)



* [22 September 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-sep2220)



* Added support for Node.js 12 runtime.
* Added --memory to the action create and action update commands.
* Added troubleshooting information.





* [August 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-aug20)



* [25 August 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-aug2520)



* New troubleshooting information.





* [July 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-jul20)



* [30 July 2020](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-openwhisk-relnotesopenwhisk-jul3020)



* Updated information for High availability and disaster recovery.
------------------------------
address_standardizer
address_standardizer_data_us
amcheck
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
insert_username
intagg
intarray
isn
lo
ltree
moddatetime
pageinspect
pg_buffercache
pg_freespacemap
pg_prewarm
pg_repack
pg_stat_statements
pg_trgm
pg_visibility
pgaudit
pgcrypto
pgrouting
pgrowlocks
pgstattuple
plpgsql
postgis
postgis_tiger_geocoder
postgis_topology
postgres_fdw
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
xml2
(51 rows)
ibmclouddb=> select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 12.4 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
* The buildpack adds support for DynamicPULSE.







 4 March 2016 

Updated Node.js buildpack v3.1-20160222-1123
: This release of the buildpack moves the default IBM SDK for Node.js runtime from version 4.2.4 to 4.3.0. It also includes IBM SDK for Node.js versions 0.10.42, 0.12.10, and 4.2.6. Use these recent Node.js versions to pick up fixes for several security vulnerabilities.





 10 February 2016 

Updated Liberty buildpack v2.5-20160209-1336
: The buildpack contains an updated version of WebSphere Liberty based on the [February beta](https://developer.ibm.com/wasdev/blog/2016/02/12/beta-websphere-liberty-and-tools-february/). The updated version of the Liberty profile makes the apiDiscovery-1.0 GA feature available in IBM Cloud.





 4 February 2016 

Updated Liberty buildpack v2.4-20160127-1437
: The buildpack contains an updated version of WebSphere Liberty based on the January beta. With this update, the scim-1.0 Liberty feature, previously available as beta a feature, is now available as a production-ready feature. The updated version of Liberty also makes the passwordUtilities-1.0 beta feature available in IBM Cloud.



* The buildpack also contains an updated IBM JRE 7.1 SF3 FP20 and IBM JRE 8 SR2 FP10.
* The buildpack was updated to download the latest 1.x [MariaDB Connector/J JDBC driver](https://mariadb.com/kb/en/about-mariadb-connector-j/) when performing [auto-configuration for MySQL type of services](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-auto_config).



Updated Node.js buildpack v3.0-20160125-1224
"a1d53ce7-166c-42d1-af26-7809dexxxxxx.yyyyyy.databases.appdomain.cloud:32447"
]
],
"bin": "db2",
"certificate": {
"certificate_base64": "<certificate_code>",
"name": "2ac5a4d3-1307-40f5-99a4-043e278fb084"
},
"composed": [
"db2 -u ipa8emxc -p e2haTt1FJ7m3UQXY --ssl --sslCAFile 2ac5a4d3-1307-40f5-99a4-043e278fb084 --authenticationDatabase admin --host a1d53ce7-166c-42d1-af26-7809dexxxxxx.yyyyyy.databases.appdomain.cloud:32447"
],
"environment": {},
"type": "cli"
},
"db2": {
"authentication": {
"method": "direct",
"password": "<password>",
"username": "<user_name>"
},
"certificate": {
"certificate_base64": "<certificate_code>",
"name": "2ac5a4d3-1307-40f5-99a4-043e278fb084"
},
"composed": [
"db2://ipa8emxc:e2haTt1FJ7m3UQXY@a1d53ce7-166c-42d1-af26-7809dexxxxxx.yyyyyy.databases.appdomain.cloud:32447/bludb?authSource=admin&replicaSet=replset"
],
"database": "bludb",
CRN crn:v1:bluemix:public:is:us-south-1:a/7f75c7b025e54bc5635f754b2f888665::share:r006-72332eee-b3e0-4dc3-b429-aee9e5c0abf2
Lifecycle State stable
Zone us-south-1
Profile tier-3iops
Size(GB) 40
IOPS 3000
Encryption provider_managed
Mount Targets ID Name VPC ID VPC Name
3c413e2f-2e7e-47e9-a9ad-12d23068d2c4 my-target121 0d37163a-701d-4ad6-9ece-a3e34cf28935 cdl
585075b5-b466-4b98-b733-2c5c2d906823 my-target122 dd1c6831-cc4d-4c40-aab2-6b0c17f41424 cli-vpc-1

Resource Group ID Name
bdd96715c2a44f2bb60df4ff14a543f5 Default

Created 2023-07-05T15:21:35+05:30





 View a source file share for a replica file share from the CLI 

Run the ibmcloud is share-replica-source command and specify the replica share by ID or name.

ibmcloud is share-replica-source REPLICA-SHARE [--output JSON] [-q, --quiet]

See the following example.

ibmcloud is share-replica-source replica-share-4
Getting source file share for replica file share replica-share-4 under account VPC as user myuser@mycompany.com...

ID 0e8ee997-bf1d-4165-9573-726c3a4d3b36
Name share-4
"href": "https://eu-gb.iaas.cloud.ibm.com/v1/load_balancers/r018-808fedde-2650-46cc-9cd1-4b828b92970a",
"id": "r018-808fedde-2650-46cc-9cd1-4b828b92970a",
"is_public": true,
"listeners": [
{
"href": "https://eu-gb.iaas.cloud.ibm.com/v1/load_balancers/r018-808fedde-2650-46cc-9cd1-4b828b92970a/listeners/r018-3811d7ad-3bbe-4cb4-82de-8608f767866a",
"id": "r018-3811d7ad-3bbe-4cb4-82de-8608f767866a"
}
],
"name": "test-nlb",
"operating_status": "online",
"pools": [
{
"href": "https://eu-gb.iaas.cloud.ibm.com/v1/load_balancers/r018-808fedde-2650-46cc-9cd1-4b828b92970a/pools/r018-df11657f-63cf-49b5-af0f-6eeab32b3559",
"id": "r018-df11657f-63cf-49b5-af0f-6eeab32b3559",
"name": "pool1"
},
{
You can display the decoded certificate for your deployment with the CLI plug-in with the command ibmcloud cdb deployment-cacert "your-service-name". It decodes the base64 into text. Copy and save the command's output to a file and provide the file's path to the driver.







 Other Drivers 

Elasticsearch has a vast array of language drivers. The table covers a few of the most common.



Table 2. Common Elasticsearch drivers

 Language Driver Documentation 

 Node elasticsearch-js [Link](https://github.com/elastic/elasticsearch-js) 
 Ruby elasticsearch-ruby [Link](https://github.com/elastic/elasticsearch-ruby) 
 Ruby on Rails elasticsearch-rails [Link](https://github.com/elastic/elasticsearch-rails) 
 Python elasticsearch-py [Link](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html) 
 Java Jest [Link](https://github.com/searchbox-io/Jest/tree/master/jest) 
 Go elastic [Link](https://olivere.github.io/elastic/)
Continuous Integration Toolchain Toolchain Service The continuous integration toolchain and pipelines tests, scans and builds the deployable artifacts from the application repositories. 
 Continuous Deployment Toolchain Toolchain Service The continuous deployment toolchain and pipeline generates all of the evidence and change request summary content. The pipeline deploys the build artifacts to an environment, such as staging or production, and then collects, creates, and uploads all existing log files, evidence, and artifacts to the evidence locker. 
 Continuous Compliance Toolchain Toolchain Service The continuous compliance toolchain and pipeline periodically scans the deployed artifacts and their source repositories. 







 Next steps 

Install the DevSecOps application lifecycle management deployable architecture on this infrastructure. More information [here](https://cloud.ibm.com/docs/devsecops-alm?topic=devsecops-alm-devsecops-alm-dep)