Deploy Commerce Mock Application in the Kyma Runtime
- How to create a Namespace in the Kyma runtime
- How to deploy the Kyma mock application, which includes a Kyma
APIRule
to expose the API to the Internet
Prerequisites
- GIT installed
The Kyma mock application contains lightweight substitutes for SAP applications to ease the development and testing of extension and integration scenarios based on Varkes
. Together with SAP BTP, Kyma runtime, it allows for efficient implementation of application extensions without the need to access the real SAP applications during development.
- Step 1
-
The Kyma mock applications can be found in the xf-application-mocks repository. Within the repo you can find each of the mock applications and their Deployment files within the respective folder. The process outlined in the tutorial is the same for each, but focuses on configuring the Commerce mock.
-
Download the code by choosing the green Code button and then choosing one of the options to download the code locally.
You can instead run the following command within your CLI at your desired folder location:
Shell/BashCopygit clone https://github.com/SAP-samples/xf-application-mocks
-
- Step 2
Open the Kyma console and create the
dev
Namespace by choosing the menu option Namespaces and then choosing the option Create Namespace. Choose the tabYAML
, provide the namedev
, set the labelistio-injection
toenabled
and then choose Create.Namespaces separate objects inside a Kubernetes cluster. The concept is similar to folders in a file system. Each Kubernetes cluster has a
default
namespace to begin with. Choosing a different value for the namespace will require adjustments to the provided samples.Setting istio-injection to the on enabled state activates
Istio
, which is the service mesh implementation used by the Kyma runtime.Open the
dev
Namespace by choosing the tile, if it is not already open.Apply the Deployment of the mock application to the
dev
Namespace by choosing the menu option Overview if not already open. Within the Overview dialog, choose Upload YAML. Either copy the contents of the file/xf-application-mocks/commerce-mock/deployment/k8s.yaml
into the window or use the option to upload it.Notice that this file contains the resource definitions for the Deployment as well as the Service and the Persistent Volume Claim. Choose Submit to create the resources.
Create the
APIRule
of the mock application to thedev
Namespace by choosing the menu option Discovery and Network >API Rules
and then choosing Create API Rule. Provide the Namecommerce-mock
, choose the Service Namecommerce-mock
and entercommerce
for the Host. Choose Create to create theAPIRule
.Even API rules can be created by describing them within YAML files. You can find the YAML definition of the
APIRule
at/xf-application-mocks/commerce-mock/deployment/kyma.yaml
.
- Step 3
Open the
APIRules
in the Kyma console within thedev
Namespace by choosing the Discovery and Network >APIRules
menu option.Open the mock application in the browser by choosing the Host value
https://commerce.*******.kyma.ondemand.com
. If you receive the errorupstream connect...
, the application may have not finished starting. Wait for a minute or two and try again.Leave the mock application open in the browser, it will be used in a later step.
- Step 4
In this step, you will create a System in the SAP BTP which will be used to pair the mock application to the Kyma runtime. This step will be performed at the Global account level of your SAP BTP account.
Open your global SAP BTP account and choose the System Landscape menu option.
Under the tab Systems, Choose the Add System option, provide the name commerce-mock, set the type to SAP Commerce Cloud and then choose Add.
Choose the option Get Token, copy the Token value and close the window. This value will expire in five minutes and will be needed in a subsequent step.
If the token expires before use, you can obtain a new one by choosing the
Get Token
option shown next to the entry in the Systems list.
- Step 5
In this step, you will create a Formation. A Formation is used to connect one or more Systems created in the SAP BTP to a runtime. This step will be performed at the Global account level of your SAP BTP account.
Within your global SAP BTP account, choose the System Landscape menu option. Choose the tab Formations and choose the Create Formation option.
Provide a Name and choose your Subaccount where the Kyma runtime is enabled. Choose Create.
Choose the option Include System, select commerce-mock for the system and choose Include.
What is the function of a Formation?
- Step 6
The pairing process will establish a trust between the Commerce mock application and in this case the SAP Kyma runtime. Once the pairing is complete, the registration of APIs and business events can be performed. This process allow developers to utilize the APIs and business events with the authentication aspects handled automatically.
Navigate back to the mock application browser window and choose Connect. Paste the copied value in the token text area and then choose Connect. If the token has expired, you may receive an error. Simply return to [Step 4: ](Create a System) and generate a new token.
Choose Register All to register the APIs and events from the mock application.
What is the purpose of pairing an applicaiton? (Multiple answers are correct)
- Step 7
Navigate back to the Kyma home workspace by choosing Back to Namespaces.
In the Kyma home workspace, choose Integration > Applications.
Choose the mp-commerce-mock application by clicking on the name value shown in the list.
After choosing the system, you should now see a list of the APIs and events the mock application is exposing.
Congratulations! You have successfully configured the Commerce mock application.