github keptn/keptn 0.8.2

latest releases: 1.4.5, 1.4.4, 1.4.3...
2 years ago

Release Notes 0.8.2

Keptn 0.8.2 is a hardening release and incorporates changes that are required to deploy Keptn using Keptn. Besides, the Sequence and Service screens in the Bridge are improved to provide a holistic view of the services on the one hand, and a clear separation of sequentially executed sequences on the other hand.


Key announcements:

🍸 Keptn drinks its own champagne: Each merge on the master (aka. main) branch of the keptn/keptn repository triggers a Keptn to deploy this new version into a development environment. This helps the Keptn project to have the latest and greatest version of Keptn running and to do feature presentations using this deployment.

A GitHub action has been implemented that allows sending a Keptn event to a Keptn installation: gh-action-send-event. Don't wait to integrate it into your CI on GitHub today!

🔨 Hardening of Keptn: Containers of Keptn core services are not running as root users and a security context has been defined. Please note: Defining the security context for NATS is not possible yet, since we are waiting for a new release containing the PR: nats-io/k8s#222.

Service/Sequence screen enhancements: Instead of listing all sequences that were executed on a service, the Service screen now displays the deployments of a service that are currently running in the different stages. Besides, the Sequence screen improved in displaying sequences that are executed sequentially in the same stage:

screenshot


Many thanks to the community for the enhancements on this release!

Keptn Specification

Implemented Keptn spec version: 0.2.1

New Features

Platform Support / Installer

  • Run Keptn core containers as non-root 3764
  • Helm Chart (for control-plane) needs tag properties for deployments in values.yaml 3328
  • Split K8s role keptn-configure-bridge by secret and pod management 3767
  • Service account keptn-configuration-service does not need full permissions on secret management 3781
  • Dockerfile for Keptn Bridge in package.json usage needs improvement 3641
  • Improve handling of X-Forwarded-Proto header for Bridge 3672

API

  • Fixed: GET /project/{project} returns 200 instead of 404 3699

Keptn Core

  • helm-service:

    • Smart Helm Chart values merger 3341
    • Fixed: Not working parallel when deployed in the execution-plane 3427
    • Fixed: Delivery failed with "Error when installing/upgrading chart" ... "has no deployed releases" 3407
  • jmeter-service:

    • Need better JMeter result other than just fail 3559
  • lighthouse-service:

    • Fixed: Properly set result, status, and message 3412
  • shipyard-controller:

    • Fixed: Only last .finished event for a task determines further sequence execution 3493

Bridge

  • Text in the notification is hard to read and the link is not working 3634
  • Chart tooltip should show all active metrics 2546
  • Better sequence visualization when having more than one sequence in a stage 3542
  • Load details of deployment in service screen 3706
  • Derive the list of deployments that are currently running for a service 3629
  • Uniform names of mock files 3714
  • Add "load older Sequences" button in Sequence screen 2280
  • Sequence icon colors represent status 3591
  • Show target values for criteria when hovering over values 2757
  • Fixed: Bridge showing a NaN as a number 3815
  • Fixed: Service shows "Service not deployed yet" even if it is deployed 3848
  • Fixed: Chart in Heatmap shows incorrect Y-axis and incorrect tooltip 3645
  • Fixed: Daily version check was disabled 3668
  • Fixed: Quality gate icon in the environment screen does not turn red 3592
  • Fixed: Some deep-links are broken 3631
  • Fixed: Problem filter in environment screen does not work 3652

Miscellaneous

  • Delete helm-service and jmeter-service from continuous-delivery Helm Chart and adapt CLI accordingly 3350
  • Decouple unit tests from "get.keptn.sh/version.json" 3476

Development Process / Testing

  • GitHub Action to setup a Keptn deployment 3554
  • GitHub Action to send CloudEvents to a Keptn installation 2797
  • Use github.com/stretchr/testify/require instead of general asserts 3149

Good to know / Known Limitations

  • See the know limitations from 0.8.0
Open issues that will be fixed in upcoming releases

  • Auto-remediation does not work with remote execution plane 3498
  • Bridge shows "started" wording on status.changed 3583
  • Inconsistent usage of user-managed and user_managed causing issues 3624
  • Keptn API: configure monitoring not functioning according to spec 3638
  • Keptn CLI: Disable Kube context check 3666
  • Homebrew installed CLI fails to install with 'Malformed constraint: ""' 3805

Upgrade to 0.8.2

CI Information

Docker Images

  • Pushed keptn/api:0.8.2.202104230633 and keptn/api:0.8.2 (Source: api/)
  • Pushed keptn/bridge2:0.8.2.202104230633 and keptn/bridge2:0.8.2 (Source: bridge/)
  • Pushed keptn/distributor:0.8.2.202104230633 and keptn/distributor:0.8.2 (Source: distributor/)
  • Pushed keptn/jmeter-service:0.8.2.202104230633 and keptn/jmeter-service:0.8.2 (Source: jmeter-service/)
  • Pushed keptn/helm-service:0.8.2.202104230633 and keptn/helm-service:0.8.2 (Source: helm-service/)
  • Pushed keptn/approval-service:0.8.2.202104230633 and keptn/approval-service:0.8.2 (Source: approval-service/)
  • Pushed keptn/openshift-route-service:0.8.2.202104230633 and keptn/openshift-route-service:0.8.2 (Source: platform-support/openshift-route-service/)
  • Pushed keptn/shipyard-controller:0.8.2.202104230633 and keptn/shipyard-controller:0.8.2 (Source: shipyard-controller/)
  • Pushed keptn/secret-service:0.8.2.202104230633 and keptn/secret-service:0.8.2 (Source: secret-service/)
  • Pushed keptn/configuration-service:0.8.2.202104230633 and keptn/configuration-service:0.8.2 (Source: configuration-service/)
  • Pushed keptn/remediation-service:0.8.2.202104230633 and keptn/remediation-service:0.8.2 (Source: remediation-service/)
  • Pushed keptn/lighthouse-service:0.8.2.202104230633 and keptn/lighthouse-service:0.8.2 (Source: lighthouse-service/)
  • Pushed keptn/mongodb-datastore:0.8.2.202104230633 and keptn/mongodb-datastore:0.8.2 (Source: mongodb-datastore/)
  • Pushed keptn/statistics-service:0.8.2.202104230633 and keptn/statistics-service:0.8.2 (Source: statistics-service/)

