Skip to content

Releases: tektoncd/results

Tekton Results release v0.13.0 "Tekton Results"

13 Nov 17:38
a3d212b
Compare
Choose a tag to compare

-Docs @ v0.13.0
-Examples @ v0.13.0

Upgrade Notices

We now support s3 and GCS logs reading for vector.dev forwarded logs in a certain format in addition to Loki.

Breaking Change from v0.11.0

If logging was enabled earlier, we need to pass the environment variable logs_api to the watcher deployment to enable logs streaming by the watcher to API.

Depreciation

Forwarding of logs by watcher would be removed in future releases.

Changes

Features

  • ✨ Provide configurations to store labels and Annotations in summary (#880)

You can provide args to watchers: summary_labels and summary_annotations to store labels/annotations present in the Top Level resource to the Result.Annotation field.
The top Level Resource name is always saved as an object.metadata.name in the annotation.

  • ✨ Add Support for Blob Type (s3 and GCS) (#879)

Added support for reading forwarded logs to s3 and GCS.
If the vector forwards logs to s3 and GCS, these logs can be read using
Go CDK's blob library.
Also, if the Result logging mechanism is changed to the plugin which doesn't use forwarding by watcher, we can read old logs if they exist.

  • ✨ Remove GRPC Proxy for v3 Log Rest API Call (#868)

The Rest API calls don't require translation for plugin Logs API.

  • ✨ Add watcher option logs_timestamps to store taskrun logs with timestamps (#789)

Add watcher option logs_timestamps to store TaskRun logs with timestamps (#671)

Misc

  • 🔨 Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#882)
  • 🔨 Bump github.com/aws/aws-sdk-go-v2/config from 1.27.9 to 1.28.3 (#878)
  • 🔨 Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.51.4 to 1.66.3 (#875)
  • 🔨 Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.5 (#852)
  • 🔨 Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 (#812)

Thanks

Thanks to these contributors who contributed to v0.13.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.12.2 "Tekton Results"

05 Nov 19:44
c613399
Compare
Choose a tag to compare

-Docs @ v0.12.2
-Examples @ v0.12.2

Changes

Features

Fixes

  • 🐛 [release-v0.12.x] Fix Panic in the API server (#872)

  • 🐛 [release-v0.12.x] Add nil Check for Completion time in Finalizer (#860)

  • 🐛 [release-v0.12.x] Storing PipelineRun and TaskRun deletion metadata (#861)

Misc

  • 🔨 [release-v0.12.x] Add Debug Logs for Third Party Logging API (#866)

Docs

Thanks

Thanks to these contributors who contributed to v0.12.2!

Extra shout-out for awesome release notes:

Tekton Results release v0.12.1 "Tekton Results"

26 Sep 16:04
Compare
Choose a tag to compare

-Docs @ v0.12.1
-Examples @ v0.12.1

Upgrade Notices

A new Logging API was introduced in v0.12.0 featuring support for forwarder + Loki.

Breaking Change from v0.11.0

If logging was enabled earlier, we need to pass the environment variable logs_api to the watcher deployment to enable logs streaming by the watcher to API.

Changes

Features

  • ✨ Pass Record name to the v1alpha3 API in tkn-results cli (#819)

User can pass the record name in the below format to v1alpha3 GetLog :
/results//records/

Fixes

  • 🐛 [release-v0.12.x] Add support for configuring custom query params to Logs API (#832)

LOGGING_PLUGIN_QUERY_PARAMS can be used to pass custom queries for third-party Logs API.

  • 🐛 [release-v0.12.x] Provide QueryLimit options for Third Party Logs API (Loki) (#824)

This adds a new config to provide a query limit for Third Party Logging API: LOGGING_PLUGIN_QUERY_LIMIT

Misc

  • 🔨 [release-v0.12.x] Update Release image to go 1.22 (#833)

Docs

Thanks

Thanks to these contributors who contributed to v0.12.1!

Extra shout-out for awesome release notes:

Tekton Results release v0.12.0 "Tekton Results"

15 Sep 19:32
Compare
Choose a tag to compare

-Docs @ v0.12.0
-Examples @ v0.12.0

Upgrade Notices

Breaking Change

If logging was enabled earlier, we need to pass the environment variable logs_api to the watcher deployment to enable logs streaming by the watcher to API.

Changes

Features

  • ✨ Add Global Retention Policy Agent for DB (#784)

Add Result Retention Policy Agent which removes older Result and their associated records.

  • ✨ Add Support for fetching forwarded logs from third party API (#782)

Enables the support for fetching logs from Third Party API. We have enabled the support for Loki for now. Later on, support for other logging stacks like Splunk, Google Cloud Logging, etc can be added.

  • ✨ Add a Converter Job which converts v1beta1 run in db to v1 run (#768)

Converter to convert older records from v1beta1 Tekton object to v1 Tekton object. This is controlled by the following fields in API:
CONVERTER_ENABLE: Whether to start converter or v1beta1 TaskRun/PipelineRun records to v1
CONVERTER_DB_LIMIT: How many records to convert at a time in a transaction |

  • ✨ Add Support for Tekton Pipeline v1 APIs (#762)

Records of TaskRuns and PipelineRuns are as stored as v1 in db instead of v1beta1.
Add support for storing PipelineRun and TaskRun objects as v1.
These CRs are reconciled as the v1 version of Pipelines API and then
stored in DB as v1. Existing v1beta1 resources are kept as it is.

Fixes

  • 🐛 Add finalizer to ensure that Runs are stored (#797)

Added finalizer to TaskRun and PipelineRun to ensure that TaskRun and PipelienRun are stored. This will block deletion until the deadline (Completion + store_deadline) lapses or Runs are stored when done.
This finalizer doesn't block if log streaming from watcher or pruner is enabled.

Misc

  • 🔨 Optimise GetLog API query in v1alpha3 Logs API (#808)
  • 🔨 Fix the Retention Policy Agent Name (#804)
  • 🔨 google.golang.org/grpc from 1.64.1 to 1.66.2 (#806)
  • 🔨 github.com/docker/docker from 26.1.4+incompatible to 26.1.5+incompatible (#785)
  • 🔨 github.com/docker/docker from 26.1.2+incompatible to 26.1.4+incompatible (#781)
  • 🔨 gorm.io/driver/sqlite from 1.5.1 to 1.5.6 (#775)
  • 🔨 google.golang.org/grpc from 1.64.0 to 1.64.1 (#772)

Docs

  • 📖 Change kind Role to ClusterRole for tekton-results-readonly (#780)

Thanks

Thanks to these contributors who contributed to v0.12.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.11.0 "Tekton Results"

08 Jul 08:43
Compare
Choose a tag to compare

-Docs @ v0.11.0
-Examples @ v0.11.0

Changes

Features

  • ✨ Add log stored status explicitly (#760)
  • Added log stored stored status explictly in the Log object improves the detection for partial or no storage of logs
  • ✨ Enable storing of Run Events as Record (#748)

All Events related to taskrun or PipelineRun are stored when we are done with Runs and in a single List.
This can be controlled by a flag passed to the watcher: "store-event". Setting it to false
disables the storing of Events.
The record Name of EventList is stored as results.tekton.dev/eventlist in TaskRun and PipelineRun.

Fixes

  • 🐛 move log storage off reconciler thread (again) (#759)

Prior attempts to fix the watcher memory leak when log storage is enabled (originally issue #695) placed log storage on the dynamic reconciler to facilitate retry on retryable errors. However, production level testing uncovered underlying golang/http2 performance issues which made this untenable.

This change moves log storage back off the dynamic reconciler thread, but still addresses the memory leak, as well as intermittent 'canceled context' errors during log storage through the results api server.

Two new command line arguments are enabled on the watch to facilitate timeouts on log storage:

  1. dynamic_reconcile_timeout: How long the Watcher waits for the dynamic reconciler to complete before it aborts
  2. update_log_timeout: How log the Watcher waits for the UpdateLog operation for storing logs to complete before it aborts.
  • 🐛 do not lose flush error on server side update log (#756)

Misc

  • 🔨 Use latest Kind k8s version, fixes e2e tests (#766)

Thanks

Thanks to these contributors who contributed to v0.11.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.10.0 "Tekton Results"

10 May 16:05
067091e
Compare
Choose a tag to compare

-Docs @ v0.10.0
-Examples @ v0.10.0

Changes

Features

  • ✨ alllow for database connection, grpc worker thread pool, and k8s client level tuning of the watcher and api servers (#744)

The number of idle and max database connections, grpc worker pool goroutines, k8s client qps and burst, in the api server can be now configured using environment variables.
The k8s client qps and burst settings can be set via command line arguments on the watcher
No defaults from prior settings have been changed.

  • ✨ Add profiling to API server (#743)

Fixes

  • 🐛 add timeout to dynamic Reconcile (#725)

Address deadlocked reconciler threads potentially hung while streaming logs

  • 🐛 employ some channel best practices to avoid hanging goroutines (#712)

Fixes around the threading / goroutines employed while storing logs mitigate an observed memory leak

  • 🐛 Don't run auth check for every log fragment (#740)

  • 💀 Update golang.org/x/net to handle CVE GO-2024-2687 (#746)

  • 💀 Bump github.com/cloudevents/sdk-go/v2 from 2.12.0 to 2.15.2 (#724) Patches CVE-2024-28110

Misc

  • 🔨 Bump google.golang.org/protobuf from 1.31.0 to 1.34.1 (#752)
  • 🔨 Update database drivers (#742)
  • 🔨 Bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible (#736)

Docs

  • 📖 fix syntax error with tekton results data model diagram (#708)

docs: Fix mermaid.js diagram for the Results data model

Thanks

Thanks to these contributors who contributed to v0.10.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.9.2 "Tekton Results"

19 Mar 16:40
Compare
Choose a tag to compare

-Docs @ v0.9.2
-Examples @ v0.9.2

Changes

Fixes

  • 🐛 [release-v0.9.x] Support all data types in summary annotations (#723)
    This fixes panic when we pass data types other than a string in summary annotations.
  • 🐛 [release-v0.9.x] Disable Proxy for Rest to GRPC communication (#734)
    This adds support for Disconnected and Proxy environments and fixes probe failure in these environments.
  • 🐛 [release-v0.9.x] fix: prevent panic when a record Summary is not a valid object (#733)

Docs

Thanks

Thanks to these contributors who contributed to v0.9.2!

Extra shout-out for awesome release notes:

Tekton Results release v0.9.1 "Tekton Results"

07 Feb 08:48
Compare
Choose a tag to compare

-Docs @ v0.9.1

Installation one-liner

kubectl apply -f https://storage.googleapis.com/tekton-releases/results/previous/v0.9.1/release.yaml

Changes

Features

Fixes

  • 🐛 [release-v0.9.x] handle all terminal states when processing logs (#701)

Tekton results will now store logs when the supported runs in question are cancelled

Misc

  • 🔨 Add support for No DB release (#705)

This add support for release_base.yaml which doesn't include db.

Thanks

Thanks to these contributors who contributed to v0.9.1!

Extra shout-out for awesome release notes:

Tekton Results release v0.9.0 "Tekton Results"

01 Feb 19:13
Compare
Choose a tag to compare

-Docs @ v0.9.0
-Examples @ v0.9.0

Installation one-liner

kubectl apply -f https://storage.googleapis.com/tekton-releases/results/previous/v0.9.0/release.yaml

Changes

Features

  • ✨ Increase maximum receive size by client to 100 MB (#675)

Maximum size of the response that a client can receive is increased to 100 MB

  • ✨ Add owner references check optional in watcher (#672)

"check_owner" command line flag allows the Owner References check to be optional while deleting resources.

  • ✨ Add support for database SSL verification and encryption (#658)

A new configuration option DB_SSLROOTCERT was added with a default value of empty string. You do not need to set that value, unless you want to enforce TLS connection to your database and use custom CA certificate for it.

  • ✨ Implementation of Summary/Aggregation API in Tekton results (#642)

Added a new api endpoint for fetching summary and aggregation for list of records. Now you can directly get aggreagation data for a given list of records without fetching and processing on the client side.

  • ✨ Feature: Rest log streaming (#632)

action required: The gRPC and REST response for GetLog API changed. Refer to the REST API Specs doc.

Fixes

  • 🐛 Fix deletion when TaskRun is part of PipelineRun (#690)

This change will prevent the controller from directly pruning TaskRuns which are initiated by a PipelineRun. Instead these TaskRuns will be deleted only when the owner PipelineRun is deleted.

  • 🐛 Fix SAR groups and Extra (#635)

Fix authorization check to include the Groups and Extras from the token access review.

  • 🐛 fix subgrouping not working in CEL filters (#627)

Fix subgroups not working in CEL filtering

  • 🐛 Remove Config Values as Env var in API server (#608)

DB_NAME and DB_HOST should be configurable via configmap.

  • 🐛 Fix log forwarding for PipelineRun status Completed (#666)
  • 🐛 Make sure gRPC connection is closed (#625)

Misc

  • 🔨 Drop NET_BIND_SERVICE cap as it isn't necessary (#663)

Drop NET_BIND_SERVICE capability from results deployments.

  • 🔨 Use enviornment variables for watcher cli args (#662)

  • 🔨 improve watcher logs (#626)

  • 🔨 refactor: move tkn-results into the main tree (#592)

action required: tkn-results has been moved into the main tree of tekton results

  • 🔨 Drop NET_BIND_SERVICE cap as it isn't necessary (#663)

Drop NET_BIND_SERVICE capability from results deployments.

  • 🔨 Use enviornment variables for watcher cli args (#662)

  • 🔨 improve watcher logs (#626)

  • 🔨 Remove Config Values as Env var in API server (#608)

DB_NAME and DB_HOST should be configurable via configmap.

  • 🔨 refactor: move tkn-results into the main tree (#592)

action required: tkn-results has been moved into the main tree of tekton results

  • 🔨 Use best practices for namespaces in kustomization (#661)
  • 🔨 Fix documentation typo (#653)
  • 🔨 Replace the interface{} type with the shorter any (#630)
  • 🔨 Bump google.golang.org/api from 0.134.0 to 0.155.0 (#688)
  • 🔨 Bump github.com/containerd/containerd from 1.6.18 to 1.6.26 (#683)
  • 🔨 Use best practices for namespaces in kustomization (#661)
  • 🔨 Bump github.com/docker/docker from 20.10.24+incompatible to 24.0.7+incompatible (#655)
  • 🔨 Update PostgreSQL image used in local-db deployment (#654)
  • 🔨 Fix documentation typo (#653)
  • 🔨 Bump google.golang.org/grpc from 1.57.0 to 1.59.0 (#651)
  • 🔨 fix docs for proto library re-generation (#631)
  • 🔨 Replace the interface{} type with the shorter any (#630)
  • 🔨 Unfreeze the Pipelines version to latest in e2e tests. (#613)
  • 🔨 Bump github.com/aws/aws-sdk-go-v2/credentials from 1.13.32 to 1.13.37 (#600)
  • 🔨 Bump k8s.io/apiserver from 0.25.12 to 0.25.13 (#597)
  • 🔨 Fix release script GCS bucket for the release.yaml (#596)

Docs

  • 📖 updated deprecated field in docs (#679)
  • 📖 add instructions for handling large log files (#588)
  • 📖 update CEL filtering documentation (#566)
  • 📖 Add Release Cheatsheet for Results (#441)

Thanks

Thanks to these contributors who contributed to v0.9.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.8.1 "Tekton Results"

19 Oct 09:26
Compare
Choose a tag to compare

-Docs @ v0.8.1
-Examples @ v0.8.1

Installation one-liner

kubectl apply -f https://storage.googleapis.com/tekton-releases/results/previous/v0.8.1/release.yaml

Changes

Security

  • 🐛 Bump golang.org/x/net from 0.14.0 to 0.17.0 (#639)
  • 🐛 Bump GRPC Go to v1.57.2 (#643)

This addresses CVE-2023-44487 by not allowing more server handlers to be run than the HTTP/2 MAX_CONCURRENT_STREAMS setting.

Thanks

Thanks to these contributors who contributed to v0.8.1!

Extra shout-out for awesome release notes: