Skip to content
This repository has been archived by the owner on Jan 19, 2024. It is now read-only.

keptn-contrib/helm-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8766ec0 · Jan 19, 2024
Aug 23, 2022
Aug 31, 2022
Aug 23, 2022
Oct 14, 2020
Aug 23, 2022
Aug 23, 2022
Dec 16, 2021
Aug 23, 2022
Aug 23, 2022
Sep 1, 2022
Aug 23, 2022
Aug 23, 2022
Aug 29, 2022
Aug 23, 2022
Aug 23, 2022
Jan 19, 2024
Aug 23, 2022
Aug 23, 2022
Sep 10, 2019
Aug 23, 2022
Aug 23, 2022
Aug 23, 2022

Repository files navigation

Helm Service

This service has reached end of life on December 22nd, 2023 similar to Keptn V1.

Before you start

Please consider using job-executor-service and get full control of your deployment commands. You can find more details here.


The helm-service allows deploying services to a Kubernetes cluster and releasing them to user traffic. Therefore, these services have to be packed as Helm charts. For details about the Helm chart and how to onboard a service, please checkout the docs.

In order to deploy and release services to user-traffic, the helm-service implements two tasks:

  1. Deployment task: Here, the helm-service executes a Helm upgrade on the Helm chart provided by the user. Furthermore, the helm-service routes traffic to this new version.
  2. Release task: Here, the helm-service either promotes or rolls back the new version depending on the (evaluation) result.

Compatibility Matrix

Keptn Version Helm-service Docker Image
0.17.0 and older Please use https://github.com/keptn/keptn/releases
0.18.0 keptn-contrib/helm-service:0.18.1
0.19.x keptn-contrib/helm-service:0.18.1
0.20.x keptn-contrib/helm-service:0.18.1
1.x.y keptn-contrib/helm-service:0.18.1

Newer Keptn versions might be compatible, but compatibility has not been verified at the time of the release.

Installation

The helm-service is part of the Execution Plane for Continuous Delivery.

To install it next to your Keptn installation, you can use the following command:

HELM_SERVICE_VERSION=0.18.1 # https://github.com/keptn-contrib/helm-service/releases
helm install helm-service https://github.com/keptn-contrib/helm-service/releases/download/$HELM_SERVICE_VERSION/helm-service-$HELM_SERVICE_VERSION.tgz -n keptn

Uninstall

You can uninstall it directly using helm, e.g.:

helm uninstall helm-service -n keptn

Installation on multiple remote execution planes

To avoid naming conflicts and resulting errors in a setup with multiple remote execution planes, please provide a unique name per helm-service using the nameOverride parameter that can be found in the helm values.

Development

You can use skaffold run --tail to build and deploy from this directory.

Handled events

The helm-service handles a set of events. The following sequence diagrams describe the respectively executed actions and the involved components.

Handling of sh.keptn.event.service.delete.finished events

The sh.keptn.event.service.delete.finished event states that a Keptn service has been deleted by the shipyard-controller. In case this service was deployed by the helm-service, the helm-service uninstalls all releases of this Keptn service.

Handling of sh.keptn.event.deployment.triggered events

The sh.keptn.event.deployment.triggered event states that a new deployment has been triggered e.g. by the user. The helm-service executes a Helm upgrade on the Helm chart provided by the user, i.e. the user-chart and routes traffic to this new version.

Handling of sh.keptn.event.release.triggered events

The sh.keptn.event.release.triggered event states that a release has been triggered.

For a direct deployment, the helm-service does not have to apply anything.

For a b/g deployment with an (evaluation) result equals pass or warning, the helm-service promotes the new version to be stable.

For a b/g deployment with an (evaluation) result equals fail, the helm-service rolls back the new version.

Handling of sh.keptn.event.action.triggered events

The sh.keptn.event.action.triggered event stats that a remediation action has been triggered. The helm-service provides a replica scaling remediation action.

LICENSE

See LICENSE.