Keptn v0.9.0

What’s new in Keptn v0.9.0?

by | 16.09.2021 | Changelog

Keptn recently came out with its new big update with the release of version 0.9.0. We will see what this update contains in this article, along with all of the new features, bug fixes, enhancements and all.

Let’s start!

What is Keptn?

Keptn is simply an event-based control plane for continuous delivery and automated operations for cloud-native applications.

Key Announcements of the Release

We will take a look at all of the key announcements of the new release.

Advanced Sequences Handling

With this new release, Keptn core will now provide new capabilities for handling a task sequence execution. One of the capabilities will be controls for sequence executions where the devs have implemented Controls for pausing, resuming, and aborting a task sequence. We can use these controls either by the CLI or directly in the Bridge.

Another capability is having smart defaults for sequence executions. Through this capability, Keptn automatically terminates a sequence execution when no Keptn-service acts upon a triggered task. Also, it queues a delivery or remediation sequence if there is currently one running for service in the same stage.

Improved UX in Keptn Bridge

With version 0.9.0, creating or deleting a Keptn project is now possible via the Bridge. Additionally, the devs have added cross-linking elements to components for optimizing user flows.

Hardening of Keptn Core/Bridge

The devs have conducted hardening of Keptn core components concerning resource optimization and enhancing readiness probes. This update also performed refactoring in the Bridge to deal with custom sequences and tasks reliably.

Apple M1 Support

For all Apple users, the Keptn CLI is now ready for the new Apple M1.

Container Registries

With version 0.9.0, Release images are now also on quay.io and ghcr.io.

New Features

With the release of version 0.9.0, we see the introduction of Platform Support/Installer. We can also see a reduction of K8s resource limits/requests of Keptn core services. Furthermore, we also see the Host Keptn Release Docker Images on multiple container registries/repositories. Enhancement in the readiness probes of Keptn core services gets an introduction with this release. The release also created a list of dependencies of Keptn Core. We can also see the migration of old sequences to the materialized view.

We see a couple of fixes in the feature section with this release too. Installing/Upgrading Keptn in an air-gapped environment now will work for configuration-service and nats. It also fixed the Bridge LOOK_AND_FEEL_URL that was missing in the Keptn installer Helm Chart.

API

Keptn will now describe From and To on GET /api/statistics/v1endpoint. Also, the devs have added parameter keptnContext for /sequence endpoint. The release also extends Uniform to support subscription management. Version 0.9.0 also brings the removal of the /config/bridge/endpoint. This release also gives an introduction of rate limitation on /authendpoint. As of now, 429 responses contain information on whether the token was valid or not.

CLI

In the case of CLI, we can see the Support of macOS M1/Apple Silicon Build. Also, we can see the introduction of commands for pausing/resuming/aborting task sequences. Also, we can see the adaptation of output for configuring bridge command.

Keptn Core

Keptn Core provides two services, and both of them got some changes thanks to version 0.9.0. In secret service, Keptn will now provide default scope when creating secrets. In the approval service, the devs have excluded open approvals from task timeout. Also, the approval service will automatically approve if it is the first task in a sequence.

Distributor

The new release will allow setting environment details sent by the distributor.

Helm-service & Jmeter-service

With the latest update, we can see the Cleanup of README.md and Manifests for Jmeter-service/Helm-service. Jmeter-service/Helm-service will not be missing timestamp in the tag from now on. Installing JMeter-service/Helm-service from a registry with a non-default port will work from now on.

Lighthouse-service

The release brings the removal of the override of evaluation results using previous test results.

Remediation-service

The update improves error messages for remediation services.

Shipyard-controller

The new release will help the handling of sequences sequentially per stage. It will now help in the termination of orphaned tasks. We can see a fixing of the errors when using an image object for a configuration change. There will not be any panic with out of range errors. It will also not crash when receiving an event for a non-existent project. Also, there will be no race condition in the sequence state.

Enhancements

There are a lot of enhancements to this new release. We can see now that Keptn will provide a warning if we lose the data in project creation. It will also add weight to the SLI breakdown. Again, we will see prevention of tile expansion when there is no content. We can see the cropping of text inside “View Evaluation”. Version 0.9.0 will now indicate errors happening in integrations. Keptn will now show service name at sequence tile and show action name and description for remediation action. The new release brings the renaming of Error logs to Error events. We can now see the deleting of the project via Bridge. Also, the release will show recent task sequences on the project level. Again, we can see the creation of the project with the shipyard. There will be a show of the waiting status of successive sequence executions. We can see an improved layout of configuring the Git upstream repository. The update will also show alt text/tooltip for icon buttons. There will be a display of comparison value and absolute/relative delta of SLI.

With this release, the environment screen will always have scrollbars when having more than two stages. We can also see the Collapsevaluation heatmap to the top 10. The new version will show the Keptn create service when we use Bridge for quality gates only use case. We can see better UX to show the current selection of sequence. With the update, the project will not reflect the current status after creating a service. There will also be an addition of the X-Frame-Options header to Bridge responses. Also, the release of version 0.9.0 will show all the subscriptions of integrations. We can now see the Adding/Deleting/Updating of the subscription. There will be the addition of a service name for running sequences on the stage tile. Also, we see the introduction of settings navigation. Version 0.9.0 will also show control for pausing/resuming/aborting task sequences.

