-
Notifications
You must be signed in to change notification settings - Fork 2k
Add nginx.org/http-redirect-code annotation and ConfigMap support #8711
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
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8711 +/- ##
==========================================
+ Coverage 53.80% 53.87% +0.07%
==========================================
Files 91 91
Lines 18564 18595 +31
==========================================
+ Hits 9988 10018 +30
+ Misses 8049 8047 -2
- Partials 527 530 +3 ☔ 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-9567b924d6cc1149f6b543d9efbc4906, nginx, 1.29.3-1~trixie, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-module-njs, 1.29.3+0.9.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-module-otel, 1.29.3+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 3.6.0~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx, 1.29.3-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-module-njs, 1.29.3+0.9.4-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-module-otel, 1.29.3+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 3.6.0~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 3.6.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 3.6.0~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-attack-signatures, 2025.12.11-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-threat-campaigns, 2025.12.09-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-module-plus, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-plugin, 6.25.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-dos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus, 36-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect, 36+5.550.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-attack-signatures, 2025.12.11-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-threat-campaigns, 2025.12.09-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, app-protect-dos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906, nginx-agent, 2.44.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx, 1.29.3-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-module-njs, 1.29.3.0.9.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-module-otel, 1.29.3.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-agent, 3.6.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx, 1.29.3-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-module-njs, 1.29.3.0.9.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-module-otel, 1.29.3.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-agent, 3.6.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus, 36-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-njs, 36.0.9.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-agent, 3.6.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus, 36-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-njs, 36.0.9.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-otel, 36.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-plus-module-fips-check, 36.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine, nginx-agent, 3.6.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus, 36-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-agent, 3.6.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus, 36-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-agent, 3.6.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus, 36-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-appprotect, 36.5.550.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, app-protect, 36.5.550.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, app-protect-attack-signatures, 2025.12.11-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, app-protect-threat-campaigns, 2025.12.09-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus, 36-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, nginx-plus-module-appprotect, 36.5.550.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, app-protect-module-plus, 36.5.550.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-alpine-fips, app-protect-plugin, 6.25.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx, 1.29.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-module-njs, 1.29.3+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-module-otel, 1.29.3+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-agent, 3.6.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx, 1.29.3-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-module-njs, 1.29.3+0.9.4-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-module-otel, 1.29.3+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-agent, 3.6.0-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-agent, 3.6.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-agent, 3.6.0-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-attack-signatures, 2025.12.11-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-threat-campaigns, 2025.12.09-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+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-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-module-plus, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-plugin, 6.25.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus, 36-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-njs, 36+0.9.4-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-otel, 36+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-appprotect, 36+5.550.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, app-protect, 36+5.550.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, app-protect-attack-signatures, 2025.12.11-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, app-protect-threat-campaigns, 2025.12.09-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus, 36-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-njs, 36+0.9.4-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-otel, 36+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-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-ubi8, nginx-plus-module-appprotect, 36+5.550.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, app-protect-module-plus, 36+5.550.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi8, app-protect-plugin, 6.25.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus, 36-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-otel, 36+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-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-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-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect, 36+5.550.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-attack-signatures, 2025.12.11-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-threat-campaigns, 2025.12.09-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-9567b924d6cc1149f6b543d9efbc4906-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64 |
2266e2d to
d710038
Compare
- Add ConfigMap option to set default HTTP redirect code globally - Add nginx.org/http-redirect-code annotation for per-Ingress override - Support redirect codes 301, 302, 307, 308 with validation - Annotation requires ssl-redirect or redirect-to-https to be enabled - Add k8s validation for annotation format checking - Update NGINX templates to use configurable redirect code Signed-off-by: Haywood Shannon <[email protected]>
Signed-off-by: Haywood Shannon <[email protected]>
d710038 to
788ae63
Compare
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 configurable HTTP redirect codes when redirecting HTTP to HTTPS in NGINX Ingress. It introduces a new ConfigMap option http-redirect-code for setting a default redirect code globally, and a new annotation nginx.org/http-redirect-code for per-Ingress overrides. The implementation supports redirect codes 301, 302, 307, and 308 with proper validation, and updates NGINX templates to use the configurable redirect code instead of the hardcoded 301.
Key Changes
- Added
HTTPRedirectCodefield to configuration parameters with default value of 301 - Implemented validation for the new annotation and ConfigMap option supporting codes 301, 302, 307, 308
- Updated NGINX and NGINX Plus templates to use configurable redirect codes
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| internal/telemetry/cluster.go | Added http-redirect-code to telemetry filtered keys |
| internal/k8s/validation_test.go | Added comprehensive tests for the new annotation validation and fixed formatting |
| internal/k8s/validation.go | Added annotation constant and validation function for http-redirect-code |
| internal/configs/version1/template_test.go | Added test for template with custom redirect code and updated test fixtures with default redirect code |
| internal/configs/version1/nginx.ingress.tmpl | Updated template to use configurable redirect code |
| internal/configs/version1/nginx-plus.ingress.tmpl | Updated NGINX Plus template to use configurable redirect code |
| internal/configs/version1/config.go | Added HTTPRedirectCode field to Server struct |
| internal/configs/version1/snapshots/template_test.snap | Added snapshot for new redirect code test case |
| internal/configs/ingress_test.go | Updated test expectations to include default redirect code |
| internal/configs/ingress.go | Added HTTPRedirectCode to server configuration generation |
| internal/configs/configmaps_test.go | Added comprehensive tests for redirect code parsing and ConfigMap handling |
| internal/configs/configmaps.go | Implemented ConfigMap parsing and validation for http-redirect-code |
| internal/configs/config_params.go | Added HTTPRedirectCode field to ConfigParams with default value 301 |
| internal/configs/annotations_test.go | Added tests for annotation behavior with different redirect scenarios |
| internal/configs/annotations.go | Added annotation constant and parsing logic for http-redirect-code |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]> Signed-off-by: Haywood Shannon <[email protected]>
Signed-off-by: Haywood Shannon <[email protected]> Signed-off-by: Haywood Shannon <[email protected]>
closes #7128
documentation PR: nginx/documentation#1570
Checklist
Before creating a PR, run through this checklist and mark each as complete.