Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

spec 0.2.0 - Specify Deployment / DeploymentNames #68

@christian-kreuzberger-dtx

Description

In helm-service of Keptn 0.8.0-rc1 I noticed that we are sending deploymentNames within the deployment.finished event:

{
  "data": {
    "deployment": {
      "deploymentNames": [
        "canary"
      ],
      "deploymentURIsLocal": [
        "http://tempberry-backend.tempberry-hardening:80"
      ],
      "deploymentURIsPublic": [
        "http://tempberry-backend.tempberry-hardening.1-2-3-4.nip.io:80"
      ],
      "deploymentstrategy": "duplicate",
      "gitCommit": "bb31a5c6a65a0ca6f42081ce1fe1099dadba697d"
    },
    "message": "Successfully deployed",
    "project": "tempberry",
    "result": "pass",
    "service": "tempberry-backend",
    "stage": "hardening",
    "status": "succeeded"
  },
  "source": "helm-service",
  "type": "sh.keptn.event.deployment.finished",
}

The information provided by helm-service in this Array is either "canary" or "direct" and is consumed by SLI providers to determine whether the SLI is fetched for the primary or canary deployment (e.g., in case of blue-green deployments).
In addition, we refer to deployment in helm-charts (for dynatrace integration):
https://github.com/keptn/examples/blob/519680b56e270e9a59b09d864415df3d45643a09/onboarding-carts/carts/templates/deployment.yaml#L35-L36

In Keptn 0.7.x this field was called "deployment", e.g.:

{
  "contenttype": "application/json",
  "data": {
    "customFilters": [],
    "deployment": "canary",
    "deploymentstrategy": "blue_green_service",
    "end": "2020-12-04T07:00:54Z",
    "indicators": [
      "response_time_p95"
    ],
    "project": "ck-sockshop",
    "service": "carts",
    "sliProvider": "dynatrace",
    "stage": "staging",
    "start": "2020-12-04T06:59:00Z",
    "teststrategy": "performance"
  },
  "source": "lighthouse-service",
  "type": "sh.keptn.internal.event.get-sli",
}

See also helm-service#deployment-finished.

Questions / Problems

  • I did not expect "direct" nor "canary" for DeploymentNames. Coming from helm-service, I would have expected the actual name of the release, helm-chart or Kubernetes Deployment (e.g., tempberry-primary).
  • Why is it an array? Do we consume it as an array anywhere (e.g., sli provider) or do we always consume the value at index 0?
  • The respective attribute is not visible/document in keptn/spec, therefore writing an integration that consumes this attribute is impossible unless you have profound knowledge of helm-service.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions