• Stars
    star
    1,510
  • Rank 31,042 (Top 0.7 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Kyma is an opinionated set of Kubernetes-based modular building blocks, including all necessary capabilities to develop and run enterprise-grade cloud-native applications.

Go Report Card CII Best Practices Slack Twitter

Overview

Kyma /kee-ma/ is an application runtime that provides you a flexible and easy way to connect, extend, and customize your applications in the cloud-native world of Kubernetes.

Out of the box, Kyma offers various functionalities, such as:

  • Serverless development platform to run lightweight Functions in a cost-efficient and scalable way
  • System connectivity that provides endpoint to securely register Events and APIs of external applications
  • Eventing that provides messaging channel to receive events, enrich them, and trigger business flows using Functions or services
  • Service Mesh for service-to-service communication and proxying
  • Service Management to use the built-in cloud services from such cloud providers as GCP, Azure, and AWS
  • Secure API exposure
  • In-cluster observability
  • CLI supported by the intuitive UI through which you can connect your application to a Kubernetes cluster

Go to the Kyma project website to learn more about our project, its features, and components.

Installation

Install Kyma locally or on a cluster. See the Installation guides for details.

NOTE: Make sure to install the latest Kyma version and keep it up to date by upgrading Kyma.

Usage

Kyma comes with the ready-to-use code snippets that you can use to test the extensions and the core functionality. See the list of existing examples in the examples repository.

Contributing

Read the CONTRIBUTING.md document that includes the contributing rules and development steps specific for this repository.

Kyma users

The following companies use Kyma:

SAP Accenture NETCONOMY neteleven

ARITHNEA Digital Lights FAIR FAIR

Arineo dotSource

Join us

If you would like to join us and work together on the Kyma project, there are some prerequisite skills you should acquire beforehand. Git basic skills are the most important for a quick start with the code. Mastering Kubernetes skills is very important for your future work.

Required programming skills

  • Git basic skillset:

    • Forking a project from the main repository to your own repository
    • Checking out code from a public and private repository
    • Managing and fetching remote repositories
    • Creating a custom branch, adding and pushing commits to a remote branch of a forked project
    • Rebasing and merging a local branch with changes to the main branch
    • Creating and merging pull requests to the main branch
    • Interpreting automatic test results, rerunning a test suite
    • Resolving conflicts with the main branch
  • Go basic skillset:

    • Installing and upgrading Go compiler
    • Setting up your IDE
    • Building a GoLang project
    • Running tests on a Golang project
    • Running code in the debug mode in your IDE
    • Understanding Makefiles and Dockerfiles
    • Downloading dependencies for the project
    • Understanding dependency tools such as go mod and dep
    • Downloading additional tools modules with the go get command
  • Kubernetes basic skillset:

    • Understanding basic Kubernetes architecture and basic concepts such as: Namespace, Pod, Deployment, Secret, ConfigMap, ReplicaSet, Service, CustomResourceDefinition, Kubernetes Control Loop; understanding Kubernetes Design Patterns such as sidecars and init containers
    • Using a kubeconfig file to connect to a cluster
    • Browsing cluster resources using kubectl commands and editing Kubernetes resources using Terminal
    • Applying YAML files to a cluster with Kubernetes resources
    • Port forwarding from a running Pod to a local machine
    • Installing and using Minikube
    • Displaying logs from a container
    • Exporting Kubernetes objects to YAML files
    • Understanding Helm package manager
    • Certified Kubernetes Application Developer (CKAD) level preferred
  • Docker basic skillset:

    • Listing all running Docker containers
    • Starting, stopping, deleting Docker containers
    • Exposing ports from running containers
    • Managing local image repositories
    • Pulling images from a remote repository and running them
    • Building images and tagging them
    • Pushing and managing images in your Docker Hub account
    • Executing bash commands inside containers

TIP: Complete the Docker and Kubernetes fundamentals training to get the basic Docker and Kubernetes knowledge.

  • Cloud services skillset:

    • Logging in to Google Cloud Platform (GCP)
    • Understanding GCP basics concepts
    • Creating and deleting Kubernetes clusters in team projects on GCP
    • Creating Kubernetes shoot clusters on GCP and Azure
  • Linux/Terminal basic skill set

    • Understanding basic bash scripting
    • Understanding the basics of the Unix filesystem
    • Performing basic operations on files (list, create, copy, delete, move, execute)
    • Sending REST queries with curl or HTTPie
    • CLI/Terminal confident use
  • Fluency with command-line JSON and YAML processors, such as jq, yq, grep

  • CI/CD experience (ideally Prow)

  • Other skills

    • Understanding the Architecture Base Pattern
    • Understanding the Service Mesh concept
    • Basic Markdown editing

Basic Kyma knowledge

These are the sources you can get the basic Kyma knowledge from:

Open job positions

Kyma team is located mostly in Poland and Germany. See the open job positions for both locations:

FAQ

More Repositories

1

cli

Simple set of commands to manage a Kyma installation
Go
111
star
2

website

Kyma landing page with blog, documentation and roadmap
TypeScript
69
star
3

examples

Kyma use cases
Go
48
star
4

console

UI applications for Kyma administration
JavaScript
45
star
5

community

Provides general guidelines, contributing, and maintaining rules for all who add content to Kyma.
Go
44
star
6

test-infra

Test infrastructure for the Kyma project.
Go
38
star
7

busola

Web based Kubernetes Dashboard with a focus on privacy that requires no active components or special privileges in your cluster.
JavaScript
24
star
8

control-plane

A flexible and easy way to manage Kyma Runtimes
Go
17
star
9

lifecycle-manager

Controller that manages the lifecycle of Kyma Modules in your cluster.
Go
10
star
10

hydroform

Infrastructure SDK for provisioning and managing Kubernetes cluster based on Terraform
Go
7
star
11

keda-manager

Keda Operator installs Keda as Kyma module
Go
6
star
12

btp-manager

BTP Manager installs SAP BTP Service Operator as a Kyma module
Go
6
star
13

eventing-manager

Eventing Operator installs Eventing as Kyma module
Go
5
star
14

telemetry-manager

Manager for the Kyma telemetry module
Go
5
star
15

nats-manager

Go
5
star
16

api-gateway

Go
4
star
17

serverless

Go
4
star
18

module-manager

Go
3
star
19

slack-bot

This slack-bot collects all @gophers notifications into one slack channel
Go
3
star
20

istio

Go
3
star
21

eventing-tools

Go
3
star
22

addons

Helm Broker AddOns
Shell
3
star
23

cloud-manager

Go
3
star
24

warden

Image authenticity validation made k8s-native
Go
3
star
25

kyma-dashboard

This is the main repository for the SAP BTP, Kyma runtime Dashboard
JavaScript
2
star
26

docker-registry

Go
2
star
27

opentelemetry-collector-components

Contains Otel Collector components that are not pushed to upstream (yet) or components that are Kyma specific
Go
2
star
28

kyma-companion

A tool that brings AI to Kyma
Python
2
star
29

qa-dashboard

Panda's QA Dashboard
HTML
1
star
30

price-calculator

TypeScript
1
star
31

community-modules

Kyma community modules
JavaScript
1
star
32

eventing-auth-manager

Go
1
star
33

subscription-cleanup-job

subscription-cleanup-job
Go
1
star
34

compass-manager

Manager for the compass module
Go
1
star
35

eventing-publisher-proxy

Go
1
star
36

runtime-watcher

Go
1
star
37

directory-size-exporter

Sidecar for fluentbit to export file buffer metrics
Go
1
star
38

kyma-metrics-collector

Go
1
star