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.
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.
🚀 Jumpstart your Kyma journey by using these samples to build event and api based extensions in your favorite technology. We have grouped the samples focusing on their content "center of gravity". But maybe there is more in there, so it is always worth to take a look at all of them 😎
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
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 |
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 | - |
Name | Description | Blog Post |
---|---|---|
C4C UI extensibility | This sample shows a Cloud for Customer extension including an Angualr 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 |
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 | - |
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 |
Name | Description | References |
---|---|---|
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 |
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 |
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 |
Name | Description | References |
---|---|---|
Azure MS SQL database | This sample provisions the MS SQL database within Microsoft Azure using the Open Service Broker | - |
Name | Description | References |
---|---|---|
Secret from CF Service Key | This sample shows how to create a Kubernetes secret from a Cloud Foundry service key | - |
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 | - |
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 | - |
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 | - |
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 | - |
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 | - |
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 |
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.
There are also further resources that allow you to dive into the topic of Kyma:
If you want to get in touch with us here you go:
The samples are provided on the "as-is" basis. Currently, there are no known issues for the sample projects.
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.
Please refer to the contrubuting guidelines
Please note, that we have a code of conduct, please follow it in all your interactions with the project.
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.