What's New in Gateway API v1.4.0
If you're serious about optimizing your Kubernetes service networking, the release of Gateway API v1.4.0 should be on your radar. Launched on October 6, 2025, this version transitions to General Availability (GA), signifying its readiness for mainstream use. The Kubernetes SIG Network community has streamlined connectivity with modern features that promise to enhance both expressiveness and extensibility. So, what can you expect from this latest release? Gateway API v1.4.0 introduces three significant features to the Standard channel, which is the GA release channel: - **BackendTLSPolicy for TLS** between gateways and backends - **SupportedFeatures** in GatewayClass status - **Named rules for Routes** On top of these advances, the release also rolls out three experimental features that are worth keeping an eye on: - A **Mesh resource** for configuring service meshes - **Default gateways** aimed at reducing complexity in configurations - An **externalAuth** filter for HTTPRoute, enabling external authentication servicesKey Feature Highlights
BackendTLS Policy: A Real Step Forward
GEP-1897 introduces the **BackendTLSPolicy**, which enables users to specify TLS configurations for secure connections from gateways to backend services. Prior to this, Kubernetes lacked a standardized method for managing encrypted traffic at this critical juncture. The introduction of this API type is a welcome addition, particularly for those prioritizing security. Configuration requires a hostname, which serves dual purposes: it acts as the SNI header in backend connections and must align with the certificate provided by the backend unless specific **subjectAltNames** are defined. This means you have the flexibility to authenticate against SANs if needed, but you must also ensure hostname values are included in your SANs if those are utilized. In practical terms, here’s how you might define a BackendTLSPolicy in a ConfigMap: ```yaml apiVersion: gateway.networking.k8s.io/v1 kind: BackendTLSPolicy metadata: name: tls-upstream-auth spec: targetRefs: - kind: Service name: auth validation: caCertificateRefs: - group: "" kind: ConfigMap name: auth-cert subjectAltNames: - type: "Hostname" hostname: "auth.example.com" ``` By defining such policies, you ensure that only validated certificates are passed through TLS-encrypted channels, greatly improving the security posture of your Kubernetes deployments.SupportedFeatures Field: Transparency and Trust
Another noteworthy enhancement is the addition of the new **supportedFeatures** field in GatewayClass status, which provides a transparent way to declare what features an implementation supports. Under GEP-2162, it becomes essential for users and tools to quickly understand the capabilities of a given GatewayClass. This promotes user trust in the system and simplifies conformance testing as it automatically aligns the declared capabilities with relevant tests. Here’s a snippet showcasing what the supportedFeatures might look like in the status of a GatewayClass: ```yaml apiVersion: gateway.networking.k8s.io/v1 kind: GatewayClass status: conditions: - type: Accepted status: "True" supportedFeatures: - HTTPRoute - HTTPRouteHostRewrite ``` With these changes, you'll no longer need additional flags for conformance tests, thus eliminating potential confusion during implementation.Named Rules for Routes: Enhanced Clarity
Under GEP-995, the introduction of named route rules offers explicit identifiers, making it easier to reference them across the board. This change helps in several ways, from allowing status conditions to reference specific rules by name to improving observability in logs. The improvements are particularly beneficial for tool integration, as they simplify command filtering and enhance internal configuration mapping. While using the new name field is optional, it's strongly encouraged. It reinforces a consistent naming convention already present in other Kubernetes components, making the entire ecosystem more intuitive.Experimental Features: Peeking into the Future
The v1.4.0 release doesn't stop at stable features; it also introduces several experimental changes. One of the most anticipated is the **externalAuth** filter for HTTPRoute—an enhancement aimed at managing authentication requests externally. This feature promises to use an external service for authentication, based on the widely recognized Envoy ext_authz API. The potential for setting headers and forwarding requests enhances its adaptability. To conclude, the Gateway API v1.4.0 release is more than a routine update—it's a leap toward fulfilling Kubernetes' needs for modern and secure networking. Whether you're enhancing security or simplifying feature declarations, this release offers tools that promise to streamline your operations.Client Certificate Validation Overview
Leads: Arko Dasgupta, Katarzyna Łach
The recent enhancements focus on the configuration options for client certificate validation, a response to a significant vulnerability linked to connection reuse in API gateways. As performance expectations rise, developers have turned to HTTP connection coalescing—a technique that allows clients to leverage existing TLS connections across multiple domains to streamline interactions. While it’s a clever optimization, this approach can inadvertently expose systems to security risks, particularly when managing API gateways.
Security Challenges with Connection Coalescing
Here's the crux: reusing a single TLS connection poses challenges, especially when dealing with multiple Listeners, which can lead to unauthorized access if not carefully managed. Without adequate controls in place, malicious parties could exploit the shared connection, bypassing authentication checks. That’s why this update isn’t just a minor adjustment; it fundamentally reshapes how we think about security in multi-domain API scenarios.
Shared Client Certificate Configuration
To tackle this concern, the release introduces a shared client certificate configuration option. This feature ensures that each incoming connection can be securely validated, preventing unauthorized entry from compromised entities. By establishing a collective defense through shared certificates, you mitigate risks that could arise from uncoordinated authentication processes.
The Drawbacks of SNI-Based mTLS
Now, some might wonder if SNI-based mTLS could suffice for these challenges. The simple answer is no. While Server Name Indication (SNI) is beneficial for directing traffic to the correct server based on the hostname, it's insufficient as a standalone solution for securing connections across multiple domains. This approach fails to provide the granular validation needed to robustly safeguard traffic and prevent leaks or unauthorized access routes, highlighting the necessity for a more comprehensive solution.
Implementing the New Configuration
If you're in the thick of managing API gateways, implementing this shared client certificate validation will become paramount. Not only will it enhance security protocols, but it will also streamline connections under the hood, allowing for faster, more secure communication between clients and services. This is more than just an update; it’s a significant advancement in maintaining integrity within modern web architectures.