Skip to content

Tekton Triggers release v0.27.0 "Tekton Triggers"

Compare
Choose a tag to compare
@tekton-robot tekton-robot released this 10 May 12:12

-Docs @ v0.27.0
-Examples @ v0.27.0

Installation one-liner

kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.27.0/release.yaml
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.27.0/interceptors.yaml

Attestation

The Rekor UUID for this release is 24296fb24b8ad77a38ac13bedf11db0c356ec34af7a0fd7103d41019a411116900fd90c970ea9d61

Obtain the attestation:

REKOR_UUID=24296fb24b8ad77a38ac13bedf11db0c356ec34af7a0fd7103d41019a411116900fd90c970ea9d61
rekor-cli get --uuid $REKOR_UUID --format json | jq -r .Attestation | jq .

Verify that all container images in the attestation are in the release file:

RELEASE_FILE=https://storage.googleapis.com/tekton-releases/triggers/previous/v0.27.0/release.yaml
INTERCEPTORS_FILE=https://storage.googleapis.com/tekton-releases/triggers/previous/v0.27.0/interceptors.yaml
REKOR_UUID=24296fb24b8ad77a38ac13bedf11db0c356ec34af7a0fd7103d41019a411116900fd90c970ea9d61

# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | jq -r '.subject[]|.name + ":v0.27.0@sha256:" + .digest.sha256')

# Download the release file
curl "$RELEASE_FILE" > release.yaml
curl "$INTERCEPTORS_FILE" >> release.yaml

# For each image in the attestation, match it to the release file
for image in $REKOR_ATTESTATION_IMAGES; do
  printf $image; grep -q $image release.yaml && echo " ===> ok" || echo " ===> no match";
done

Changes

Features

  • ✨ Node port service match kubernetes resource (#1716)

Resolve node port when serviceType is NodePort

  • ✨ Add LoadBalancerClass support in EventListener (#1708)

EventListners have a new field letting you choose on which LoadBalancer you want to expose the underlying service if you have severals.

  • ✨ Remove tekton resource validation (#1699)

Removes the limit of only creating Tekton resources from within your TriggerTemplate. This will allow for other K8s resources to be created as well like for example K8s Jobs.

Fixes

  • 🐛 Fix is-multi-ns flag for triggerGroups (#1725)

Fix that the --is-multi-ns flag on the eventlistener is set to true, when using a namespaceSelector on any triggerGroup.

  • 🐛 Pass Content-Type Header to Interceptor (#1615)

Now Content-Type: application/json is passed to the interceptor while making the request.

Misc

  • 🔨 Bump CEL to v0.20.1 (#1730)

CEL interceptor updated to cel-go v0.20.1 and extensions for manipulating lists, sets and mathematical functions have been added.

  • 🔨 Bump go to 1.21 and pipeline to v0.59.0 LTS (#1722)

Update Go version to 1.21 and Pipelines to v0.59.0. Minimum Kubernetes version is 1.27.

  • 🔨 Update ko to 0.15.1 and Go to go1.22.2 for publish task (#1731)
  • 🔨 Fix GolangCI issues causing test failures (#1724)
  • 🔨 Move inactive maintainers to emeritus status (#1709)

Docs

  • 📖 Add Minimum Kubernetes Version for Triggers (#1728)
  • 📖 Fix API doc by adding TriggerTemplate to Resource Types (#1727)
  • 📖 Document EventListener behaviour as CloudEvent sink (#1710)
  • 📖 Fix typo (#1704)
  • 📖 Add lowerAscii() and upperAscii() to documentation (#1698)

Thanks

Thanks to these contributors who contributed to v0.27.0!

Extra shout-out for awesome release notes: