Skip to content

Commit

Permalink
docs: rewrite README file (#1862)
Browse files Browse the repository at this point in the history
Signed-off-by: Meg McRoberts <[email protected]>
Signed-off-by: Adam Gardner <[email protected]>
Co-authored-by: Adam Gardner <[email protected]>
Co-authored-by: Giovanni Liva <[email protected]>
  • Loading branch information
3 people authored Aug 25, 2023
1 parent 66320f8 commit e304969
Showing 1 changed file with 59 additions and 67 deletions.
126 changes: 59 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,36 @@
![version](https://img.shields.io/github/v/release/keptn/lifecycle-toolkit)
[![GitHub Discussions](https://img.shields.io/github/discussions/keptn/lifecycle-toolkit)](https://github.com/keptn/lifecycle-toolkit/discussions)

The Keptn Lifecycle Toolkit (KLT) provides a “cloud-native” approach
This is the primary repository for
the Keptn Lifecycle Toolkit (KLT) software and documentation.
KLT provides a “cloud-native” approach
for managing the application release lifecycle
metrics, observability, health checks,
with pre- and post-deployment evaluations and tasks.
It also supports application health checks,
metrics, and observability.
It is an incubating project, under the umbrella of the
[Keptn Application Lifecycle working group](https://github.com/keptn/wg-app-lifecycle).

## Goals

The Keptn Lifecycle Toolkit provides Cloud Native teams with
the following capabilities:

- Pre-requisite evaluation before deploying workloads and applications
- Finding out when an application (not just a workload) is ready and working
- 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 of the deployment cycle

![Operator Maturity Model with third level circled in](./assets/operator-maturity.jpg)

The Keptn Lifecycle Toolkit can be seen as a general purpose and declarative
[Level 3 operator](https://operatorframework.io/operator-capabilities/)
for your Application.
For this reason, the Keptn Lifecycle Toolkit is agnostic to deployment tools
that are used and works with any GitOps solution.

## Status

Status of the different features:

- ![status](https://img.shields.io/badge/status-stable-brightgreen)
Expand All @@ -37,79 +59,49 @@ stable ![status](https://img.shields.io/badge/status-stable-brightgreen) )
The status follows the
[Kubernetes API versioning schema](https://kubernetes.io/docs/reference/using-api/#api-versioning).

For more info about the features, please refer to our
[documentation](https://lifecycle.keptn.sh/docs/).
The documentation also includes information about
installing the Keptn Lifecycle Toolkit
and migrating to it from
[Keptn v1](https://keptn.sh/docs/).

## Watch the KubeCon 2022 Detroit Demo

Click to watch it on YouTube:

[![Keptn Lifecycle Toolkit in a Nutshell](https://img.youtube.com/vi/K-cvnZ8EtGc/0.jpg)](https://www.youtube.com/watch?v=K-cvnZ8EtGc)

## Deploy the latest release

### Known Limitations

- Kubernetes >=1.24 is needed to deploy the Lifecycle Toolkit
- The Lifecycle Toolkit is currently not compatible with [vcluster](https://github.com/loft-sh/vcluster)
## Installation

### Installation
The Keptn Lifecycle Toolkit can be installed on any Kubernetes cluster
running Kubernetes >=1.24.
Note that the Lifecycle Toolkit is not currently compatible with
[vcluster](https://github.com/loft-sh/vcluster).

Use the following command sequence to install the latest release of the Keptn Lifecycle Toolkit:
Use the following command sequence
to install the latest release of the Keptn Lifecycle Toolkit:

```shell
helm repo add klt https://charts.lifecycle.keptn.sh
helm repo update
helm upgrade --install keptn klt/klt -n keptn-lifecycle-toolkit-system --create-namespace --wait
```

For installing the Lifecycle Toolkit via manifests use:

<!---x-release-please-start-version-->

```shell
kubectl apply -f https://github.com/keptn/lifecycle-toolkit/releases/download/v0.8.1/manifest.yaml
```

<!---x-release-please-end-->

The Lifecycle Toolkit uses the OpenTelemetry collector to provide a vendor-agnostic implementation of how to receive,
process and export telemetry data.
To install it, follow
their [installation instructions](https://opentelemetry.io/docs/collector/getting-started/).
We provide some information about this in our [observability example](./examples/support/observability/).

The Lifecycle Toolkit includes a Mutating Webhook which requires TLS certificates to be mounted as a volume in its pod.
The certificate creation
is handled automatically
by [klt-cert-manager](https://github.com/keptn/lifecycle-toolkit/blob/main/klt-cert-manager/README.md).
Versions 0.6.0
and earlier have a hard dependency on the [cert-manager](https://cert-manager.io).
See [installation guideline](https://github.com/keptn/lifecycle-toolkit/blob/main/docs/content/en/docs/snippets/tasks/install.md)
for more info.

## Goals

The Keptn Lifecycle Toolkit provides Cloud Native teams with
the following capabilities:

- Pre-requisite evaluation before deploying workloads and applications
- Finding out when an application (not just a workload) is ready and working
- 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 of the deployment cycle

![Operator Maturity Model with third level circled in](./assets/operator-maturity.jpg)

The Keptn Lifecycle Toolkit can be seen as a general purpose and declarative
[Level 3 operator](https://operatorframework.io/operator-capabilities/)
for your Application.
For this reason, the Keptn Lifecycle Toolkit is agnostic to deployment tools
that are used and works with any GitOps solution.
## More information

For more info about Keptn, please see our
[documentation](https://lifecycle.keptn.sh/docs/), specifically:

- [Introduction to Keptn Lifecycle Toolkit](https://lifecycle.keptn.sh/docs/intro-klt/)
gives an overview of the KLT facilities.
- [Getting started](https://lifecycle.keptn.sh/docs/getting-started/)
includes some short exercises to introduce you to KLT.
- [Installation and upgrade](https://lifecycle.keptn.sh/docs/install/)
provides information about preparing your Kubernetes cluster
then installing and enabling KLT.
- [Implementing KLT applications](https://lifecycle.keptn.sh/docs/implementing/)
documents how to integrate KLT to work with your existing deployment engine
and implement its variouos features.
- [Architecture](https://lifecycle.keptn.sh/docs/concepts/architecture/) provides detailed technical information
about how KLT works.
- [CRD Reference](https://lifecycle.keptn.sh/docs/yaml-crd-ref/) and
[API Reference](https://lifecycle.keptn.sh/docs/crd-ref/)
provide detailed reference material for the custom resources
used to configure KLT.
- [Contributing to Keptn](https://lifecycle.keptn.sh/contribute/)
provides information about how to contribute to the Keptn project.

You can also find a number of video presentations and demos
about the Keptn Lifecycle Toolkit on the
[YouTube Keptn channel](https://www.youtube.com/@keptn).

## Architecture

Expand Down

0 comments on commit e304969

Please sign in to comment.