Skip to content

Releases: tektoncd/results

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:

Tekton Results release v0.8.0 "Tekton Results"

06 Sep 09:58
Compare
Choose a tag to compare

-Docs @ v0.8.0
-Examples @ v0.8.0

Installation one-liner

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

Changes

Features

  • ✨ [CLI] Add insecure flag to make insecure GRPC TLS call (#577)
    Add --insecure flag to make insecure GRPC TLS calls.

  • ✨ [CLI] Support passing of Service Account to tkn-results (#575)
    The User can pass the flag --sa for serviceaccount name and --sa-ns for serviceaccount namespace. Latter is optional. If not given, then the namespace from the current context is assumed.

  • ✨ Add Support for storing logs to Google Cloud Storage (#552)
    Add Support for storing logs to Google Cloud Storage. Set LogType to "GCS",
    pass GOOGLE_APPLICATION_CREDENTIALS environment variable and attach
    the file in the location pointed by GOOGLE_APPLICATION_CREDENTIALS variable.

  • ✨ add base-only kustomization for minimal install (#529)
    Add base-only config for minimal install are now available

  • ✨ [CLI] tkn-result would port-forward to service/tekton-results-api-service automatically (#520)
    No need to port-forward service/tekton-results-api-service manually. If Results API server address not specified and not disable explicitly, tkn-result will port-forward to service/tekton-results-api-service automatically.

  • ✨ Add delete count and duration metrics for TaskRun and PipelineRun (#517)
    Add delete count and duration metrics for TaskRun and PipelineRun

  • ✨ Add option to enable prometheus histogram (#511)
    ACTION REQUIRED: api: Config option PROMETHEUS_HISTOGRAM added to enable histograms (disabled by default).

  • ✨ [CLI] Add integration support to tkn (#457)
    tkn-results: add annotations so the cli can be run as tkn plugin.

  • ✨ [CLI] Update CLI with Log command (#453)
    Add List and Get command for Logs. Also added Get Record command.

Fixes

  • πŸ› Add E2E test for GCS log storage (#591)
  • πŸ› Fix status 404 for LIST records (#563)
    ACTION REQUIRED: List records will return 200 - OK status and empty array in response when the filter criteria doesn't match any records
  • πŸ› fix NOT operator in CEL filtering (#544)
  • πŸ› Remove TLS hostname override (#536)
    ACTION REQUIRED: Config option, TLS_HOSTNAME_OVERRIDE is removed as the internal gRPC proxy client doesn't need to reverify the TLS.
  • πŸ› [CLI] Fix empty value for commandline flag (#583)
  • πŸ› [CLI] Fix the broken flags (#568)
  • πŸ› Add ClusterRole aggregation for default user-facing roles (#487)
  • πŸ› [CLI] Fix the global flag passing from cli arg (#461)

Misc

  • πŸ”¨ Bump tkn-results to use latest version of results (#550)
  • tkn-results bumped to use v0.7.0 of results
  • tkn-results Go version bumped to go1.19
  • πŸ”¨ Add option to enable prometheus histogram (#511)
    api: Config option PROMETHEUS_HISTOGRAM added to enable histograms (disabled by default).
  • πŸ”¨ add myself as a reviewer (#555)
  • πŸ”¨ Skip TLS certificate verification for e2e (#530)
  • πŸ”¨ Bump k8s version used by Kind and e2e tests (#454)
  • πŸ”¨ Bump k8s.io/client-go from 0.25.12 to 0.25.13 (#594)
  • πŸ”¨ Bump k8s.io/api from 0.25.12 to 0.25.13 (#590)
  • πŸ”¨ Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#589)
  • πŸ”¨ Bump gorm.io/driver/mysql from 1.3.3 to 1.5.1 (#585)
  • πŸ”¨ Bump github.com/mattn/go-sqlite3 from 1.14.16 to 1.14.17 (#581)
  • πŸ”¨ Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.1 to 1.38.5 (#573)
  • πŸ”¨ Bump github.com/google/cel-go from 0.13.0 to 0.17.6 (#572)
  • πŸ”¨ Bump go.uber.org/zap from 1.24.0 to 1.25.0 (#571)
  • πŸ”¨ Bump gorm.io/gorm from 1.25.0 to 1.25.4 (#570)
  • πŸ”¨ Bump github.com/prometheus/client_golang from 1.14.0 to 1.16.0 (#565)
  • πŸ”¨ Bump golang.org/x/net from 0.13.0 to 0.14.0 (#564)
  • πŸ”¨ Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.16.1 to 2.16.2 (#558)
  • πŸ”¨ Bump k8s.io/apiserver from 0.25.4 to 0.25.12 (#557)
  • πŸ”¨ Bump github.com/aws/aws-sdk-go-v2/config from 1.18.29 to 1.18.33 (#553)
  • πŸ”¨ Bump github.com/jonboulle/clockwork from 0.3.0 to 0.4.0 (#546)
  • πŸ”¨ Bump github.com/aws/aws-sdk-go-v2/config from 1.18.17 to 1.18.29 (#540)
  • πŸ”¨ Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.15.2 to 2.16.1 (#538)
  • πŸ”¨ Bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#534)
  • πŸ”¨ Bump google.golang.org/api from 0.108.0 to 0.132.0 (#532)
  • πŸ”¨ Bump github.com/docker/docker from 20.10.22+incompatible to 20.10.24+incompatible (#428)

Docs

  • πŸ“– add installing results with external database docs (#541)

Thanks

Thanks to these contributors who contributed to v0.8.0!

Extra shout-out for awesome release notes:

Tekton Results release v0.7.0

25 Jun 19:58
Compare
Choose a tag to compare

-Docs @ v0.7.0
-Examples @ v0.7.0

Installation one-liner

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

Changes

Features

  • ✨ Add health probes to API server (#485)
    Add healthz endpoint to enable liveness, readiness, and startup probes for the api-server deployment. Default configuration uses HTTP, but gRPC can also be used.
    Poll up to two minutes when establishing the database connection.

  • ✨ Implement CEL to SQL interpreter to enhance searches (#404)
    Enhance search capabilities by implementing an engine to convert CEL expressions to SQL equivalent filters.
    This feature makes list operations more powerful and effective, mostly in larger platforms with millions of Results and Records stored in the API server. Now, list operations leverage the database capabilities for querying Results and Records by translating CEL filters to thee Postgres SQL dialect.
    ACTION REQUIRED: The fields created_time and updated_time are no longer valid to order Results and Records through list operations. If you want to sort those objects by timestamps, use the create_time and update_time instead. Those fields mirror the same attributes present in the wire representation of Results and Records.

Fixes

Misc

  • πŸ”¨ Add GolangCI via Makefile + Presubmit.sh + golangci lint fixes (#503)
    Address potential bugs picked up by the golangci linter. Enable golang lint checks in our CI tests.

  • πŸ”¨ add suffcient details to unauthorized errors (#489)
    Provide more informative error messages when authorization via the impersonation feature fails.

  • πŸ”¨ Add recovery middleware to gRPC server (#505)
    Recovery middleware added to intercept server panics, recover and send Internal Server Error response instead of terminating the server.

  • πŸ”¨ Bump go version to 1.19 (#448)
    Minimum go version requirement updated to go1.19

  • πŸ”¨ Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.29.6 to 1.33.1 (#481)

  • πŸ”¨ Bump k8s.io/api from 0.25.9 to 0.25.10 (#480)

  • πŸ”¨ Fix Image Repo for Release Pipeline (#479)

  • πŸ”¨ Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#474)

  • πŸ”¨ Bump gorm.io/driver/sqlite from 1.4.4 to 1.5.1 (#473)

  • πŸ”¨ Bump gorm.io/driver/postgres from 1.4.6 to 1.5.2 (#472)

  • πŸ”¨ Bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible (#467)

  • πŸ”¨ Bump k8s.io/api from 0.25.8 to 0.25.9 (#462)

  • πŸ”¨ Restore cleanup after e2e tests (#456)

  • πŸ”¨ Bump google.golang.org/grpc from 1.53.0 to 1.55.0 (#452)

  • πŸ”¨ Make e2e tests more configurable (#449)

  • πŸ”¨ Install: add option for localhost DNS name (#326)

  • πŸ”¨ Bump go.uber.org/automaxprocs from 1.4.0 to 1.5.2 (#478)

  • πŸ”¨ Bump github.com/fatih/color from 1.13.0 to 1.15.0 (#477)

Docs

  • πŸ“– Fix watcher log level description in documentation (#491)
  • πŸ“– Add overlay for enabling logs (#447)
    The logs feature with PVC storage can be deployed and tested through a new "logs-local-db" kustomization.
  • πŸ“– Fix gRPC port in developer docs (#463)
  • πŸ“– Install: add option for localhost DNS name (#326)

Thanks

Thanks to these contributors who contributed to v0.7.0!

Extra shout-out for awesome release notes: