keptn icon indicating copy to clipboard operation
keptn copied to clipboard

Cloud-native application life-cycle orchestration. Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.

keptn

Keptn

GitHub release (latest by date) GitHub Downloads CI codecov Go Report Card CII Best Practices

Keptn is an event-based control plane for continuous delivery and automated operations for cloud-native applications. Please find the documentation on our website, and read the motivation about Keptn on our Why Keptn? page.

In addition, you can find the roadmap of the Keptn project here. It provides an overview of user stories that are currently in the focus of development for the next release.

Quickstart

Keptn runs on Kubernetes. To get started, you can follow our Quickstart guide.

Developing Keptn

The easiest way to develop is to spin up a Kubernetes cluster locally by using K3d (requires docker) via the following commands:

curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | TAG=v5.3.0 bash
k3d cluster create mykeptn -p "8082:80@loadbalancer" --k3s-arg "--no-deploy=traefik@server:*"

Afterwards, install Keptn CLI:

curl -sL https://get.keptn.sh | bash

And install Keptn using Helm:

helm repo add keptn https://charts.keptn.sh && helm repo update
helm install keptn keptn/keptn \
-n keptn --create-namespace \
--wait \
--set=apiGatewayNginx.type=LoadBalancer

In case you want to install helm-service and jmeter-service, execute:

helm install jmeter-service keptn/jmeter-service -n keptn
helm install helm-service keptn/helm-service -n keptn

Please follow the instructions printed by the CLI to connect to your Keptn installation.

Installing Keptn from Master branch

Note: This will install a potentially unstable version of Keptn.

If you want to install the latest master version of Keptn onto your cluster you can do that by using the development helm charts repository located at https://charts-dev.keptn.sh . By default, the global registry used is ´docker.io/keptn´, so you will need to override it.

helm repo add keptn-dev https://charts-dev.keptn.sh    # Add the keptn-dev helm repo
helm repo update                                       # Update all repo contents
helm search repo keptn-dev --devel --versions          # List all versions present in the keptn-dev repo

# Select a chart version from the previous command that you want to install

helm install -n keptn-dev keptn keptn-dev/keptn --set=global.keptn.registry=docker.io/keptndev --create-namespace --version "<the-version-you-selected-previously>"

You can find more information in our docs.

Community

Please find details on regular hosted community events as well as our Slack workspace in the keptn/community repo.

Keptn Versions compatibilities

We manage the Keptn core components in versions. The respective images in their versions are stored on the following container registries:

The versions of the Keptn core components and the services are compatible with each other. However, contributed services as well as services that are not considered core components might not follow the same versioning schema.

We are tracking compatibility of those services on our website.

Contributions

You are welcome to contribute using Pull Requests to the respective repositories. Before contributing, please read our Contributing Guidelines and our Code of Conduct. Please also check out our list of good first issues.

License

Keptn is an Open Source Project. Please see LICENSE for more information.

Adopters

For a list of users, please refer to ADOPTERS.md.

Further information