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.
What is Keptn?
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.
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.
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.
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 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.
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.
The release brings the removal of the override of evaluation results using previous test results.
The update improves error messages for remediation services.
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.
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.
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.
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.
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.