Traefik, a well-known name in cloud-native open-source proxies, released version 3.1, bolstering its Kubernetes Gateway API support and enhancing its WASM capabilities.
For those unfamiliar, it is a dynamic ingress controller and application proxy designed to route and manage traffic for modern cloud applications.
Traefik 3.1 Key Updates and Fixes
The release’s highlight is the comprehensive support for Kubernetes Gateway API, with several contributions aimed at stabilizing and extending its functionalities.
Notably, previously labeled as experimental, the Kubernetes Gateway provider has now been fully stabilized. This update includes bumping Gateway API to version 1.1.0 and a series of enhancements to HTTPRoute capabilities.
For instance, the new version supports method and query parameter matching, a critical feature for developers needing fine-grained control over traffic routing.
Another noteworthy addition is the ReferenceGrant feature, which addresses security concerns in cross-namespace referencesโa significant enhancement for multi-tenant environments. This feature simplifies secure interactions across namespaces, enhancing both usability and security.
We can’t help but mention that Traefik 3.1 also facilitates full-featured WASM plugins that can perform HTTP calls and integrate various Go libraries, enhancing the flexibility and power of Traefik’s plugins.
Apart from these improvements, the new release brings the following important changes:
- Support for Invalid HTTPRoute Status: Traefik 3.1 now enables better error handling and status reporting for HTTPRoutes, enhancing the reliability of route configurations.
- Enhanced HTTPRoute Attachments: The fix for route attachments ensures that routes are correctly linked to their respective gateways, addressing previous issues where attachments could behave inconsistently.
- Regular Expression Support for Path Matching: This new feature allows more complex and versatile URL path matching, a boon for applications requiring dynamic routing based on URL patterns.
- Health Checks and System Integrations: The new version brings improved health checks for ExternalName services and the transition to using EndpointSlices API, part of Kubernetes’ scalable endpoint tracking.
Traefik 3.1 also brings several improvements to middleware and plugins:
- Content-Security-Policy-Report-Only: Traefiik now allows developers to test their content security policies without enforcing them, a critical feature for debugging and compliance testing.
- Compression with Zstandard: The middleware now has a new compression option, offering better performance and efficiency, which is particularly useful for high-load environments.
On the systems integration side, Traefik 3.1 introduces support for systemd socket-activation, a feature that enhances the softwareโs operability on systems using systemd. This allows for more efficient management of service start-ups and resource allocation.
Lastly, Traefik’s team has emphasized the importance of consulting the migration guide before upgrading from the previous 3.0 release to version 3.1 to ensure smooth transitions and compatibility.
This is especially crucial for users migrating from older versions, as the numerous enhancements and changes in how Kubernetes integrations are handled may require adjustments in existing configurations.
Check out the release announcement or look at the changelog for the full list of all novelties in Traefik 3.1.