Keptn 0.16.0

Release Notes 0.16.0

Keptn 0.16.0 provides the ability to upgrade your Keptn installation without any downtime. For this, Keptn requires each project to have an upstream Git repository. Make sure to check the upgrade instructions to ensure that you do not lose any data.


Key announcements:

🎉 Zero downtime upgrades: Operators can upgrade Keptn without downtime.

⭐ Performance gains in backend and frontend: Performance implications when working with resource files have been resolved due to a new backend service. In addition, the Keptn Bridge received performance improvements by an adapted polling behavior.

✨ (experimental) New heatmap for SLI breakdown: Keptn Bridge is leveraging a new rendering library that offers more flexibility for displaying the SLI breakdown. If you want to try it out, you can enable it by setting the Helm value control-plane.bridge.d3heatmap.enabled to true.

ℹī¸ From Keptn 0.17, the CLI will remove the install/uninstall/upgrade commands. Please refer to our documentation to see how you can use helm to operate Keptn.


0.16.0 (2022-06-07)

⚠ BREAKING CHANGES

  • The resource-service replaces the old configuration-service. The new service always requires a Git upstream to be configured for a Keptn project. The new service will bring many advantages, such as faster response times and the possibility to upgrade Keptn without any downtime.
  • From Keptn 0.17, the CLI will remove the install/uninstall/upgrade commands. Please refer to our documentation to see how you can use helm to operate Keptn.

