Attach OIDC Native to Ingress Resource - #10623
Conversation
…ng secrets and invalid configurations, address copilot feedback
Signed-off-by: AlexFenlon <a.fenlon@f5.com>
…ng secrets and invalid configurations, address copilot feedback
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## test/oidc-native-e2e #10623 +/- ##
========================================================
- Coverage 57.81% 57.80% -0.02%
========================================================
Files 103 103
Lines 23236 23310 +74
========================================================
+ Hits 13435 13475 +40
- Misses 8982 9008 +26
- Partials 819 827 +8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds NGINX Plus native OIDC (oidcNative) Policy support when Policies are attached to Kubernetes Ingress resources, extending the Ingress (v1) config-generation path to emit oidc_provider/auth_oidc directives, and adds new integration coverage plus a runnable Ingress-based example.
Changes:
- Extend controller + config generation to resolve OIDC Native secret/trusted-cert references and to pass OIDC provider/session-store data into the v1 NGINX Plus Ingress template.
- Update the NGINX Plus Ingress template to render OIDC native providers, callback/proxy locations, and
keyval_zonesession stores; add Go unit + snapshot coverage. - Add Python E2E tests and new test-data scenarios for OIDC Native on Ingress (plus related scenario organization updates), and add an Ingress-based example under
examples/ingress-resources/oidc-native.
Reviewed changes
Copilot reviewed 42 out of 66 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/suite/test_oidc_native_scenarios.py | Point scenario loader at scenarios/vs |
| tests/suite/test_oidc_native_scenarios_ingress.py | New Ingress-native OIDC scenario E2E suite |
| tests/suite/test_oidc_native_ingress.py | New Playwright-based native OIDC Ingress E2E |
| tests/suite/test_oidc_native_fclo_ingress.py | New Ingress E2E for native OIDC FCLO / RP logout flows |
| tests/data/oidc-native/scenarios/vs/test-1-vs-spec.yaml | New VS OIDC Native scenario manifest |
| tests/data/oidc-native/scenarios/vs/test-2-vs-route.yaml | New VS route-level OIDC Native scenario |
| tests/data/oidc-native/scenarios/vs/test-3-vsr-subroute.yaml | New VSR subroute OIDC Native scenario |
| tests/data/oidc-native/scenarios/vs/test-4-two-policies-vs.yaml | New multi-policy OIDC Native scenario |
| tests/data/oidc-native/scenarios/vs/test-5-vs-and-vsr.yaml | New VS+VSR policy override scenario |
| tests/data/oidc-native/scenarios/vs/test-6-multi-vs-different-policies.yaml | New multi-VS different-policy scenario |
| tests/data/oidc-native/scenarios/vs/test-7-same-policy-multi-vs.yaml | New multi-VS shared-policy scenario |
| tests/data/oidc-native/scenarios/vs/test-8a-njs-and-native.yaml | New NJS+Native OIDC combination scenario |
| tests/data/oidc-native/scenarios/vs/test-8b-conflict.yaml | New conflict scenario manifest |
| tests/data/oidc-native/scenarios/vs/test-9-njs-vs-native.yaml | New separate VS NJS vs Native scenario |
| tests/data/oidc-native/scenarios/vs/test-10-lifecycle-delete.yaml | New delete/recreate policy lifecycle scenario |
| tests/data/oidc-native/scenarios/vs/test-13-invalid.yaml | New invalid-policy admission-time scenarios |
| tests/data/oidc-native/scenarios/vs/test-14-no-tls.yaml | New no-TLS smoke scenario |
| tests/data/oidc-native/scenarios/vs/test-15-mixed-routes.yaml | New mixed protected/open routes scenario |
| tests/data/oidc-native/scenarios/vs/test-16-cross-namespace.yaml | New cross-namespace policy reference scenario |
| tests/data/oidc-native/scenarios/vs/test-17-missing-secret.yaml | New missing client-secret negative scenario |
| tests/data/oidc-native/scenarios/vs/test-18-wrong-secret-type.yaml | New wrong secret-type negative scenario |
| tests/data/oidc-native/scenarios/vs/test-19-missing-ca.yaml | New missing trusted CA negative scenario |
| tests/data/oidc-native/scenarios/vs/test-20-wrong-ca-type.yaml | New wrong CA secret-type negative scenario |
| tests/data/oidc-native/scenarios/vs/test-21-wrong-key.yaml | New wrong data-key negative scenario |
| tests/data/oidc-native/scenarios/vs/test-22-both-oidc.yaml | New policy-mutual-exclusion scenario |
| tests/data/oidc-native/scenarios/ingress/test-1-standard.yaml | New Ingress OIDC Native standard scenario |
| tests/data/oidc-native/scenarios/ingress/test-2-mergeable-minion.yaml | New mergeable Ingress minion policy scenario |
| tests/data/oidc-native/scenarios/ingress/test-3-two-policies.yaml | New two-policy mergeable override scenario |
| tests/data/oidc-native/scenarios/ingress/test-4-multi-ingress-different-policies.yaml | New multi-Ingress different-policy scenario |
| tests/data/oidc-native/scenarios/ingress/test-5-same-policy-multi-ingress.yaml | New multi-Ingress shared-policy scenario |
| tests/data/oidc-native/scenarios/ingress/test-6-njs-ingress-native-ingress.yaml | New “NJS unsupported on Ingress” + native works scenario |
| tests/data/oidc-native/scenarios/ingress/test-7-lifecycle-delete.yaml | New policy lifecycle scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-8-no-tls.yaml | New no-TLS smoke scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-9-mixed-routes.yaml | New mixed protected/open routes scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-10-cross-namespace.yaml | New cross-namespace annotation reference scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-11-missing-secret.yaml | New missing secret negative scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-12-wrong-secret-type.yaml | New wrong secret-type negative scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-13-missing-ca.yaml | New missing CA negative scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-14-wrong-ca-type.yaml | New wrong CA secret-type negative scenario (Ingress) |
| tests/data/oidc-native/scenarios/ingress/test-15-wrong-key.yaml | New wrong data-key negative scenario (Ingress) |
| tests/data/oidc-native/ingress/keycloak-ingress.yaml | New Keycloak Ingress test manifest |
| tests/data/oidc-native/ingress/oidc-native-policy-ingress.yaml | New webapp Ingress test manifest referencing policy |
| tests/data/oidc-native-fclo/ingress/ingress-one.yaml | New FCLO Ingress manifest (app one) |
| tests/data/oidc-native-fclo/ingress/ingress-two.yaml | New FCLO Ingress manifest (app two) |
| internal/k8s/controller.go | Track OIDCNative secret + trusted CA secret refs for resync |
| internal/configs/version1/config.go | Extend Ingress config structs with OIDC providers + keyval zones |
| internal/configs/version1/nginx-plus.ingress.tmpl | Render OIDC native directives/locations and keyval zones for Ingress |
| internal/configs/version1/template_test.go | Add v1 NGINX Plus template test for OIDC native output |
| internal/configs/version1/snapshots/template_test.snap | Snapshot update for new template output |
| internal/configs/ingress.go | Generate/dedupe OIDC native providers + keyval zones for Ingress configs |
| internal/configs/ingress_test.go | Add unit tests for Ingress OIDC native config generation |
| internal/configs/policy.go | Mark OIDCNative as supported on Ingress policies |
| internal/configs/policy_test.go | Update policy support expectations for Ingress |
| hack/secrets.json | Register example secret paths for make secrets generation |
| examples/ingress-resources/oidc-native/README.md | New Ingress-based native OIDC example documentation |
| examples/ingress-resources/oidc-native/keycloak_setup.md | New Keycloak setup guide for the example |
| examples/ingress-resources/oidc-native/nginx-config.yaml | Example ConfigMap for resolver settings |
| examples/ingress-resources/oidc-native/keycloak.yaml | Example Keycloak deployment/service |
| examples/ingress-resources/oidc-native/keycloak-ingress.yaml | Example Keycloak Ingress |
| examples/ingress-resources/oidc-native/webapp.yaml | Example webapp deployment/service |
| examples/ingress-resources/oidc-native/webapp-ingress.yaml | Example webapp Ingress referencing OIDC native policy |
| examples/ingress-resources/oidc-native/oidc-native-policy.yaml | Example Policy manifest enabling OIDC native |
| examples/ingress-resources/oidc-native/client-secret.yaml | Example client secret manifest |
| .gitignore | Ignore generated example secret files for the new example |
Suppressed comments (1)
examples/ingress-resources/oidc-native/README.md:85
- This logout step also uses
webapp.<EXTERNAL-IP>.nip.io, which doesn’t match thewebapp.example.comhost in the example Ingress manifest. Align the hostname here with the manifests (or document the required DNS/--resolve setup).
## Step 9 - Log Out
1. Navigate to `https://webapp.<EXTERNAL-IP>.nip.io/logout` (or `https://${WEBAPP_HOST}/logout`). Your session is terminated and you land on `/_logout`. 
2. Visit `https://webapp.<EXTERNAL-IP>.nip.io` again — you are prompted to log in.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| metadata: | ||
| name: oidcnative-secret | ||
| type: Opaque | ||
| stringData: | ||
| client-secret: <insert-secret-here> |
| -d "{ | ||
| \"clientId\": \"nginx-plus\", | ||
| \"secret\": \"oEJ3QhcKVYR42eZ5soWLeasGzQj7gYwGSBQa3sDZBoaxu4Up9wsgneF4AuFu6OnaxfROwXL5X4HEeY9Xyq4XkV\", | ||
| \"directAccessGrantsEnabled\": true, | ||
| \"redirectUris\": [\"https://${WEBAPP_HOST}/*\"] | ||
| }" \ |
| export KEYCLOAK_HOST=keycloak.<EXTERNAL-IP>.nip.io | ||
| export WEBAPP_HOST=webapp.<EXTERNAL-IP>.nip.io |
| ## Step 8 - Test the Authentication Flow | ||
|
|
||
| 1. Open `https://webapp.<EXTERNAL-IP>.nip.io` (or `https://${WEBAPP_HOST}`) in your browser. You are redirected to Keycloak. | ||
| 2. Log in as `nginx-user` / `test`.  | ||
| 3. You are redirected back to the web application. |
Package ReportDetailsgcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx, 1.31.3-1~trixie, amd64gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-module-njs, 1.31.3+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-module-otel, 1.31.3+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx, 1.31.3-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-module-njs, 1.31.3+1.0.0-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-module-otel, 1.31.3+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-threat-campaigns, 2026.08.12-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-module-plus, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-plugin, 6.30.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-threat-campaigns, 2026.08.12-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx, 1.31.3-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-module-njs, 1.31.3.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-module-otel, 1.31.3.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx, 1.31.3-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-module-njs, 1.31.3.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-module-otel, 1.31.3.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-njs, 37.0.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-otel, 37.0.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-plus-module-fips-check, 37.0.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-agent, 2.46.7, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect-ip-intelligence, 1.59.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect-attack-signatures, 2026.08.07-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect-threat-campaigns, 2026.08.12-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-agent, 2.46.7, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect-module-plus, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips, app-protect-plugin, 6.30.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx, 1.31.3-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-module-njs, 1.31.3+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-module-otel, 1.31.3+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx, 1.31.3-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-module-njs, 1.31.3+1.0.0-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-module-otel, 1.31.3+0.1.2-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-threat-campaigns, 2026.08.12-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-module-plus, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-plugin, 6.30.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-threat-campaigns, 2026.08.12-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-threat-campaigns, 2026.08.12-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-threat-campaigns, 2026.08.12-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect-attack-signatures, 2026.08.07-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect-threat-campaigns, 2026.08.12-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect-ip-intelligence, 1.59.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-module-plus, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-plugin, 6.30.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-module-plus, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-plugin, 6.30.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect-module-plus, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, app-protect-plugin, 6.30.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-alpine-fips-agent, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-threat-campaigns, 2026.08.12-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-agent, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-threat-campaigns, 2026.08.12-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-335383f0e7201dbd1577dd13eff9e356-ubi-agent, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 |
Proposed changes
This PR adds support for NGINX Plus Native OIDC Policy on Ingress. It also includes E2E integration tests for this policy on Ingress.
Checklist
Before creating a PR, run through this checklist and mark each as complete.