kyma

module
v0.0.0-...-1b19c93 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2021 License: Apache-2.0

README

Go Report Card CII Best Practices Slack Twitter

Overview

Kyma /kee-ma/ is a platform for extending applications with microservices and serverless Functions. It provides CLI and UI through which you can connect your application to a Kubernetes cluster. You can also expose the application's API or events securely thanks to the built-in Application Connector. You can then implement the business logic you require by creating microservices or serverless Functions. Trigger them to react to particular events or calls to your application's API.

To limit the time spent on coding, use the built-in cloud services from Service Catalog, exposed by Service Brokers from such cloud providers as GCP, Azure, and AWS.

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. Be aware that we do not provide support or patch releases for Kyma versions older than the three latest ones (for example, if the latest version is 1.24, only 1.24, 1.23, and 1.22 will be supported.)

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.

Development

Develop on your remote repository forked from the original repository in Go. See the example that uses the console-backend-service project located in the components directory but applies to any Go project. This set of instructions uses the recommended git workflow and the general contribution flow. Read also the CONTRIBUTING.md document that includes the contributing rules specific for this repository.

Follow these steps:

NOTE: The example assumes you have the $GOPATH already set.

  1. Fork the repository in GitHub.

  2. Clone the fork to your $GOPATH workspace. Use this command to create the folder structure and clone the repository under the correct location:

    git clone git@github.com:{GitHubUsername}/kyma.git $GOPATH/src/github.com/kyma-project/kyma
    

    Follow the steps described in the git-workflow.md document to configure your fork.

  3. Install dependencies.

    Go to the main directory of the project in your workspace location and install the required dependencies:

    cd components/console-backend-service
    dep ensure -vendor-only
    
  4. Build the project.

    Every project runs differently. Follow instructions in the main README.md document of the given project to build it.

  5. Create a branch and start to develop.

    Do not forget about creating unit and acceptance tests if needed. For the unit tests, follow the instructions specified in the main README.md document of the given project. For the details concerning the acceptance tests, go to the corresponding directory inside the tests directory. Find the information on how to run changes on the cluster without a Docker image in the Develop a service locally without using Docker document.

  6. Test your changes.

    NOTE: For more details about testing, go to the Testing Kyma document.

Kyma users

Read how these companies use Kyma:

SAP Accenture NETCONOMY neteleven

ARITHNEA Digital Lights FAIR FAIR

Arineo dotSource

Directories

Path Synopsis
tests
end-to-end/upgrade/internal/platform/logger
Package logger is responsible for logging.
Package logger is responsible for logging.
end-to-end/upgrade/pkg/injector
Copied from: https://github.com/kyma-project/kyma/tree/main/tests/console-backend-service/pkg/injector because right now it cannot be vendored because controller-runtime and kubernetes version does not match we need to wait until the Helm Broker and CBS will we both at the same k8s and controller-runtime version
Copied from: https://github.com/kyma-project/kyma/tree/main/tests/console-backend-service/pkg/injector because right now it cannot be vendored because controller-runtime and kubernetes version does not match we need to wait until the Helm Broker and CBS will we both at the same k8s and controller-runtime version
end-to-end/upgrade/pkg/tests/eventing/subscription/api/v1alpha1
Package v1alpha1 contains API Schema definitions for the eventing v1alpha1 API group +kubebuilder:object:generate=true +groupName=eventing.kyma-project.io
Package v1alpha1 contains API Schema definitions for the eventing v1alpha1 API group +kubebuilder:object:generate=true +groupName=eventing.kyma-project.io
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL