This repository is the starting point for the SAP Community Code Challenge for Cloud Native (see SAP Community Application Development thread and corresponding blog post). It contains everything you need to get a basic Node.js based project deployed as a service to a Kubernetes based runtime.
That means you get the Node.js related files of the service, a Dockerfile and a Deployment.yaml file. If you're like "Oh Gosh, what is he talking about?" - No worries we will get to what all of that means.
The goal for this month's Coding Challenge is to bring the world of Kubernetes, Containerization and the SAP BTP, Kyma runtime closer to you so you have an easier start with the world of Cloud Native development.
To be able to take part in this challenge, it's essential that you first complete the following steps:
- Fork this repository.
- Clone the forked repository into your development environment.
- Navigate into the
service/
folder. - Execute
npm install
to install the project's dependencies. - Run
npm start
in order to test the project locally. - To try out if the service runs correctly open a web browser and type in
http://localhost:8080
http://localhost:8080/greeting/<Your Name>
The default port used in this local setup is 8080; you can specify a different one (e.g. 8000) if you need to, like this:
PORT=8000 npm start
In order to complete each of the challenges, you need to:
- Look into the Challenges file to see what the challenge is each week.
- Depending on the challenge, you may need to submit information on the SAP Community Application Development thread. Check the Challenges file to see what is required.
Because the challenges are there to give you an introduction to Cloud Native technologies like Kubernetes, Containers and the SAP BTP, Kyma runtime the service being provided is deliberately basic. This is so that you can focus more on understanding the fundamentals of this fairly complex topic. No worries there is more then enough content ready for you to feel like a Kubernetes pro after these 4 weeks! 🧑💻 😉
You can find the challenges for each week in the Challenges file.
- Node.js version 16.x (https://nodejs.org/en/download/).
- Free Tier Account on SAP Business Technology Platform (see Get an Account on SAP BTP to Try Out Free Tier Service Plans)
- The SAP BTP, Kyma runtime enabled (see Enable the SAP BTP, Kyma runtime).
- In this project we use Docker but feel free to use any other container technology, note that if you do you can't use the
Dockerfile
provided.
There is quite a lot to digest when working in the world of Cloud Native, but no worries we got you covered. If you need an introduction or just a refresher on different aspects of Kubernetes or Containerization you should check out the 2minOf Cloud Native series on the SAP Developers YouTube channel.
These resources may also be helpful:
- SAP BTP, Kyma runtime Tutorials
- "What is Kyma?" - SAP Community Blog Post
- SAP BTP, Kyma runtime Extension examples
- Docker, Build Images
- Publishing Docker Images to GitHub Packages
No known issues.
Create an issue in this repository if you find a bug or have questions about the content.
For additional support, ask a question in SAP Community.
If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
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.