Release Notes 0.15.0 (2022-05-06)
Keptn 0.15.0 improves the upgrade capabilities of Keptn to achieve zero-downtime upgrades and enhances the trigger a sequence functionality in the Bridge.
Key announcements:
🎉 Improved upgrade capabilities: Keptn introduces the cp-connector
library, which will replace the Distributor in all Keptn core services to ensure reliable event distribution. Besides, upgrade strategies of core components were adjusted.
⭐ Git repository provisioning: Since Keptn will require an upstream in future versions, a new Git Provisioning API is introduced. This provides an extension point to automatically provision Git repositories on demand when creating new projects. For further information, please refer to the documentation.
💨 Improved sequence trigger: Community feedback on triggering a sequence via Bridge has been incorporated.
🔒 Deny list for Webhooks: Keptn administrators can provide a deny list for Webhook URLs via a ConfigMap
, please check out the documentation.
✨ SLI provider support: Finally, the Keptn CLI supports Datadog as a provider of Service Level Indicators (SLIs).
Keptn Enhancement Proposals
This release focuses on the KEP: KEP 48.
Keptn Specification
Implemented Keptn spec version: 0.2.4
⚠ BREAKING CHANGES
- cli: Removed
send event new-artifact
command - cli: Removed
--tag
option from trigger delivery command - Update go-utils to a version without GitCommit in the finished events
Features
- Add
datadog
flag tokeptn configure monitoring
(#7285) (bfcb352) - bridge: Configure Git upstream via SSH/HTTPS (#7330) (0aaeded)
- bridge: Consider real waiting state for sequences (#7399) (f8a5bf0)
- bridge: Create styled loading indicator component (3c91f7d), closes #5568
- bridge: Custom sequence depends on selected stage (#7463) (577b8f1)
- bridge: Format trigger sequence date with
YYYY-MM-DD HH:mm:ss
(#7522) (096c7a1) - bridge: OAUTH error handling polished (#7397) (0b89a37)
- bridge: Open project in new tab (#7629) (ba102d5)
- bridge: Show service and time stamp on sequence details page (#7283) (d03ab0c)
- bridge: Stop event propergation when clicking on external link (#7632) (e93ba8b)
- bridge: Unify loading indicators (#5568) (#7527) (b90ac83)
- Configure terminationGracePeriod, preStop hooks and upgrade strategy for core deployments (#7466) (44dbbe1)
- cp-connector: Added
FixedSubscriptionSource
(#7528) (1bfaa27) - cp-connector: Forward subscription id to event receiver (#7655) (b88db17)
- Initial implementation of
cp-connector
library (#7418) (367e859) - installer: Add option to define nodeSelector globally or per service (#7336) (8b257fa)
- installer: Create separate helm chart for commonly used functionality (#7568) (8c93343)
- Introducing ZeroDowntime tests (#7479) (71d2c94)
- secret-service: Provide HTTP 400 when scope is not found (#7325) (8cf10b6)
- shipyard-controller: Introduce automatic provisioning of gitRemoteURI (#7276) (59778e0)
- shipyard-controller: Stop pulling messages after receiving sigterm (#7464) (f04874a)
- shipyard-controller: Store sequence executions in new format without potential dots (.) in property names (#7605) (1bc93f3)
- webhook-service: Implement
v1beta1
webhook config version (#7329) (56c082f) - webhook-service: Introduce
keptn-webhook-config
ConfigMap with denyList (#7548) (b392dc0)
Bug Fixes
- Better error message for jmeter-service (#7377) (f689877)
- Resource-service clean-up (#7427) (0e75970)
- Add support for ingress class name (#7324) (2fe45a8)
- Added default user string (#7430) (3b8f1ca)
- Added missing UpdateProject parameters (#7362) (ae5b81c)
- Added validation of uniform subscriptions (#7366) (c9670c7)
- api: Allow to enable/disable rate limit (#7534) (b36816c)
- api: Metadata model update (#7349) (f93c920)
- bridge: Copy to clipboard button rendering (#7571) (f2f236f)
- bridge: Do not send a start date for evaluation if none is given by the user (43f053c)
- bridge: Fix update of git upstream without a user (#7519) (4a05795)
- bridge: Fixed incorrect selected stage in sequence timeline (#7394) (558e491)
- bridge: Pretty-print request errors (#7652) (5b395b9)
- bridge: Render html in notifications (#7523) (5ae2853)
- bridge: Show remediation sequence in default color while running (#7300) (6cf6f6b)
- bridge: Subscription filter now correctly updates on delete/create service (#7480) (fc7d3b4)
- Changed help messages in labels (#7491) (0a2ca97)
- cli: Cleaned up Oauth command (#7307) (c4c9cd1)
- cli: Provide values needed for upgrading the nats dependency (#7316) (#7321) (8962936)
- cli: Remove --tag option from trigger delivery command, remove deprecated new-artifact command (#7376) (787f08b)
- Disconnect MongoDB client before reconnecting (#7416) (a90d39c)
- distributor: Parsing of URLforces scheme to http or https (#7641) (9240659)
- Do not require git user being set when updating project upstream credentials (#7533) (ccbf2f1)
- installer: Custom readiness probe for MongoDB to fix default one (#7663) (0c8b879)
- installer: Quote value of MAX_AUTH_ENABLED (#7549) (b3a4cb9)
- installer: Revert configuration-service back to update strategy recreate (#7650) (c4ab18d)
- jmeter-service: Avoid nil pointer access when logging results (#7391) (c981022)
- Rename GitProxyInsecure to InsecureSkpTLS and pass it to upstream interactions (#7410) (07d2ad9)
- resource-service: Fixed unit test (#7443) (8f6dbb5)
- shipyard-controller: Added option to configure maximum service name length, adapted returned http status code (#7445) (26bc02a)
- shipyard-controller: Fix order of merging properties for event payload (#7631) (#7651) (640b80e)
- shipyard-controller: Proceed with service deletion if the service is not present on the configuration service anymore (#7461) (6ee9f48)
- URL-provisioning test should wait for pod restart (#7411) (966a549)
Refactoring
Other
- Add @renepanzar as member (#7612) (a99e889)
- cli: Polish upgrade message when no upstream is present (#7310) (bdda191)
- installer: Upgrade MongoDB to v11 (#7444) (9346d41)
- Make filter a mandatory field in mongo datastore get event by type (#7355) (117f904)
- Updated go-utils to version removing gitcommit from finished events (#7320) (c241059)
Docs
- Add conventions for logging and env var naming (#7611) (90f8536)
- cli: Add missing/remove unsupported commands from README (#7544) (bea81f1)
- distributor: Fixed broken link to cloud events docs (#7441) (5ee6f28)
- Fix hyperlink to references to docs folder (#7327) (5d8b4eb)
Kubernetes Resource Data
Resource Stats
Name | Container Name | CPU Request | CPU Limit | RAM Request | RAM Limit | Image |
---|---|---|---|---|---|---|
keptn-mongo | mongodb | null | null | null | null | docker.io/bitnami/mongodb:4.4.13-debian-10-r52 |
api-gateway-nginx | api-gateway-nginx | 50m | 100m | 64Mi | 128Mi | docker.io/nginxinc/nginx-unprivileged:1.21.6-alpine |
api-service | api-service | 50m | 100m | 32Mi | 64Mi | docker.io/keptn/api:0.15.0 |
api-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
approval-service | approval-service | 25m | 100m | 32Mi | 128Mi | docker.io/keptn/approval-service:0.15.0 |
approval-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
configuration-service | configuration-service | 25m | 100m | 32Mi | 64Mi | docker.io/keptn/configuration-service:0.15.0 |
remediation-service | remediation-service | 50m | 200m | 64Mi | 1Gi | docker.io/keptn/remediation-service:0.15.0 |
remediation-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
bridge | bridge | 25m | 200m | 64Mi | 256Mi | docker.io/keptn/bridge2:0.15.0 |
mongodb-datastore | mongodb-datastore | 50m | 300m | 32Mi | 512Mi | docker.io/keptn/mongodb-datastore:0.15.0 |
mongodb-datastore | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
lighthouse-service | lighthouse-service | 50m | 200m | 128Mi | 1Gi | docker.io/keptn/lighthouse-service:0.15.0 |
lighthouse-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
secret-service | secret-service | 25m | 200m | 32Mi | 64Mi | docker.io/keptn/secret-service:0.15.0 |
shipyard-controller | shipyard-controller | 50m | 100m | 32Mi | 128Mi | docker.io/keptn/shipyard-controller:0.15.0 |
statistics-service | statistics-service | 25m | 100m | 32Mi | 64Mi | docker.io/keptn/statistics-service:0.15.0 |
statistics-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
webhook-service | webhook-service | 25m | 100m | 32Mi | 64Mi | docker.io/keptn/webhook-service:0.15.0 |
webhook-service | distributor | 25m | 100m | 16Mi | 32Mi | docker.io/keptn/distributor:0.15.0 |
keptn-nats | nats | null | null | null | null | nats:2.7.3-alpine |
keptn-nats | metrics | null | null | null | null | natsio/prometheus-nats-exporter:0.9.1 |