Features

  • Add ability to customize client_max_body_size in the nginx gateway (#7727) (d27033b)
  • api: Send events directly to nats instead via distributor (#7672) (58f9615)
  • approval-service: Consider nats connection in readiness probe (#7723) (d170354)
  • approval-service: Run approval-service without distributor sideCar (#7689) (bceaf4b)
  • bridge: Automatic provisioning url makes git form optional and ap message can be set and displayed (60bd257)
  • bridge: Implement heatmap with d3 (#7658) (84dc4a0)
  • bridge: Introduce Module (ktb-notification) (#7897) (a87254a)
  • bridge: Make filters in sequence view stable across page refresh (#7526) (0b18e45)
  • bridge: Remove millis and micros from evaluation time frame (#7774) (15b4735)
  • bridge: Remove polling for evaluation history in environment screen (#7851) (71874bd)
  • bridge: Remove polling for services in settings screen (#7853) (b99032c)
  • bridge: Remove tag input field for creating a sequence (#7757) (2e16548)
  • bridge: Removes projects polling on dashboard #7796 (#7812) (7a71e05)
  • bridge: Trigger sequence - Remove polling for custom sequences (#7813) (138a773)
  • bridge: Use ktb-heatmap component (#7816) (5bca4bd)
  • Change default values of preStop hook time and grace period (#7682) (a31023b)
  • cp-connector: Ensure mandatory CloudEvent attributes are set (#7744) (becb01f)
  • cp-connector: Introduce log forwarding to cp-connector library (#7713) (c36faf0)
  • cp-connector: Make sure event timestamp is always set (#7743) (6473142)
  • Enable Resource-Service by default (#7826) (73d264b)
  • lighthouse-service: Adapt readiness probe of lighthouse service to consider nats subscription (#7735) (51837d7)
  • lighthouse-service: Run lighthouse-service without distributor sidecar (#7691) (b2ad6ad)
  • mongodb-datastore: Use cp-connector library (#7685) (defee50)
  • Refactor go-sdk to use cp-connector internally (#7686) (1712149)
  • resource-service: Removed NATS (#7694) (fa48649)

Bug Fixes

  • Added retry to url provisioning integration test (#7815) (93095eb)
  • approval-service: Use deployment name for registration name to fix queue group functionality (#7718) (42cf370)
  • bridge: Add missing update project notification (#7770) (4bdaa71)
  • bridge: Allow Webhook configuration URL to be a secret (#7728) (0372484)
  • bridge: Duplicate headline in project settings page (#7988) (1645230)
  • bridge: Fix D3 heatmap selection (#7842) (c15740a)
  • bridge: Fix flickering of filter in sequence view (#8009) (3e6ec42)
  • bridge: Fix logout not being visible if metadata is not returned (#7794) (1c2b196)
  • bridge: Fixed D3 heatmap issues (#7833) (3e697bf)
  • bridge: Fixed missing ‘View service details’ button (#7806) (41cb52d)
  • bridge: Fixed triggering of validation on token reset (#7766) (85dc15b)
  • cli: Remove unnecessary --sequence flag from keptn trigger sequence (#7902) (b252b6d)
  • Correctly match nginx location for Bridge (#7729) (dd236ef)
  • cp-connector: Added missing Register() method to FixedSubscriptionSource (#7731) (fe5b978)
  • cp-connector: fix passing deduplicated subjects to nats subscriber (#7782) (39124e1)
  • cp-connector: Flaky unit test (#7976) (be9cafb)
  • cp-connector: Subscribe to integrations before creating a job (#7952) (ccc4f26)
  • cp-connector: Unsubscribe instead of disconnect from nats on cancel (#7795) (8854339)
  • Disallow calls to SendEvent or GetMetaData when used via InternalAPISet (#7939) (d683005)
  • Ensure that all mongodb cursors are being closed after use (#7909) (01c0a9d)
  • Fixed zd test to run without UI tests (#7908) (bd8fb20)
  • go-sdk: Return from event handler when wg for graceful shutdown cannot be retrieved from context (#7810) (2c2ed2c)
  • go-sdk: Use the correct env var for setting the integration version (#7930) (cd130b7)
  • installer: Adapt preStop hook times for lighthouse, statistics and webhook (#7947) (3e9f9b5)
  • installer: Add resource service to airgapped installer script (#7869) (2196c11)
  • installer: Configure default preStopHook and grafefulPeriods timeouts (#7926) (7a6489c)
  • installer: Fix airgapped setup not finding correct nginx image (#7935) (2ee4bab)
  • installer: Fix wrong regex for log location (#7921) (295099d)
  • installer: Redirect output of preStop hook command to /dev/null (#7837) (117f1fb)
  • installer: Use exec preStop hook for shipyard controller (#7768) (283f72f)
  • lighthouse-service: Ensure sloFileContent property is always a base64 encoded string (#7892) (e19fcfc)
  • Make sure that all events are being processed before shutting down lighthouse/approval service (#7787) (0facb58)
  • mongodb-datastore: Change name of integration to name of service instead of pod name (#7777) (21d2774)
  • mongodb-datastore: Return [] instead of nil from get methods (#7919) (4992bc5)
  • Removed wrong beta11 from webhook integration test (#7861) (08ee81d)
  • Return missing error in test-utils (#7928) (d42af22)
  • secret-service: Deleting a secret does not remove references from related roles (#7789) (56786b8)
  • shipyard-controller: Allow parallel sequence execution if the service is different (#7775) (5f2dc74)
  • shipyard-controller: Avoid lost writes to subscriptions due to concurrent writes (#7960) (1c9b40b)
  • shipyard-controller: Dispatch new sequence directly only if no older sequence is waiting (#7793) (b8bad71)
  • shipyard-controller: Make sure result and status are set if sequence is timed out (#7901) (81858c0)
  • shipyard-controller: Set the sequence execution state back to started when approval task has been finished (#7838) (8444b48)
  • shipyard-controller: Update registration info based on integration name/namespace (#8006) (d277a83)
  • webhook-service: Added denied curl in webhook beta based on host (#7716) (d194367)
  • webhook-service: Added missing webhook-config version check (#7832) (445000a)

Performance

  • bridge: Use adapted sequence endpoint for project endpoint of bridge server (#7696) (5bed56d)

Docs

  • Added zero downtime tests documentation (#7895) (cefdab5)
  • Improve developer API + integration tests docs (#7771) (b6fb2d6)
  • Improve documentation for resource-service (#7765) (0995fda)
  • Update version for installation of Helm and JMeter services (#7700) (788366a)

Other

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.22.0-alpine
api-service api-service 50m 100m 32Mi 64Mi docker.io/keptn/api:0.16.0
approval-service approval-service 25m 100m 32Mi 128Mi docker.io/keptn/approval-service:0.16.0
resource-service resource-service 25m 100m 32Mi 256Mi docker.io/keptn/resource-service:0.16.0
remediation-service remediation-service 50m 200m 64Mi 1Gi docker.io/keptn/remediation-service:0.16.0
bridge bridge 25m 200m 64Mi 256Mi docker.io/keptn/bridge2:0.16.0
mongodb-datastore mongodb-datastore 50m 300m 32Mi 512Mi docker.io/keptn/mongodb-datastore:0.16.0
lighthouse-service lighthouse-service 50m 200m 128Mi 1Gi docker.io/keptn/lighthouse-service:0.16.0
secret-service secret-service 25m 200m 32Mi 64Mi docker.io/keptn/secret-service:0.16.0
shipyard-controller shipyard-controller 50m 100m 32Mi 128Mi docker.io/keptn/shipyard-controller:0.16.0
statistics-service statistics-service 25m 100m 32Mi 64Mi docker.io/keptn/statistics-service:0.16.0
statistics-service distributor 25m 100m 16Mi 32Mi docker.io/keptn/distributor:0.16.0
webhook-service webhook-service 25m 100m 32Mi 64Mi docker.io/keptn/webhook-service:0.16.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