Skip to content

philipp-hinteregger/helm-service-contrib-fork

 
 

Repository files navigation

Helm Service

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 - 0.18.x keptn-contrib/helm-service:0.18.0

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.

You can find installation instructions here.

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

helm install helm-service https://github.com/keptn/keptn/releases/download/<latest>/helm-service-<latest>.tgz -n keptn

Replace <latest> with a Keptn version available from the release list.

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.

About

keptn helm-service for cloud-native deployments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.8%
  • Dockerfile 1.2%
  • Smarty 1.1%
  • Shell 0.9%