Skip to content

Commit 95ef0f4

Browse files
author
Alan Dooley
committed
Merge branch 'main' into ngf/rework-manifest-install
2 parents 5009870 + 574e86d commit 95ef0f4

17 files changed

Lines changed: 560 additions & 567 deletions

File tree

‎.github/workflows/coveo.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
6868
- name: Upload token for ${{matrix.env_name}}
6969
if: ${{ steps.generate-token.outcome == 'success' }}
70-
uses: actions/upload-artifact@v6
70+
uses: actions/upload-artifact@v6.0.0
7171
with:
7272
name: ${{matrix.env_name}}
7373
path: "./"

‎.github/workflows/ossf_scorecard.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ jobs:
5656

5757
# Upload the results to GitHub's code scanning dashboard.
5858
- name: Upload SARIF results to code scanning
59-
uses: github/codeql-action/upload-sarif@1b168cd39490f61582a9beae412bb7057a6b2c4e # v3.29.5
59+
uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v3.29.5
6060
with:
6161
sarif_file: results.sarif

‎.github/workflows/playwright.yml‎

Lines changed: 56 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,68 @@
1-
name: UI validation on prod
1+
name: Running Playwright test on UI
22
on:
3-
workflow_dispatch:
4-
3+
push:
4+
branches: [main]
5+
paths:
6+
- 'static/nginxaas-azure/js/cost-calculator_v2.js'
7+
- 'content/nginxaas-azure/billing/usage-and-cost-estimator.md'
8+
pull_request:
9+
paths:
10+
- 'static/nginxaas-azure/js/cost-calculator_v2.js'
11+
- 'content/nginxaas-azure/billing/usage-and-cost-estimator.md'
12+
permissions:
13+
contents: read
514
jobs:
15+
get-playwright-version:
16+
name: Get Playwright Version
17+
runs-on: ubuntu-latest
18+
outputs:
19+
version: ${{ steps.get-playwright-version.outputs.version }}
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
23+
- name: Get version from package.json
24+
id: get-playwright-version
25+
run: |
26+
version=$(jq -r '.devDependencies["@playwright/test"] // .dependencies["@playwright/test"]' package.json)
27+
test -n "$version" || { echo "No @playwright/test version found in package.json"; exit 1; }
28+
echo "version=$version" >> $GITHUB_OUTPUT
29+
echo "Version: " $version
630
run-playwright-tests:
31+
name: Run Playwright
32+
needs: get-playwright-version
733
runs-on: ubuntu-latest
34+
container:
35+
image: mcr.microsoft.com/playwright:v${{needs.get-playwright-version.outputs.version}}-jammy
836
steps:
9-
- uses: actions/checkout@v4
10-
- uses: actions/setup-node@v6
37+
- name: Checkout code
38+
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
39+
- name: Setup Hugo
40+
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3.0.0
1141
with:
12-
node-version: lts/*
42+
hugo-version: '0.147.8'
43+
extended: true
44+
- uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c #v6.1.0
45+
with:
46+
go-version: '1.24.6'
1347
- name: Install dependencies
1448
run: npm ci
15-
- name: Install Playwright Browsers
16-
run: npx playwright install --with-deps
1749
- name: Run Playwright tests
18-
run: npx playwright test --retries=2
19-
- uses: actions/upload-artifact@v6
20-
if: ${{ !cancelled() }}
50+
id: test-ui
51+
# Check done to set the home variable. Workaround as browser is unable to launch if the $HOME folder isn't owned by the current user.
52+
if: ${{ runner.os == 'Linux' }}
53+
env:
54+
HOME: /root
55+
run: |
56+
git config --global --add safe.directory /__w/nginx-hugo-theme/nginx-hugo-theme
57+
cd tests && npx playwright test | tee output.log
58+
if grep -q "failed" output.log; then
59+
echo "Playwright tests failed. Please view the Playwright report to see full error."
60+
exit 1
61+
fi
62+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
63+
id: artifact-upload
64+
if: ${{ !cancelled() && failure() && steps.test-ui.conclusion == 'failure' }}
2165
with:
2266
name: playwright-report
2367
path: tests/playwright-report/
24-
retention-days: 30
25-
- uses: actions/upload-artifact@v6
26-
if: ${{ !cancelled() }}
27-
with:
28-
name: test-results
29-
path: tests/test-results/
30-
retention-days: 30
68+
retention-days: 3

‎content/includes/ngf/gateway-api-compat-table.md‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ You can view the [Milestone Roadmap](https://github.com/orgs/nginx/projects/10/v
1111

1212
| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel |
1313
|---------------------------------------|---------------------|------------------------|---------------------------------------|-------------|---------------------|
14-
| [GatewayClass]({{< ref "/ngf/overview/gateway-api-compatibility.md#gatewayclass" >}}) | Supported | Not supported | Supported | v1 | Standard |
15-
| [Gateway]({{< ref "/ngf/overview/gateway-api-compatibility.md#gateway" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
16-
| [HTTPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#httproute" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
17-
| [GRPCRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#grpcroute" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
18-
| [ReferenceGrant]({{< ref "/ngf/overview/gateway-api-compatibility.md#referencegrant" >}}) | Supported | N/A | Not supported | v1beta1 | Standard |
19-
| [TLSRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tlsroute" >}}) | Supported | Not supported | Not supported | v1alpha2 | Experimental |
20-
| [TCPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tcproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
21-
| [UDPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#udproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
22-
| [BackendTLSPolicy]({{< ref "/ngf/overview/gateway-api-compatibility.md#backendtlspolicy" >}}) | Partially Supported | Supported | Partially supported | v1alpha3 | Experimental |
23-
| [Custom policies]({{< ref "/ngf/overview/gateway-api-compatibility.md#custom-policies" >}}) | N/A | N/A | Supported | N/A | N/A |
14+
| [GatewayClass]({{< ref "/ngf/overview/gateway-api-compatibility.md#gatewayclass" >}}) | Supported | Not supported | Supported | v1 | Standard |
15+
| [Gateway]({{< ref "/ngf/overview/gateway-api-compatibility.md#gateway" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
16+
| [HTTPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#httproute" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
17+
| [GRPCRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#grpcroute" >}}) | Supported | Partially supported | Not supported | v1 | Standard |
18+
| [ReferenceGrant]({{< ref "/ngf/overview/gateway-api-compatibility.md#referencegrant" >}}) | Supported | N/A | Not supported | v1beta1 | Standard |
19+
| [TLSRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tlsroute" >}}) | Supported | Not supported | Not supported | v1alpha2 | Experimental |
20+
| [TCPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#tcproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
21+
| [UDPRoute]({{< ref "/ngf/overview/gateway-api-compatibility.md#udproute" >}}) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
22+
| [BackendTLSPolicy]({{< ref "/ngf/overview/gateway-api-compatibility.md#backendtlspolicy" >}}) | Supported | Supported | Partially Supported | v1 | Standard |
23+
| [Custom policies]({{< ref "/ngf/overview/gateway-api-compatibility.md#custom-policies" >}}) | N/A | N/A | Supported | N/A | N/A |
2424

2525
{{< /table >}}

‎content/includes/nim/tech-specs/nim-app-protect-support.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ NGINX Instance Manager supports the following versions of [F5 WAF for NGINX](htt
1212
| NGINX Instance Manager | F5 WAF for NGINX |
1313
| ---------------------- | ----------------------------------------------- |
1414
| 2.21.0 | Release 4.8.0–4.16.0, 5.1.0–5.8.0, 5.9.0–5.10.0 |
15-
| 2.17.0–2.20.0 | Release 4.8.0–4.16.0, 5.1.0–5.8.0 |
15+
| 2.17.0–2.20.1 | Release 4.8.0–4.16.0, 5.1.0–5.8.0 |
1616
| 2.15.1–2.16.0 | Release 4.8.0–4.10.0 |
1717
| 2.14.1–2.15.0 | Release 4.4.0–4.7.0 |
1818
| 2.13.0–2.14.0 | Release 4.3.0–4.5.0 |

‎content/includes/nim/tech-specs/supported-nginx-versions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ NGINX Instance Manager supports the following NGINX Open Source and NGINX Plus v
1111

1212
| NGINX Instance Manager | NGINX OSS | NGINX Plus |
1313
| ---------------------- | ----------- | ---------- |
14-
| 2.18.0 and later | 1.18–1.28.0 | R31–R35 |
14+
| 2.18.0 and later | 1.18–1.29.3 | R31–R36 |
1515
| 2.16.0–2.17.x | 1.18–1.25.1 | R31–R32 |
1616
| 2.7.0–2.15.x | 1.18–1.25.1 | R21–R30 |
1717
| 2.0.0–2.6.0 | 1.18–1.21.6 | R21–R27 |

‎content/ngf/how-to/data-plane-configuration.md‎

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,44 @@ of a few arguments. {{< /call-out >}}
272272

273273
---
274274

275+
## Configure the data plane log format
276+
277+
NGINX records client requests immediately after each request is processed. You can use the `NginxProxy` resource to dynamically configure the access log format.
278+
279+
The following command creates a basic `NginxProxy` that defines a custom log format `$remote_addr - [$time_local] "$request" $status $body_bytes_sent`:
280+
281+
```yaml
282+
kubectl apply -f - <<EOF
283+
apiVersion: gateway.nginx.org/v1alpha2
284+
kind: NginxProxy
285+
metadata:
286+
name: ngf-proxy-config
287+
spec:
288+
logging:
289+
accessLog:
290+
format: $remote_addr - [$time_local] "$request" $status $body_bytes_sent
291+
EOF
292+
```
293+
294+
You can disable access logging entirely with the following configuration:
295+
296+
```yaml
297+
kubectl apply -f - <<EOF
298+
apiVersion: gateway.nginx.org/v1alpha2
299+
kind: NginxProxy
300+
metadata:
301+
name: ngf-proxy-config
302+
spec:
303+
logging:
304+
accessLog:
305+
disable: true
306+
EOF
307+
```
308+
309+
{{< call-out "note" >}} File destinations in `logging.accessLog` are not currently supported it is always set to `/dev/stdout`. {{< /call-out >}}
310+
311+
---
312+
275313
### Run NGINX Gateway Fabric with NGINX in debug mode
276314

277315
To run NGINX Gateway Fabric with NGINX in debug mode, during [installation]({{< ref "/ngf/install/" >}}), follow these additional steps:
@@ -327,12 +365,11 @@ kind: NginxProxy
327365
metadata:
328366
name: ngf-proxy-config
329367
spec:
330-
config:
331-
rewriteClientIP:
332-
mode: ProxyProtocol
333-
trustedAddresses:
334-
- type: CIDR
335-
value: "76.89.90.11/24"
368+
rewriteClientIP:
369+
mode: ProxyProtocol
370+
trustedAddresses:
371+
- type: CIDR
372+
value: "76.89.90.11/24"
336373
EOF
337374
```
338375

@@ -364,8 +401,6 @@ spec:
364401
terminationGracePeriodSeconds: 90
365402
replicas: 2
366403
service:
367-
annotations:
368-
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
369404
type: LoadBalancer
370405
loadBalancerIP: "192.87.9.1"
371406
EOF

‎content/ngf/overview/gateway-api-compatibility.md‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ NGINX Gateway Fabric supports a single GatewayClass resource configured with the
6363
a different GatewayClass name is provided to the controller via the command-line argument.
6464
- `SupportedVersion/True/SupportedVersion`
6565
- `SupportedVersion/False/UnsupportedVersion`
66+
- `supportedFeatures` - supported.
6667

6768
### Gateway
6869

@@ -99,7 +100,10 @@ See the [controller]({{< ref "/ngf/reference/cli-help.md#controller">}}) command
99100
- `addresses`: Valid IPAddresses will be added to the `externalIP` field in the related Services fronting NGINX. Users should ensure that the IP Family of the address matches the IP Family set in the NginxProxy resource (default is dual, meaning both IPv4 and IPv6), otherwise there may be networking issues.
100101
- `type`: Partially supported. Allowed value: `IPAddress`.
101102
- `value`: Partially supported. Dynamic address allocation when value is unspecified is not supported.
102-
- `backendTLS`: Not supported.
103+
- `TLS`:
104+
- `frontend`: Not supported.
105+
- `backend`:
106+
- `clientCertificateRef`: Supported.
103107
- `allowedListeners`: Not supported.
104108
- `status`
105109
- `addresses`: Partially supported (LoadBalancer and ClusterIP).
@@ -325,8 +329,7 @@ Fields:
325329

326330
| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel |
327331
|------------------|---------------------|------------------------|---------------------------------------|-------------|---------------------|
328-
| BackendTLSPolicy | Partially Supported | Supported | Partially Supported | v1alpha3 | Experimental |
329-
332+
| BackendTLSPolicy | Supported | Supported | Partially Supported | v1 | Standard |
330333
{{< /table >}}
331334

332335
Fields:
@@ -352,6 +355,10 @@ Fields:
352355
- `conditions`: Partially supported. Supported (Condition/Status/Reason):
353356
- `Accepted/True/PolicyReasonAccepted`
354357
- `Accepted/False/PolicyReasonInvalid`
358+
- `Accepted/False/NoValidCACertificate`
359+
- `ResolvedRefs/True/ResolvedRefs`
360+
- `ResolvedRefs/False/InvalidCACertificateRef`
361+
- `ResolvedRefs/False/InvalidKind`
355362

356363
{{< call-out "note" >}} If multiple `backendRefs` are defined for a HTTPRoute rule, all the referenced Services *must* have matching BackendTLSPolicy configuration. BackendTLSPolicy configuration is considered to be matching if 1. CACertRefs reference the same ConfigMap, or 2. WellKnownCACerts are the same, and 3. Hostname is the same. {{< /call-out >}}
357364

0 commit comments

Comments
 (0)