Integration Tests
Integration Tests have finished.

Target Platform Keptn Install Keptn Auth Linking Stages Quality Gates Standalone Quality Gates Backwards Compat. Self Healing Delivery Assistant Continuous Delivery Continuous Delivery (Remote Exec)
kubernetes/GKE 1.17 success success success success success success success skipped success
kubernetes/GKE 1.18 success success success success success success success success skipped
kubernetes/k3s-on-GHA v1.16.15+k3s1 success success success success success success skipped skipped skipped
kubernetes/k3s-on-GHA v1.20.4+k3s1 success success success success success success skipped skipped skipped
openshift/minishift-on-GHA 3.11 success success success skipped skipped success skipped skipped skipped

Kubernetes Resource Data

Resource Limits
Resource Limits for kubernetes-GKE

Pod Container Memory (requested) CPU (requested) Memory (limit) CPU (limit) Images
api-gateway-nginx api-gateway-nginx 64Mi 50m 128Mi 250m docker.io/nginxinc/nginx-unprivileged:1.19.4-alpine
api-service api-service 64Mi 50m 256Mi 500m docker.io/keptn/api:0.8.2
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.2
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.2
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.2
helm-service helm-service - - - - docker.io/keptn/helm-service:0.8.2
helm-service distributor 32Mi 50m 128Mi 500m docker.io/keptn/distributor:0.8.2
jmeter-service jmeter-service 768Mi 1 - - docker.io/keptn/jmeter-service:0.8.2
jmeter-service distributor 32Mi 50m 128Mi 500m docker.io/keptn/distributor:0.8.2
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.2
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
mongodb mongodb 64Mi 50m 300Mi 100m docker.io/centos/mongodb-36-centos7:1
mongodb-datastore mongodb-datastore 32Mi 50m 128Mi 500m docker.io/keptn/mongodb-datastore:0.8.2
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.2
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.2
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.2
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.2
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2

Summary (whole cluster):

$ kubectl describe node | grep -A5 "Allocated"
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests    Limits
  --------                   --------    ------
  cpu                        713m (18%)  2250m (57%)
  memory                     680Mi (5%)  2232Mi (18%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests      Limits
  --------                   --------      ------
  cpu                        1079m (27%)   2201m (56%)
  memory                     2795Mi (22%)  2471Mi (19%)
--
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                   Requests      Limits
  --------                   --------      ------
  cpu                        1988m (50%)   5850m (149%)
  memory                     1624Mi (13%)  3076Mi (24%)

Please note: Depending on the setup, the above includes usage for Istio aswell as the Kubernetes control-plane

Name Size
configuration-volume 100Mi
mongodata 5Gi

Resource Limits for openshift-minishift-on-GHA

Pod Container Memory (requested) CPU (requested) Memory (limit) CPU (limit) Images
api-gateway-nginx api-gateway-nginx 64Mi 50m 128Mi 250m docker.io/nginxinc/nginx-unprivileged:1.19.4-alpine
api-service api-service 64Mi 50m 256Mi 500m docker.io/keptn/api:0.8.2
api-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
approval-service approval-service 32Mi 50m 128Mi 500m docker.io/keptn/approval-service:0.8.2
approval-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
bridge bridge 64Mi 50m 128Mi 500m docker.io/keptn/bridge2:0.8.2
configuration-service configuration-service 64Mi 50m 128Mi 500m docker.io/keptn/configuration-service:0.8.2
lighthouse-service lighthouse-service 128Mi 50m 1Gi 500m docker.io/keptn/lighthouse-service:0.8.2
lighthouse-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
mongodb mongodb 64Mi 50m 300Mi 100m docker.io/centos/mongodb-36-centos7:1
mongodb-datastore mongodb-datastore 32Mi 50m 128Mi 500m docker.io/keptn/mongodb-datastore:0.8.2
mongodb-datastore distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
remediation-service remediation-service 64Mi 50m 1Gi 500m docker.io/keptn/remediation-service:0.8.2
remediation-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
secret-service secret-service 32Mi 50m 128Mi 500m docker.io/keptn/secret-service:0.8.2
shipyard-controller shipyard-controller 32Mi 50m 128Mi 500m docker.io/keptn/shipyard-controller:0.8.2
shipyard-controller distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2
statistics-service statistics-service 32Mi 50m 128Mi 500m docker.io/keptn/statistics-service:0.8.2
statistics-service distributor 16Mi 25m 32Mi 250m docker.io/keptn/distributor:0.8.2

Summary (whole cluster):

$ kubectl describe node | grep -A5 "Allocated"
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests      Limits
  --------           --------      ------
  cpu                1075m (53%)   7100m (355%)
  memory             1396Mi (20%)  3852Mi (56%)

Please note: Depending on the setup, the above includes usage for Istio aswell as the Kubernetes control-plane

Name Size
configuration-volume 100Mi
mongodata 5Gi

Don't miss a new keptn release

NewReleases is sending notifications on new releases.