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:
- Deployment task: Here, the
helm-serviceexecutes a Helm upgrade on the Helm chart provided by the user. Furthermore, thehelm-serviceroutes traffic to this new version. - Release task: Here, the
helm-serviceeither promotes or rolls back the new version depending on the (evaluation) result.
| 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.
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 keptnYou can uninstall it directly using helm, e.g.:
helm uninstall helm-service -n keptnTo 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.
You can use skaffold run --tail to build and deploy from this directory.
The helm-service handles a set of events. The following sequence diagrams describe the respectively executed actions and the involved components.
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.
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.
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.
The sh.keptn.event.action.triggered event stats that a remediation action has been triggered.
The helm-service provides a replica scaling remediation action.

See LICENSE.




