-
Notifications
You must be signed in to change notification settings - Fork 2k
add rewrite-target annotation #8508
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Venktesh Shivam Patel <[email protected]>
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for URL path rewriting in NGINX Ingress Controller through a new nginx.org/rewrite-target annotation. The feature enables both static and regex-based path rewrites with capture group support, implemented using NGINX's rewrite directive with the break flag.
Key Changes:
- New
nginx.org/rewrite-targetannotation for path rewriting - Comprehensive validation preventing security issues (absolute URLs, path traversal, protocol-relative URLs)
- Mutual exclusivity with existing
nginx.org/rewritesannotation - Support for case-sensitive, case-insensitive, and exact path matching
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/k8s/validation.go | Added validation logic for rewrite-target annotation with security checks |
| internal/k8s/validation_test.go | Added comprehensive validation test cases |
| internal/configs/annotations.go | Implemented getRewriteTarget function with mutual exclusivity check |
| internal/configs/annotations_test.go | Added tests for annotation behavior and mutual exclusivity |
| internal/configs/ingress.go | Integrated rewrite-target into location creation |
| internal/configs/version1/config.go | Added RewriteTarget field to Location struct |
| internal/configs/version1/template_helper.go | Implemented makeRewritePattern to extract patterns from location paths |
| internal/configs/version1/template_helper_test.go | Added tests for pattern extraction logic |
| internal/configs/version1/nginx.ingress.tmpl | Added rewrite directive generation in template |
| internal/configs/version1/nginx-plus.ingress.tmpl | Added rewrite directive generation in NGINX Plus template |
| internal/configs/version1/template_test.go | Added template rendering tests for various rewrite scenarios |
| tests/suite/test_rewrite_target.py | Added Python e2e tests for static and regex rewrites |
| tests/data/rewrite-target/*.yaml | Added test fixtures for e2e tests |
| examples/ingress-resources/rewrite-target/*.yaml | Added example manifests and documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8508 +/- ##
==========================================
+ Coverage 53.58% 53.68% +0.10%
==========================================
Files 91 91
Lines 18250 18307 +57
==========================================
+ Hits 9780 9829 +49
- Misses 7960 7964 +4
- Partials 510 514 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Package Report
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx, 1.29.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-module-njs, 1.29.1+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-module-otel, 1.29.1+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 3.3.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx, 1.29.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-module-njs, 1.29.1+0.9.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-module-otel, 1.29.1+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 3.3.2~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 3.3.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 3.3.2~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-appprotect, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-attack-signatures, 2025.10.29-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-threat-campaigns, 2025.11.03-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-appprotect, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-module-plus, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-plugin, 6.23.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-appprotectdos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-dos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-appprotect, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect, 35+5.527.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-attack-signatures, 2025.10.29-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-threat-campaigns, 2025.11.03-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-plus-module-appprotectdos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, app-protect-dos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx, 1.29.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-module-njs, 1.29.1.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-module-otel, 1.29.1.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-agent, 3.3.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx, 1.29.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-module-njs, 1.29.1.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-module-otel, 1.29.1.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-agent, 3.3.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-agent, 3.3.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus, 35-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-njs, 35.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-otel, 35.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-plus-module-fips-check, 35.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine, nginx-agent, 3.3.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-agent, 3.3.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus, 35-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-agent, 3.3.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-agent, 2.44.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-appprotect, 35.5.527.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, app-protect, 35.5.527.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, app-protect-attack-signatures, 2025.10.29-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, app-protect-threat-campaigns, 2025.11.03-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-agent, 2.44.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, nginx-plus-module-appprotect, 35.5.527.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, app-protect-module-plus, 35.5.527.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-alpine-fips, app-protect-plugin, 6.23.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx, 1.29.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-module-njs, 1.29.1+0.9.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-module-otel, 1.29.1+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 3.3.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx, 1.29.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-module-njs, 1.29.1+0.9.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-module-otel, 1.29.1+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 3.3.2-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 3.3.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 3.3.2-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 2.44.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-appprotect, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-attack-signatures, 2025.10.29-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-threat-campaigns, 2025.11.03-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 2.44.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-appprotect, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-module-plus, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-plugin, 6.23.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus, 35-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-njs, 35+0.9.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-otel, 35+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-fips-check, 35+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-agent, 2.44.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-appprotect, 35+5.527.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, app-protect, 35+5.527.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, app-protect-attack-signatures, 2025.10.29-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, app-protect-threat-campaigns, 2025.11.03-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus, 35-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-njs, 35+0.9.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-otel, 35+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-fips-check, 35+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-agent, 2.44.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, nginx-plus-module-appprotect, 35+5.527.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, app-protect-module-plus, 35+5.527.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi8, app-protect-plugin, 6.23.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-appprotectdos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-dos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-appprotect, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-plus-module-appprotectdos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, nginx-agent, 2.44.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect, 35+5.527.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-attack-signatures, 2025.10.29-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-threat-campaigns, 2025.11.03-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-a8fe1f020e82dbbcd11abaa11f430401-ubi, app-protect-dos, 35+4.7.3-1.el9.ngx, x86_64 |
Proposed changes
rewritenginx directive vianginx.org/rewrite-targetDocs PR: nginx/documentation#1415
yaml:
conf:
curl:
Checklist
Before creating a PR, run through this checklist and mark each as complete.