Skip to content

Commit 288b827

Browse files
authored
Submit conformance report for GKE Gateway (#4214)
1 parent 9edec98 commit 288b827

File tree

3 files changed

+104
-5
lines changed

3 files changed

+104
-5
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# GKE (Google Kubernetes Engine) Gateway
2+
3+
## Table of Contents
4+
5+
|API channel|Implementation version|Mode|Report|
6+
|-----------|----------------------|----|------|
7+
|standard|1.34.1-gke.1829001|gke-l7-regional-external-managed|[v1.34.1 rxlb report](./standard-1.43.1-rxlb-report.yaml)|
8+
9+
## Reproduce
10+
11+
GKE Gateway conformance report can be reproduced by the following steps.
12+
13+
1. create a GKE cluster with Gateway API enabled (the minimum cluster version that supports v1.4.0 CRD is `1.34.1-gke.1829001`)
14+
15+
```
16+
gcloud container clusters create "${cluster_name}" --gateway-api=standard --location="${location} --cluster-version={$version}"
17+
```
18+
19+
2. create a proxy-only subnet if using a regional Gateway following [guide](https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-gateways#configure_a_proxy-only_subnet)
20+
21+
3. run the following command from within the [GKE Gateway repo](https://github.com/GoogleCloudPlatform/gke-gateway-api)
22+
23+
```
24+
go test ./conformance -run TestConformance -v -timeout=3h -args \
25+
--gateway-class=gke-l7-regional-external-managed \
26+
--conformance-profiles=GATEWAY-HTTP \
27+
--organization=GKE \
28+
--project=gke-gateway \
29+
--url=https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api \
30+
--version=1.34.1-gke.1829001 \
31+
--contact=gke-gateway-dev@google.com \
32+
--skip-tests=HTTPRouteHostnameIntersection \
33+
--supported-features=Gateway,HTTPRoute,GatewayPort8080,HTTPRouteHostRewrite,HTTPRoutePathRedirect,HTTPRouteRequestMirror,HTTPRouteRequestPercentageMirror,HTTPRouteResponseHeaderModification,HTTPRouteSchemeRedirect \
34+
--report-output="/path/to/report"
35+
```
36+
37+
Note: the repro result can be flaky in some cases because the conformance framework doesn't isolate test cases enough.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
apiVersion: gateway.networking.k8s.io/v1
2+
date: "2025-10-31T09:24:35Z"
3+
gatewayAPIChannel: standard
4+
gatewayAPIVersion: v1.4.0
5+
implementation:
6+
contact:
7+
- gke-gateway-dev@google.com
8+
organization: GKE
9+
project: gke-gateway
10+
url: https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api
11+
version: 1.34.1-gke.1829001
12+
kind: ConformanceReport
13+
mode: default
14+
profiles:
15+
- core:
16+
result: partial
17+
skippedTests:
18+
- HTTPRouteHostnameIntersection
19+
statistics:
20+
Failed: 0
21+
Passed: 32
22+
Skipped: 1
23+
extended:
24+
result: success
25+
statistics:
26+
Failed: 0
27+
Passed: 7
28+
Skipped: 0
29+
supportedFeatures:
30+
- GatewayPort8080
31+
- HTTPRouteHostRewrite
32+
- HTTPRoutePathRedirect
33+
- HTTPRouteRequestMirror
34+
- HTTPRouteRequestPercentageMirror
35+
- HTTPRouteResponseHeaderModification
36+
- HTTPRouteSchemeRedirect
37+
unsupportedFeatures:
38+
- GatewayAddressEmpty
39+
- GatewayHTTPListenerIsolation
40+
- GatewayInfrastructurePropagation
41+
- GatewayStaticAddresses
42+
- HTTPRoute303RedirectStatusCode
43+
- HTTPRoute307RedirectStatusCode
44+
- HTTPRoute308RedirectStatusCode
45+
- HTTPRouteBackendProtocolH2C
46+
- HTTPRouteBackendProtocolWebSocket
47+
- HTTPRouteBackendRequestHeaderModification
48+
- HTTPRouteBackendTimeout
49+
- HTTPRouteCORS
50+
- HTTPRouteDestinationPortMatching
51+
- HTTPRouteMethodMatching
52+
- HTTPRouteNamedRouteRule
53+
- HTTPRouteParentRefPort
54+
- HTTPRoutePathRewrite
55+
- HTTPRoutePortRedirect
56+
- HTTPRouteQueryParamMatching
57+
- HTTPRouteRequestMultipleMirrors
58+
- HTTPRouteRequestTimeout
59+
name: GATEWAY-HTTP
60+
summary: Core tests partially succeeded with 1 test skips. Extended tests succeeded.
61+
succeededProvisionalTests:
62+
- HTTPRouteRequestPercentageMirror

site-src/implementations.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ and provides status and resource references for them.
66
Implementors and integrators of Gateway API are encouraged to update this
77
document with status information about their implementations, the versions they
88
cover, and documentation to help users get started. This status information should
9-
be no longer than a few paragraphs.
9+
be no longer than a few paragraphs.
1010

1111
## Conformance levels
1212

@@ -19,7 +19,7 @@ These implementations have submitted at least one conformance report that has pa
1919
* All core conformance tests for at least one combination of Route type and
2020
Profile
2121
* All claimed Extended features
22-
22+
2323
for one of the two (2) most recent Gateway API releases.
2424

2525
So, it's conformant to support Mesh + HTTPRoute, or Gateway + HTTPRoute, or
@@ -386,7 +386,7 @@ Google Cloud Service Mesh supports [Envoy-based sidecar mesh][envoy-sidecar-mesh
386386

387387
### Google Kubernetes Engine
388388

389-
[![Conformance](https://img.shields.io/badge/Gateway_API_Partial_Conformance_v1.3.0-Google_Kubernetes_Engine-orange)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.3.0/gke-gateway)
389+
[![Conformance](https://img.shields.io/badge/Gateway_API_Partial_Conformance_v1.3.0-Google_Kubernetes_Engine-orange)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.4.0/gke-gateway)
390390

391391
[Google Kubernetes Engine (GKE)][gke] is a managed Kubernetes platform offered
392392
by Google Cloud. GKE's implementation of the Gateway API is through the [GKE
@@ -399,7 +399,7 @@ advanced routing, multi-cluster load balancing and more. See the docs to deploy
399399
Gateways][gke-multi-cluster-gateway].
400400

401401
The GKE Gateway controller passes all the core Gateway API conformance tests in the
402-
v1.3.0 release for the GATEWAY_HTTP conformance profile except `HTTPRouteHostnameIntersection`.
402+
v1.4.0 release for the GATEWAY_HTTP conformance profile except `HTTPRouteHostnameIntersection`.
403403

404404
[gke]:https://cloud.google.com/kubernetes-engine
405405
[gke-gateway]:https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api
@@ -740,7 +740,7 @@ Page review timeline, starting with the v1.3 Page Review:
740740
any implementations that are are still Stale (after a right-of-reply period).
741741
* Gateway API v1.5 release Page Review (at least one month after the actual
742742
release): We will remove the Stale category, and implementation maintainers
743-
will need to be at least partially conformant on each review, or during the
743+
will need to be at least partially conformant on each review, or during the
744744
right-of-reply period, or be removed from the implementations page.
745745

746746
This means that, after the Gateway API v1.5 release, implementations cannot be

0 commit comments

Comments
 (0)