Keptn 0.15.0

Release Notes 0.15.0

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 to keptn 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 propagation 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

  • bridge: Move static server pages to angular client (#7369) (0ff21f3)

Other

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