Tekton Triggers release v0.27.0 "Tekton Triggers"
-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()
andupperAscii()
to documentation (#1698)
Thanks
Thanks to these contributors who contributed to v0.27.0!
- ❤️ @AlanGreene
- ❤️ @Ferenc-
- ❤️ @GijsvanDulmen
- ❤️ @bigkevmcd
- ❤️ @dibyom
- ❤️ @jmcshane
- ❤️ @khrm
- ❤️ @nicolasbernard
- ❤️ @seternate
Extra shout-out for awesome release notes:
- 😍 @GijsvanDulmen
- 😍 @bigkevmcd
- 😍 @jmcshane
- 😍 @khrm
- 😍 @nicolasbernard
- 😍 @seternate