Skip to content

Commit 1fe2b9f

Browse files
authored
Add v1.1.0 conformance report for Gloo Gateway (#3424)
1 parent 485fe11 commit 1fe2b9f

File tree

3 files changed

+104
-0
lines changed

3 files changed

+104
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Gloo Gateway
2+
3+
## Table of contents
4+
5+
| API channel | Implementation version | Mode | Report |
6+
|--------------|-------------------------------------------------------------------------------|---------|-----------------------------------------------------------|
7+
| experimental | [v1.18.0-beta30](https://github.com/solo-io/gloo/releases/tag/v1.18.0-beta30) | default | [Link](./experimental-v1.18.0-beta30-default-report.yaml) |
8+
9+
## Reproduce
10+
11+
> Note: [this is a mirror of the steps outlined in the conformance GHA workflow](https://github.com/solo-io/gloo/blob/main/.github/workflows/composite-actions/kube-gateway-api-conformance-tests/action.yaml).
12+
13+
### Prerequisites
14+
15+
In order to properly run the conformance tests, you need to have [KinD](https://github.com/kubernetes-sigs/kind)
16+
and [Helm](https://github.com/helm/helm) available in your environment.
17+
To run the conformance tests suite we will first create a KinD cluster, use Helm to deploy Gloo Gateway and finally
18+
run the conformance tests.
19+
20+
### Steps
21+
22+
1. Clone the Gloo Gateway repository and checkout the release:
23+
24+
```sh
25+
git clone https://github.com/solo-io/gloo.git
26+
cd gloo
27+
export VERSION="v1.18.0-beta30"
28+
git checkout $VERSION
29+
30+
```
31+
32+
Alternatively, download and extract the [v1.18.0-beta30 release source](https://github.com/solo-io/gloo/releases/tag/v1.18.0-beta30).
33+
34+
1. Create the Kind cluster with MetalLB:
35+
36+
```sh
37+
SKIP_DOCKER="true" CONFORMANCE=true CLUSTER_NODE_VERSION="v1.31.0@sha256:53df588e04085fd41ae12de0c3fe4c72f7013bba32a20e7325357a1ac94ba865" ci/kind/setup-kind.sh
38+
```
39+
40+
1. Deploy Gloo Gateway Helm chart:
41+
```sh
42+
helm upgrade -i --create-namespace -n gloo-system gloo gloo/gloo --version $VERSION --set kubeGateway.enabled=true
43+
```
44+
45+
1. Run the conformance tests
46+
47+
```sh
48+
make conformance
49+
```
50+
51+
1. View and verify the conformance report: `cat _test/conformance/$VERSION-report.yaml`
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
apiVersion: gateway.networking.k8s.io/v1alpha1
2+
date: "2024-10-31T10:29:26+02:00"
3+
gatewayAPIChannel: experimental
4+
gatewayAPIVersion: v1.1.0
5+
implementation:
6+
contact:
7+
- github.com/solo-io/gloo/issues/new/choose
8+
organization: solo.io
9+
project: gloo-gateway
10+
url: github.com/solo-io/gloo
11+
version: v1.18.0-beta30
12+
kind: ConformanceReport
13+
mode: default
14+
profiles:
15+
- core:
16+
result: partial
17+
skippedTests:
18+
- HTTPRouteServiceTypes
19+
statistics:
20+
Failed: 0
21+
Passed: 32
22+
Skipped: 1
23+
extended:
24+
result: success
25+
statistics:
26+
Failed: 0
27+
Passed: 9
28+
Skipped: 0
29+
supportedFeatures:
30+
- HTTPRouteHostRewrite
31+
- HTTPRouteMethodMatching
32+
- HTTPRoutePathRedirect
33+
- HTTPRoutePathRewrite
34+
- HTTPRoutePortRedirect
35+
- HTTPRouteQueryParamMatching
36+
- HTTPRouteRequestMirror
37+
- HTTPRouteResponseHeaderModification
38+
- HTTPRouteSchemeRedirect
39+
unsupportedFeatures:
40+
- GatewayHTTPListenerIsolation
41+
- GatewayPort8080
42+
- GatewayStaticAddresses
43+
- HTTPRouteBackendRequestHeaderModification
44+
- HTTPRouteBackendTimeout
45+
- HTTPRouteParentRefPort
46+
- HTTPRouteRequestMultipleMirrors
47+
- HTTPRouteRequestTimeout
48+
name: GATEWAY-HTTP
49+
summary: Core tests partially succeeded with 1 test skips. Extended tests succeeded.

site-src/implementations.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,10 +272,14 @@ FSM support of Gateway API is built on top [Flomesh Gateway API](fgw) and it cur
272272
### Gloo Gateway
273273

274274
[![Conformance](https://img.shields.io/badge/Gateway%20API%20Conformance%20v1.0.0-GlooGateway-green)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.0.0/gloo-gateway)
275+
[![Conformance](https://img.shields.io/badge/Gateway%20API%20Partial%20Conformance%20v1.1.0-GlooGateway-orange)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.1.0/gloo-gateway)
275276

276277
[Gloo Gateway][gloogateway] by [Solo.io][solo] is a feature-rich, Kubernetes-native ingress controller and next-generation API gateway.
277278
Gloo Gateway brings the full power and community support of Gateway API to its existing control-plane implementation.
278279

280+
The Gloo Gateway ingress controller passes all the core Gateway API conformance tests in the v1.1.0 release for the GATEWAY_HTTP conformance
281+
profile except `HTTPRouteServiceTypes`.
282+
279283
[gloogateway]:https://docs.solo.io/gateway/latest/
280284
[solo]:https://www.solo.io
281285

0 commit comments

Comments
 (0)