Announcing TriggerMesh 1.23
We're excited to announce the release of TriggerMesh 1.23! As the first release since the Shaker (aka TriggerMesh 1.22) announcement early December, this update includes a number of improvements that were requested by users and developed in part by them 😍.
One of the highlights of this release is support for authentication with IAM roles for service accounts for all AWS target connectors (for instance the AWS SQS Target), which was heavily requested and is targeted for users running TriggerMesh on AWS EKS. Additionally, we've added new JSON transformation capabilities, and as always some important bug fixes.
Heads-up, the release contains a breaking change for AWS targets.
Thank you to all of our users who have provided feedback and contributed to the development of this release. We hope these updates enhance your experience with TriggerMesh.
Breaking changes to AWS target authentication
We've improved the consistency of authentication parameters for AWS connectors by aligning AWS target authentication parameters with those of AWS sources, meaning their positions and names in the specs have changed. This has also opened up the possibility to easily add support for IAM role authentication in AWS targets (see next section).
Prior to 1.23, AWS target authentication specs were as shown below:
From 1.23 onwards, this is the new structure and naming for these parameters:
tmctl will also be impacted by this change if you update its configuration to use the latest version of TriggerMesh components.
Please be careful to migrate your AWS Kubernetes resource configurations in accordance to these changes when updating to 1.23.
IAM Role Service Account authentication for all AWS Targets
For AWS EKS users, we now support IAM role based authentication on all AWS targets. This was already supported for all AWS sources (except AWS SNS).
As of 1.23, you can now specify an IAM role as follows:
To learn how to setup an IAM role for service accounts, please refer to the official AWS documentation.
JSON Transformation improvements
Special thanks to the one and only @nkreiger for contributing this feature.
JSON transformation is an easy way to make changes to an event's metadata or payload, without writing any code.
The highlight of this enhancement is the new conditional Add capability. This lets you conditionally set part of (or all of) a key's value depending on whether or not a variable has a value.
Take the following two examples:
In this example, the value of message will either be hello <name> or an empty string if $name is not set.
The value of detail will either be hello.<source> or hello if $source is not set.
So the parentheses let you define which part of the value is conditional, and the $<variable-name> syntax lets you specify which variable is used as a condition.
We also added the ability to specify a custom JSON path separator. For more information, check out the JSON transformation documentation.
... and more
- Kafka authentication is now optional in KafkaSource and KafkaTarget
- Improved log output from KafkaSource and KafkaTarget for easier debugging
- Default Broker pod port changed to a non privileged port
- Azure Event Hubs name used for the source connector (rather than Azure Event Hub)
- New documentation guide on how to update TriggerMesh
- Embedded the Knative Serving installation instructions (Knative Serving is a prerequisite for TriggerMesh on K8s)
For the full release notes, please refer to the respective GitHub projects:
- https://github.com/triggermesh/triggermesh/releases
- https://github.com/triggermesh/tmctl/releases
- https://github.com/triggermesh/brokers/releases
- https://github.com/triggermesh/triggermesh-core/releases
As always, please reach out via Slack or file an issue on Github is you have any questions or feedback, we'd love to hear from you.