Refactoring

We can see several refactorings with this new release. Firstly, we can see the addition of null-check to tsconfig. Also, we can see the updating of the Bridge server to TS and ESM. We can see the refactoring of Angular router usage and observables inside of router parameter subscription. Finally, we can also see the migration of the testing framework to Jest.

Fixes

A whole lot of fixes came with version 0.9.0. For OAuth, we can see the fixing of regenerating the session cookie after login. In Service Screen, Keptn context in URI will now update correctly. There will be no JavaScript error that causes the sequence screen to be blank. For the environment screen, we can see the fixing of non-loading of the sequences of services and also, there will be no JavaScript error from now on, which causes the breaking of the environment screen. In the integration screen, we can see the updating of the URL for API calls. There will be no hiding of the evaluation results chart after a page refresh. The update message now will print all possible upgradable versions. We will also see an updating of the settings when there is a change of project. There will be a redirection to the dashboard if there is a deletion of the project. Also, the environment will now always show the correct information.

We can see the reporting of the project on the evaluation page. There will also be a showing of error if there is a failing of setting upstream. Bridge maps will not deploy events to the wrong stage in case of multiple parallel stages with approval. We will not see any wrong stage focused on the deployment selection of a service from now on. Also, we will see the SLI results in the heatmap if there is a collapse of the chart. There will be no loss of selected deployment if there is an update of a project. Again, we will see a reset of the selected service on project change. The Bridge will now throw any JavaScript errors. It will show the approval option until refresh. Finally, we can see the fix in the reading property of undefined ‘score’.

Development Process/Testing

We can see a lot of changes in the development process and testing. Keptn will mark the test as fail if delivery fails. We can see the actors noting down and jotting down for the integration test report of any such schedule. For go-utils/kubernetes-utils, we can see the addition of go get and go mod tidy to auto-upgrade PR. We can also see the unification of Go versions in the CI workflow. We can also see the fixing of random error messages in the integration test workflow. With version 0.9.0, we can see the creation of a GH-action bot-user for the Keptn organization and an Auto-PR for Keptn Spec and Keptn Docs. Again, we see the creation of a draft release on triggered release workflow for keptn/go-utils and a PR that updates the specification subfolder in keptn/keptn when there will be a new Keptn spec. We can also see the activation of Snyk protection. Finally, we can also see the unification of automated PRs to have the pipeline logic in the target repo.

Conclusion

Throughout the article, we have discussed all of the new features and other changes that version 0.9.0 brings to the ecosystem of Keptn. The update is huge in terms of content, and it brings Keptn better to the users. I know you guys also want to check Keptn out, and you can do that by clicking here. Get your hands dirty with Keptn, and I will see you in the next one.

You can read more of our articles below. Happy learning.

CommunityNew

The DevOps Awareness Program

Subscribe to the newsletter

Join 100+ cloud native ethusiasts

#wearep3r

Join the community Slack

Discuss all things Kubernetes, DevOps and Cloud Native

Related articles6

What’s new in Kuma v1.3.0?

What’s new in Kuma v1.3.0?

Kuma recently came with their new version of 1.3.0. It has come up with several bug fixes and new features with this update. In this article, we will see those fixes and new features which will make users have a great experience with the product. Buck up, and let’s...

What’s new in Istio v1.11.3?

What’s new in Istio v1.11.3?

Istio came with its new version recently. It is a minor release, but it contains some significant changes and fixes. In this article, we will have a detailed look at what version 1.11.3 brings to the table. So, without wasting any time. Let's start! What is Istio?...

What’s new in Traefik v2.5.3?

What’s new in Traefik v2.5.3?

Traefik came with a new version of 2.5.3. This version mainly focuses on bug fixing and adding documents. This article will cover all of those entirely. It is not a big update, so this article will be short and crisp. Buckle up for a ride. Let's start! What is...

What’s new in Prometheus v2.30?

What’s new in Prometheus v2.30?

Prometheus v2.30 was released a few days ago, and it is an exciting update. This update is not very inclined on adding new features to the ecosystem, but it brings several enhancements to configurability and resource usage efficiency. It also brings several bug fixes....

What’s new in Python-Tuf v0.18.0?

What’s new in Python-Tuf v0.18.0?

Python-Tuf v0.18.0 recently came, and it is quite a big update with major and minor changes. We will go through all of those changes, additions, fixes and removals in this document. Without further a due, let's start! What is Python-Tuf? The Update Framework (TUF) or...

What’s new in Envoyproxy v1.19.1?

What’s new in Envoyproxy v1.19.1?

Envoyproxy came with its new version a few days ago. Version 1.19.1 comes with very few updates. It provides a few minor behavioural changes and a few bug fixes to make the user experience smoother. In this article, we will cover all of the new changes. Let's start!...