Release Notes 0.10.0
Keptn 0.10.0 provides a native way for integrating your tooling by just calling their Webhooks. This is a great enabler for various delivery and operational use cases that can be implemented without writing custom code.
Two steps and your tool is connect: (1) Definition of task that works as trigger followed by (2) the definition of HTTP request endpoint and payload for the Webhook.
Key announcements:
🎉 Seamless integration of DevOps landscape using Webhooks: This release is a major step towards the seamless integration of DevOps tooling for your continuous delivery or operational use cases. Therefore, Keptn 0.10 ships a webhook-service with Keptn core that allows the call of external tools using HTTP. To customize this HTTP request, the Bridge provides the corresponding interface and the secret management has been extended in this regard.
⭐ Create/Delete a service via Bridge
SDK (Experimental)
Keptn Enhancement Proposals
This release implements the KEPs: KEP 61 and parts of KEP 48, KEP 53, and KEP 54
Keptn Specification
Implemented Keptn spec version: 0.2.3
New Features
Keptn Core
-
configuration-service:
- Deprecated: GET default resources endpoints:
/project/{projectName}/service/{serviceName}/resource
#5443 - Make sure upstream changes are pulled when updating upstream creds (#5149) #5224
- Implemented endpoints for deleting service and stage resources (#5136) #5145
- Handle error and use dedicated HTTP error code when failing to update project due to wrong token #5438
- Fall back to previous git credentials when updating upstream fails (#5064) #5171
- Deprecated: GET default resources endpoints:
-
distributor:
- Ensure that the subscriptionId is passed to the event (#5405) #5412
- Pass along subscriptionId to service implementation #5374
- Exclusive message processing for multiple distributors (#4689) #5249
- Only interpret events with status=errored as error logs (#5170) #5186
- Fixed: Leaking go routines in forwarder.go #5404
- Fixed: Fails when having no initial PubSub topic defined #5230
-
helm-service:
- Customize Helm Chart image pull registry & pull secrets #4984
-
jmeter-service:
- Prevent failure if deploymentURIs does not end with a '/' #3612
-
lighthouse-service:
-
mongodb-datastore:
- Added dedicated GET endpoint for readiness probe #5499
- Provide option to connect to external MongoDB (#5369) #5385
- Increase memory limits for mongodb-datastore and mongodb (#5196) #5197
- Correct log level for storing root events #5075
- Fixed: mongodb-datastore resource requests and limits for skaffold setup #5202
-
remediation-service:
- Adapt to recent changes in go SDK #5464
-
shipyard-controller:
- Reduce log noise for sequence watcher component #5458
- Remove log noise in sequence migrator #5096
- More robust handling of multiple
.started
/.finished
events for the same task at the same time #5440 - Adapted sequence state representation when sequence can not be started (#5137) #5194
- Return proper error message in case project is not available (#4399) #5231
- Return error if a sequence for an unavailable stage is triggered (#4791) #5069
- Adapted log output when no queued sequence is found (#5138) #5167
- Adapted HTTP status codes of GET /event endpoint (#5132) #5134
- Avoid endless loop (#5096) #5124
- Fixed: Dependency incompatibilities (#5078) #5127
-
secret-service:
-
webhook-service:
Bridge
-
Enhancements:
- Initial integration tests #5360
- Make session cookie timeout configurable and set default value to 60 minutes #5455
- Align the way how sequence states are displayed (#5150) #5376
- Evaluation board only updates if there are new evaluations #5396
- Create secret with scope selection (#5269) #5388
- Set latest sequence depending on the latest event #5148
- Include time zone for
trigger evaluation
command #5398 - Handle incorrect remediation sequences #5383
- Remove HeatMap selection if deployment-sequence does not have an evaluation #4636
- Show a gray thick border when a running sequence is selected #5141
- Configure webhook-service in Bridge #4750
- Load sequence with more than 100 events correctly (#5056) #5308
- Show proper error messages if not OAuth is configured and prevent login loop #5086
- Grouping sequence after pause (#5154) #5275
- Show list of files and link to git repo per stage for a service (#4506) #5193
- Set empty array when open remediations are not a sequence #5217
- Delete a service #4380
- Create a service #4500
-
Refactoring:
-
Fixes:
- 'Show SLO' button disappeared after loading evaluation results #5393
- Project settings page styles(#5382) #5444
- Task retrieval if shipyard does not contain any sequences #5409
- Shipyard file selection, if the same file was chosen again #5380
- Redirect to login page if OAuth is configured #5370
- Fixed missing update on sequence screen #5085
- Fixed error if sequence was not found #5172
- Project delete dialog was not closed #5091
- Polling of a project did not stop #5094
- Faded-out integrations were not excluded from unread-error-event check #5118
- Redirect to service or sequence did not work on dashboard #5126
- Project delete dialog was not closed #5091
- Faded-out integrations where not excluded from unread-error-event check #5118
Platform Support / Installer
- Temporarily revert customization of repository string in chart [#5414](https://github.com//issues/5414) - Add option for Ingress to control-plane Helm Chart Keptn installer [#5066](https://github.com//issues/5066) - Fix bug where OpenShift route service go-utils were not upgraded during auto upgrade
CLI
- Added zones to times format according to (ISO8601) [#4788](https://github.com//issues/4788) - Check if kubectl context matches Keptn CLI context before applying upgrade (#4583) [#5250](https://github.com//issues/5250) - Skip version check on install [#5046](https://github.com//issues/5046)
API
- Try to use X-real-ip and X-forwarded-for headers [#5082](https://github.com//issues/5082) - Fixed broken go-sum in go-sdk module [#5463](https://github.com//issues/5463) - Option to disable automatic event response in SDK (#5368) [#5453](https://github.com//issues/5453)
Development Process / Testing
- Fixed paths in commit messages #5451
- Fixed integration tests #5390
- Added retry mechanism for creating projects in integration tests (#5241) #5253
- Updated go-dependencies in integration tests (#5200) #5205
- Add disclamer to avoid security vulnerabilities to be reported reported as bugs #5169
- Update Maintainers file #5314
Good to know / Known Limitations
Upgrade to 0.10.0
- The upgrade from 0.9.x to 0.10.0 is supported by the
keptn upgrade
command. Find the documentation here: Upgrade from Keptn 0.9.x to 0.10.0