Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add conformance profile for NGINX Gateway Fabric #3149

Merged
merged 3 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
To reproduce results, clone the NGF repository:

```shell
git clone https://github.com/nginxinc/nginx-gateway-fabric.git && cd nginx-gateway-fabric/conformance
git clone https://github.com/nginxinc/nginx-gateway-fabric.git && cd nginx-gateway-fabric/tests
```

Follow the steps in the [Conformance README](https://github.com/nginxinc/nginx-gateway-fabric/blob/main/conformance/README.md). If you are running tests on the `edge` version, then you don't need to build any images. Otherwise, you'll need to check out the specific release tag that you want to test, and then build and load the images onto your cluster, per the steps in the README.
Follow the steps in the [NGINX Gateway Fabric Testing](https://github.com/nginxinc/nginx-gateway-fabric/blob/main/tests/README.md) document to run the conformance tests. If you are running tests on the `edge` version, then you don't need to build any images. Otherwise, you'll need to check out the specific release tag that you want to test, and then build and load the images onto your cluster, per the steps in the README.

After running, see the conformance report:

Expand Down
23 changes: 23 additions & 0 deletions conformance/reports/v1.1.0/nginxinc-nginx-gateway-fabric/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Nginxinc NGINX Gateway Fabric

## Table of Contents

| API channel | Implementation version | Mode | Report |
|-------------|--------------------------------------------------------------------------------|---------|----------------------------------------------|
| standard | [v1.3.0](https://github.com/nginxinc/nginx-gateway-fabric/releases/tag/v1.3.0) | default | [link](./standard-1.3.0-default-report.yaml) |

## Reproduce

To reproduce results, clone the NGF repository:

```shell
git clone https://github.com/nginxinc/nginx-gateway-fabric.git && cd nginx-gateway-fabric/tests
```

Follow the steps in the [NGINX Gateway Fabric Testing](https://github.com/nginxinc/nginx-gateway-fabric/blob/main/tests/README.md) document to run the conformance tests. If you are running tests on the `edge` version, then you don't need to build any images. Otherwise, you'll need to check out the specific release tag that you want to test, and then build and load the images onto your cluster, per the steps in the README.

After running, see the conformance report:

```shell
cat conformance-profile.yaml
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: gateway.networking.k8s.io/v1alpha1
date: "2024-06-11T17:06:57Z"
gatewayAPIChannel: standard
gatewayAPIVersion: v1.1.0
implementation:
contact:
- https://github.com/nginxinc/nginx-gateway-fabric/discussions/new/choose
organization: nginxinc
project: nginx-gateway-fabric
url: https://github.com/nginxinc/nginx-gateway-fabric
version: v1.3.0
kind: ConformanceReport
mode: default
profiles:
- core:
result: success
statistics:
Failed: 0
Passed: 12
Skipped: 0
name: GATEWAY-GRPC
summary: Core tests succeeded.
- core:
result: success
statistics:
Failed: 0
Passed: 33
Skipped: 0
extended:
result: success
statistics:
Failed: 0
Passed: 9
Skipped: 0
supportedFeatures:
- GatewayPort8080
- HTTPRouteHostRewrite
- HTTPRouteMethodMatching
- HTTPRoutePathRewrite
- HTTPRoutePortRedirect
- HTTPRouteQueryParamMatching
- HTTPRouteResponseHeaderModification
- HTTPRouteSchemeRedirect
unsupportedFeatures:
- GatewayHTTPListenerIsolation
- GatewayStaticAddresses
- HTTPRouteBackendRequestHeaderModification
- HTTPRouteBackendTimeout
- HTTPRouteParentRefPort
- HTTPRoutePathRedirect
- HTTPRouteRequestMirror
- HTTPRouteRequestMultipleMirrors
- HTTPRouteRequestTimeout
name: GATEWAY-HTTP
summary: Core tests succeeded. Extended tests succeeded.
4 changes: 2 additions & 2 deletions site-src/implementations.md
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ The [LiteSpeed Ingress Controller](https://litespeedtech.com/products/litespeed-

### NGINX Gateway Fabric

[![Conformance](https://img.shields.io/badge/Gateway%20API%20Conformance%20v1.0.0-NGINX Gateway Fabric-green)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.0.0/nginxinc-nginx-gateway-fabric)
[![Conformance](https://img.shields.io/badge/Gateway%20API%20Conformance%20v1.1.0-NGINX Gateway Fabric-green)](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/v1.1.0/nginxinc-nginx-gateway-fabric)

[NGINX Gateway Fabric][nginx-gateway-fabric] is an open-source project that provides an implementation of the Gateway API using [NGINX][nginx] as the data plane. The goal of this project is to implement the core Gateway API -- Gateway, GatewayClass, HTTPRoute, TCPRoute, TLSRoute, and UDPRoute -- to configure an HTTP or TCP/UDP load balancer, reverse-proxy, or API gateway for applications running on Kubernetes. NGINX Gateway Fabric supports a subset of the Gateway API.

Expand Down Expand Up @@ -486,4 +486,4 @@ For help and support with Kuadrant's implementation please feel free to [create

[kuadrant]:https://kuadrant.io/
[kuadrant-issue-new]:https://github.com/Kuadrant/multicluster-gateway-controller/issues/new
[kuadrant-slack]:https://kubernetes.slack.com/archives/C05J0D0V525
[kuadrant-slack]:https://kubernetes.slack.com/archives/C05J0D0V525