SAP BTP, Kyma Runtime samples
This project contains sample applications for building extensions using lambdas and microservices on SAP BTP, Kyma runtime.
The samples are implemented in multiple languages and demonstrate various Kyma runtime features and use case scenarios. Developers should be able to refer to these samples and implement their own business scenarios.
Requirements
Running various samples requires access to the Kyma runtime. There are also other sample-specific requirements that you can find in the Prerequisites section of each sample. An overview of prerequisites is available in the prerequisites directory.
Samples
In case you are using Visual Studio Code you can open each of the samples as a dedicated workspace. You find the corresponding file in the workspaces directory
SAP TechEd
Year | Repository | Description | References |
---|---|---|---|
2021 | DEV261 - Build Extensions with SAP BTP, Kyma Runtime | This is a full setup including many other SAP BTP Services and a CI/CD setup with the respective SAP BTP service. | Recording |
Sample Extensions
Name | Description | References |
---|---|---|
Java-based extension with API exposed via Microgateway | This sample demonstrates how to build and deploy a Java-based microservice as an extension and expose the API | - |
Micronaut based extension with API exposed via Microgateway | This sample demonstrates how to build and deploy a Micronaut microservice as an extension and expose the API | - |
Java-based microservice as an Event Trigger using CloudEvents SDK | This sample demonstrates how to build and deploy a Java-based microservice as an Event Trigger using the CloudEvents SDK | - |
Scala AKKA HTTP based extesnsion with API exposed via Microgateway | This sample demonstrates how to build and deploy a Scala Based Akka-HTTP microservice as an extension and expose the API | - |
Sample deploying a websocket based extension on Kyma | This sample demonstrates using websockets with Kyma when building extensions and applications | - |
ASP.NET-based extension with API exposed via Microgateway | This sample demonstrates how to build and deploy an ASP.NET-based microservice as an extension and expose the API | - |
ASP.NET-based (.NET 6.0) extension with Minimal API exposed via Microgateway | This sample demonstrates how to build and deploy an ASP.NET Core-based microservice as an extension leveraging the minimal web API functionality and exposing the API | - |
CX Extensions
Name | Description | Blog Post |
---|---|---|
C4C UI extensibility | This sample shows a Cloud for Customer extension including an Angular UI | - |
Sample SAP Customer Data Cloud Extension | This example includes a Kyma serverless function as cdc-extension exposed as an SAP Customer Data Cloud Extension endpoint | Post |
Sample SAP Customer Data Cloud Webhook | This example includes a Kyma serverless function as cdc-subscription-webhook exposed as an SAP Customer Data Cloud Webhook endpoint | - |
Sample SAP Customer Data Platform Extension | This example includes a Kyma Serverless Function as cdp-extension exposed as an SAP Customer Data Platform Extension endpoint | Post |
SAP Sales Cloud address completion | Corrects the address for an account update or create in SAP Sales Cloud | - |
Product Review Sentiment Analysis with SAP Commerce Cloud | Automated sentiment analysis and content moderation for customer product reviews in SAP Commerce Cloud | - |
Order Validation with SAP Commerce Cloud | Automated order validation with external fraud check service running SAP BTP, Kyma runtime |
S/4HANA Extensions
Name | Description | References |
---|---|---|
S/4HANA Nodejs SAP Cloud SDK Example | This sample provides a Serverless Function configured to call the Material Stock API provided by S/4HANA using the SAP Cloud SDK | - |
Frontend Samples
Name | Description | References |
---|---|---|
React frontend MS SQL | This sample provides a frontend React UI application configured with the sample Order APIs |
- |
UI5 frontend MS SQL | This sample provides a frontend SAPUI5 application configured with the sample Order APIs |
Tutorial |
CAP
Name | Description | References |
---|---|---|
CAP Orders Service | This sample provides a secured CAP service application deployment onto HANA that utilizes the Destination Service, Connectivity Proxy and configured for Helm using Cloud Native Buildpacks | |
CAP on Kyma - Cloud Native Buildpacks | This sample provides a secured CAP Service application deployed onto HANA and configured for Helm using Cloud Native Buildpacks | |
CAP on Kyma | This sample provides a CAP Service application configured with the sample FAQs APIs |
Tutorial |
From Zero to CAP on Kyma | Starting from scratch build a CAP application and deploy it to Kyma runtime |
FAAS Migration
Name | Description | References |
---|---|---|
FAAS to Kyma migration | This sample helps you migrate the most common scenarios from deprecated SAP FaaS Runtime Functions to Kyma runtime |
SAP Cloud SDK
Name | Description | References |
---|---|---|
SAP Cloud SDK Java based extension with API exposed via Microgateway | This sample describes the steps and configurations to build and deploy microservice-based extensions using SAP Cloud SDK for Java | - |
SAP Cloud SDK Java Client Certificate Authentication | This sample show how to connect to an external system secured with Client Certificate Authentication using SAP Cloud SDK | Post |
Open Service Broker
Name | Description | References |
---|---|---|
Azure MS SQL database | This sample provisions the MS SQL database within Microsoft Azure using the Open Service Broker | - |
SAP BTP Service Bindings
Name | Description | References |
---|---|---|
Secret from CF Service Key | This sample shows how to create a Kubernetes secret from a Cloud Foundry service key | - |
SAP HANA Cloud
Name | Description | References |
---|---|---|
HANA Cloud NodeJS API | This sample demonstrates how SAP HANA Cloud can be utilized within the Kyma runtime | - |
GeoServer for a geospatial middleware over HANA Cloud | This sample provides a GeoServerinstance with the plugin for SAP HANA Connectivity | - |
MS SQL/Azure SQL
Name | Description | References |
---|---|---|
MS SQL database | This sample demonstrates how to containerize and deploy a MS SQL database | Tutorial |
Golang MS SQL database API | This sample provides a Golang API endpoint for communication with a MS SQL databases | Tutorial |
Serverless Function MS SQL database API | This sample provides a Kyma Serverless Function as an API endpoint for communication with a MS SQL database | - |
Advanced scenarios
Name | Description | References |
---|---|---|
Redis and Kyma Functions | This sample provides a Redis deployment and two serverless functions that interact with it | Tutorial |
Cloud Integration Multi-cloud | This sample details how to bi-directionally connect SAP Process Integration and Kyma | - |
Cloud Integration Neo | This sample details how to bi-directionally connect SAP Process Integration and Kyma in NEO | - |
gRPC Python | This sample demonstrates gRPC connectivity | - |
Self-learning FAQ Chatbot based on SAP Conversational AI | This sample provides a tutorial and the code to set up an FAQ chatbot in SAP Conversational AI (CAI) | Post |
Next.js app with Kyma eventing & Go backend connected to SAP HANA Cloud database | This sample provides a tutorial for a conference registration app using Next.js | Post |
Data Backup and Restore | This sample demonstrates performing a backup and restore for a stateful application where data is stored using Persistence Volume Claim. | - |
HandsOn DSAG Technology Days 2022 | This sample gives a walk-through setting up a scenario combining on prem systems with Kyma Functions and the Event Mesh | - |
Query LDAP Users on on-premise | This sample queries the LDAP users from an on premise LDAP Server via SAP Connectivity proxy | - |
Deploy Highly Available Workloads | This sample demonstrates deploying highly available workloads in Kyma runtime | - |
Power of serverless with SAP BTP, Kyma runtime. | This sample demonstrates how to leverage latest features of kyma functions with SAP HANA Cloud and SAP libraries | Post |
Multitenancy and SaaS
Name | Description | References |
---|---|---|
SAAS Provisioning Sample | This sample demonstrates how the SAP SAAS Provisioning service can be used to develop a mulitenant application | - |
Sample Mutitanenat Extension | This sample demonstrates how to build a multitenant extension | - |
Authentication and Authorization
Name | Description | References |
---|---|---|
Sample to extend SAP Cloud for Customer with user propagation | This sample provides details on how a user propagation flow can be achieved when extending SAP Cloud for Customer(C4C) via IAS | - |
Sample to extend SAP Cloud for Customer with user propagation via XSUAA | This sample demonstrates how a user propagation flow can be achieved when extending SAP Cloud for Customer(C4C) via XSUAA | - |
App Reverse Proxy with OIDC Authentication Middleware | This sample provides a reverse proxy feature which dispatches requests to other microservice running in Kyma | - |
Standalone approuter on SAP BTP, Kyma runtime | This Sample demonstrates deploying a standalone app router on Kyma runtime and use it to securely expose microservices and functions | - |
Principal Propagation to on premise | This sample provides details on how a principal propagation flow can be achieved when extending an on-prem system using SAP BTP, Kyma runtime | - |
Configure Auth0 as IDP for Kyma access | This sample provide details on how Auth0 can be configured as an Identity Provider for accessing Kyma runtime | - |
Updates on SAP BTP, Kyma runtime based on Open Source Kyma 2.0
An overview blog post about updates on SAP BTP, Kyma runtime based on Open Source Kyma 2.0 is available here: A long-awaited update for Kyma runtime
Name | Description | References |
---|---|---|
In-Cluster Events | Sample that walks you through how to set up and test the in-cluster eventing | Post |
Installing a custom component | Sample that installs and uses Dapr as Custom Component on Kyma | - |
Extending on-premise systems via Kyma runtime | Sample that walks you through how to connect an on premise system | Post |
Hands-on for DSAG Technlology Days 2022 | Hands-on which combines an event-based setup with on-premise connectivity |
Helm Charts
It is also possible to deploy some of the samples as a helm chart and template your Kyma extensions. You find more details in the Helm Chart Examples file.
Resources
There are also further resources that allow you to dive into the topic of Kyma:
How to get in touch with us?
If you want to get in touch with us here you go:
Known issues
The samples are provided on the "as-is" basis. Currently, there are no known issues for the sample projects.
Get support
The samples are provided "as-is". There is no guarantee that raised issues will be answered or addressed in future releases. For more information, visit SAP Community, especially our Kyma topic page and ask a question, or contact your SAP contact to get support. In case you observe any defect in the product usage itself, kindly use the SAP Product Support channel and raise an incident adequately for the defects observed.
Contributing
Please refer to the contrubuting guidelines
Code of Conduct
Please note, that we have a code of conduct, please follow it in all your interactions with the project.
License
Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.