|
| 1 | +# Report on Gateway API Conformance Testing |
| 2 | + |
| 3 | +[Kubernetes Gateway API Conformance](https://gateway-api.sigs.k8s.io/concepts/conformance/?h=conformance) |
| 4 | + |
| 5 | +## Summary of Test Result |
| 6 | + |
| 7 | +| Category | Test Cases | Status | Notes | |
| 8 | +| - | - | - | - | |
| 9 | +| GatewayClass | [GatewayClassObservedGenerationBump](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gatewayclass-observed-generation-bump.go) | ok | |
| 10 | +| Gateway | [GatewayObservedGenerationBump](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-observed-generation-bump.go) | ok | |
| 11 | +| | [GatewayInvalidRouteKind](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-invalid-route-kind.go) | ok | |
| 12 | +| | [GatewayWithAttachedRoutes](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-with-attached-routes.go) | ok | |
| 13 | +| | | | | |
| 14 | +| | [GatewaySecretInvalidReferenceGrants](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-secret-invalid-reference-grant.go) | NA | VPC Lattice supports ACM certs | |
| 15 | +| | [GatewaySecretMissingReferenceGrant](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-secret-missing-reference-grant.go) | NA | same as above |
| 16 | +| | [GatewaySecretReferenceGrantAllInNamespace](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-secret-reference-grant-all-in-namespace.go) | NA | same as above |
| 17 | +| | [GatewaySecretReferenceGrantSpecific](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/gateway-secret-reference-grant-specific.go) | NA | same as above |
| 18 | +| | | | | |
| 19 | +| HTTPRoute | [HTTPRouteCrossNamespace](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-cross-namespace.go) | ok | |
| 20 | +| | [HTTPExactPathMatching](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-exact-path-matching.go) | ok | |
| 21 | +| | [HTTPRouteHeaderMatching](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-header-matching.go) | ok | |
| 22 | +| | [HTTPRouteSimpleSameNamespace](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-simple-same-namespace.go) | ok | |
| 23 | +| | [HTTPRouteListenerHostnameMatching](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-listener-hostname-matching.go) | ok | |
| 24 | +| | [HTTPRouteMatchingAcrossRoutes](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-matching-across-routes.go) | ok | |
| 25 | +| | [HTTPRouteMatching](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-matching.go) | ok | |
| 26 | +| | [HTTPRouteObservedGenerationBump](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-observed-generation-bump.go) | ok | |
| 27 | +| | [HTTPRoutePathMatchOrder](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-path-match-order.go) | ok | |
| 28 | +| | [HTTPRouteReferenceGrant](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-reference-grant.go) | ok | |
| 29 | +| | [HTTPRouteDisallowedKind](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-disallowed-kind.go) | ok | |
| 30 | +| | [HTTPRouteInvalidNonExistentBackendRef](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-backendref-nonexistent.go) | ok | |
| 31 | +| | [HTTPRouteInvalidBackendRefUnknownKind](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-backendref-unknown-kind.go) | ok | |
| 32 | +| | [HTTPRouteInvalidCrossNamespaceBackendRef](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-cross-namespace-backend-ref.go) | ok | |
| 33 | +| | [HTTPRouteInvalidCrossNamespaceParentRef](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-cross-namespace-parent-ref.go) | ok | |
| 34 | +| | [HTTPRouteInvalidParentRefNotMatchingListenerPort](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-parentref-not-matching-listener-port.go) | ok | |
| 35 | +| | [HTTPRouteInvalidParentRefNotMatchingSectionName](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-invalid-parentref-not-matching-section-name.go) | ok | |
| 36 | +| | | | | |
| 37 | +| | [HTTPRouteMethodMatching](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-method-matching.go) | nok | not support in controller yet. [#123](https://github.com/aws/aws-application-networking-k8s/issues/123) | |
| 38 | +| | | | | |
| 39 | +| | [HTTPRouteHostnameIntersection](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/tests/httproute-hostname-intersection.go) | NA | VPC lattice only support one hostname for BYOC |
| 40 | +| | HTTPRouteQueryParamMatching | NA | Not supported by lattice | |
| 41 | +| | HTTPRouteRedirectHostAndStatus | NA | same as above | |
| 42 | +| | HTTPRouteRedirectPath | NA | same as above | |
| 43 | +| | HTTPRouteRedirectPort | NA | same as above | |
| 44 | +| | HTTPRouteRedirectScheme | NA | same as above | |
| 45 | +| | HTTPRouteRequestHeaderModifier | NA | same as above | |
| 46 | +| | HTTPRouteResponseHeaderModifier | NA | same as above | |
| 47 | +| | HTTPRouteRewriteHost | NA | same as above | |
| 48 | +| | HTTPRouteRewritePath | NA | same as above | |
| 49 | + |
| 50 | +## Running Gateway API Conformance |
| 51 | + |
| 52 | +### Running controller from cloud desktop |
| 53 | + |
| 54 | +``` |
| 55 | +# create a gateway first in the cluster |
| 56 | +kubectl apply -f example my-hotel-gateway.yaml |
| 57 | +
|
| 58 | +# run controller in following mode |
| 59 | +
|
| 60 | +REGION=us-west-2 CLUSTER_LOCAL_GATEWAY=my-hotel TARGET_GROUP_NAME_LEN_MODE="long" \ |
| 61 | +make run |
| 62 | +``` |
| 63 | + |
| 64 | +### Run individual conformance test |
| 65 | + |
| 66 | +``` |
| 67 | +# |
| 68 | +# go test ./conformance/... --run TestConformance/<ShortName> |
| 69 | +
|
| 70 | +
|
| 71 | + go test ./conformance/... --run TestConformance/HTTPRouteInvalidParentRefNotMatchingSectionName \ |
| 72 | + -args -gateway-class=amazon-vpc-lattice |
| 73 | +
|
| 74 | +``` |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
0 commit comments