Releases: tektoncd/results
Tekton Results release v0.13.0 "Tekton Results"
-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!
- ❤️ @dependabot[bot]
- ❤️ @khrm
- ❤️ @thomascube
Extra shout-out for awesome release notes:
- 😍 @khrm
- 😍 @thomascube
Tekton Results release v0.12.2 "Tekton Results"
-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!
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @khrm
Tekton Results release v0.12.1 "Tekton Results"
-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!
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @khrm
Tekton Results release v0.12.0 "Tekton Results"
-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!
- ❤️ @dependabot[bot]
- ❤️ @khrm
- ❤️ @pawelkopka
Extra shout-out for awesome release notes:
- 😍 @khrm
Tekton Results release v0.11.0 "Tekton Results"
-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:
- dynamic_reconcile_timeout: How long the Watcher waits for the dynamic reconciler to complete before it aborts
- 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!
- ❤️ @enarha
- ❤️ @gabemontero
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @enarha
- 😍 @gabemontero
- 😍 @khrm
Tekton Results release v0.10.0 "Tekton Results"
-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!
- ❤️ @cmorinupgrade
- ❤️ @dependabot[bot]
- ❤️ @gabemontero
- ❤️ @khrm
- ❤️ @sayan-biswas
- ❤️ @stuartwdouglas
Extra shout-out for awesome release notes:
- 😍 @cmorinupgrade
- 😍 @gabemontero
- 😍 @khrm
Tekton Results release v0.9.2 "Tekton Results"
-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!
- ❤️ @khrm
- ❤️ @ramessesii2
Extra shout-out for awesome release notes:
- 😍 @khrm
Tekton Results release v0.9.1 "Tekton Results"
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!
- ❤️ @gabemontero
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @gabemontero
- ❤️ @khrm
Tekton Results release v0.9.0 "Tekton Results"
-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!
- ❤️ @avinal
- ❤️ @dependabot[bot]
- ❤️ @drGrove
- ❤️ @enarha
- ❤️ @freefood89
- ❤️ @khrm
- ❤️ @ramessesii2
- ❤️ @sayan-biswas
- ❤️ @stuartwdouglas
Extra shout-out for awesome release notes:
- 😍 @avinal
- 😍 @drGrove
- 😍 @enarha
- 😍 @khrm
- 😍 @ramessesii2
- 😍 @sayan-biswas
Tekton Results release v0.8.1 "Tekton Results"
-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
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!
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @khrm