Awesome
Keptn
This is the primary repository for the Keptn software and documentation. Keptn provides a “cloud-native” approach for managing the application release lifecycle metrics, observability, health checks, with pre- and post-deployment evaluations and tasks. It is an incubating project, under the umbrella of the Keptn Application Lifecycle working group.
Note Keptn was developed under the code name of "Keptn Lifecycle Toolkit" or "KLT" for short. The source code contains many vestiges of these names.
Goals
Keptn provides Cloud Native teams with the following capabilities:
- Pre-requisite evaluation before deploying workloads and applications
- Checking the Application Health in a declarative (cloud-native) way
- Standardized way to run pre- and post-deployment tasks
- Provide out-of-the-box Observability
- Deployment lifecycle management
Keptn can be seen as a general purpose and declarative Level 3 operator for your Application. For this reason, Keptn is agnostic to deployment tools that are used and works with any GitOps solution.
For more information about the core concepts of Keptn, see our core concepts documentation section.
Status
Status of the different features:
- Observability: expose OTel metrics and traces of your deployment.
- K8s Custom Metrics: expose your Observability platform via the Custom Metric API.
- Release lifecycle: handle pre- and post-checks of your Application deployment.
- Certificate Manager: automatically configure TLS certificates with the Keptn Certificate Manager. You can instead configure your own certificate manager to provide secure communication with the Kube API.
The status follows the Kubernetes API versioning schema.
Community
Find details on regular hosted community events in the keptn/community repo and our Slack channel(s) in the CNCF Slack workspace.
Roadmap
You can find our roadmap here.
Governance
-
Community Membership: Guidelines for community engagement, contribution expectations, and the process for becoming a community member at different levels.
-
Members and Charter: Describes the formation and responsibilities of the Keptn Governance Committee, including its scope, members, and core responsibilities.
Installation
Keptn can be installed on any Kubernetes cluster running Kubernetes >=1.27.
Use the following command sequence to install the latest release of Keptn:
helm repo add keptn https://charts.lifecycle.keptn.sh
helm repo update
helm upgrade --install keptn keptn/keptn -n keptn-system --create-namespace --wait
Monitored namespaces
Keptn must be installed in its own namespace that does not run other major components or deployments.
By default, the Keptn lifecycle orchestration monitors all namespaces in the cluster except for a few namespaces that are reserved for specific Kubernetes and other components. You can modify the Helm chart to specify the namespaces where the Keptn lifecycle orchestration is allowed. For more information, see the "Namespaces and Keptn" page in the Configuration section of the documentation.
More information
For more info about Keptn, please see our documentation.
You can also find a number of video presentations and demos about Keptn on the YouTube Keptn channel. Videos that refer to the "Keptn Lifecycle Controller" are relevant for the Keptn project.
Contributing
For more information about contributing to Keptn, please refer to the Contribution guide section of the documentation.
To set up your local Keptn development environment, please follow these steps for new contributors.
License
Please find more information in the LICENSE file.
Thanks to all the people who have contributed 💜
<!-- markdownlint-disable-next-line MD033 --> <a href="https://github.com/keptn/lifecycle-toolkit/graphs/contributors"> <!-- markdownlint-disable-next-line MD033 MD045 --> <img src="https://contrib.rocks/image?repo=keptn/lifecycle-toolkit" /> </a>Made with contrib.rocks.