ci: cache QEMU binfmt image in checks job to prevent matrix cache contention - #10572
ci: cache QEMU binfmt image in checks job to prevent matrix cache contention#10572javorszky wants to merge 13 commits into
Conversation
…tention Prime the QEMU binfmt container image cache during the initial single 'checks' job in ci.yml. This downloads the image once from Docker Hub and populates the GitHub Actions Cache before downstream matrix jobs run. This avoids ~90 parallel matrix jobs repeatedly fetching the image from Docker Hub and eliminates duplicate cache key reservation warnings.
There was a problem hiding this comment.
Pull request overview
This PR adjusts the main CI workflow to pre-pull and cache the QEMU binfmt image during the initial single checks job, aiming to reduce redundant Docker Hub pulls and cache-key contention in later jobs.
Changes:
- Adds a
docker/setup-qemu-actionstep to thechecksjob to prime the QEMUbinfmtimage cache. - Guards the new step with the existing
docs_onlycheck to avoid running on doc-only changes.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10572 +/- ##
=======================================
Coverage 57.26% 57.26%
=======================================
Files 103 103
Lines 22770 22770
=======================================
Hits 13040 13040
Misses 8936 8936
Partials 794 794 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Package ReportDetailsgcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx, 1.31.3-1~trixie, amd64gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx, 1.31.3-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-plus, 37.0.4-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, 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-3b4491667cdfdfa92f8bc2c9ec29b7a0, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx, 1.31.3-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx, 1.31.3-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine-fips, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine-fips, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine-fips, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine-fips, app-protect-threat-campaigns, 2026.08.06-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx, 1.31.3-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx, 1.31.3-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-agent, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi-agent, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-alpine-fips-agent, app-protect-threat-campaigns, 2026.08.06-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-agent, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-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-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi-agent, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-3b4491667cdfdfa92f8bc2c9ec29b7a0-ubi-agent, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/workflows/ci.yml:188
- The step is skipped when
inputs.forceis true butsteps.docs.outputs.docs_onlyis true, which means a forced rebuild of a docs-only change won’t prime the QEMU cache and can reintroduce the parallel Docker Hub pulls this PR is trying to avoid.
if: ${{ steps.docs.outputs.docs_only == 'false' && (steps.docker_build.outputs.docker_build == 'true' || steps.run_tests.outputs.run_tests == 'true') }}
.github/workflows/ci.yml:187
- Only this new QEMU step enables
cache-image: true; downstream reusable workflows that run in large matrices (e.g..github/workflows/build-oss.ymlandbuild-plus.yml) still calldocker/setup-qemu-actionwithoutcache-image, so they will continue pulling the binfmt image from Docker Hub and the intended cache-contention reduction likely won’t happen.
- name: Setup QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
with:
platforms: arm64
cache-image: true
…itly in reusable workflows - Update the QEMU cache priming step in the 'checks' job of ci.yml to trigger on (docker_build == 'true' || run_tests == 'true'), ensuring forced rebuilds (inputs.force) on docs-only changes also prime the cache. - Add 'cache-image: true' explicitly to docker/setup-qemu-action across build-oss.yml, build-plus.yml, and package-tests in ci.yml to ensure consistent cache restoration across matrix workflows.
Add a local cached QEMU setup action that restores and loads a pinned binfmt image tarball before installing emulators. Prime the cache once in CI and cache-update checks jobs, then require it in downstream OSS, Plus, and package-test matrix jobs. This avoids each matrix job pulling the binfmt image from Docker Hub and attempting to save the same GitHub Actions cache key.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.github/actions/setup-qemu-cached/action.yaml:42
fail-on-cache-missis effectively makingcache-mode: restorea hard requirement for a pre-existing cache, so any workflow using this action without a priorcache-mode: prime(or after the image digest changes / cache eviction) will fail before it can fall back todocker pull. Consider not failing on cache miss and only writing the cache whencache-modeisprime, so other callers keep working even if the cache is absent.
key: qemu-binfmt-${{ runner.os }}-${{ runner.arch }}-${{ inputs.image }}
fail-on-cache-miss: ${{ inputs.cache-mode == 'restore' }}
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.
Suppressed comments (2)
.github/actions/setup-qemu-cached/action.yaml:52
docker runuses$QEMU_IMAGE(which includes@sha256). Afterdocker load, the image is typically available only asrepo:tag, so this can fail or cause an unnecessary pull. Run the tag-only reference derived from$QEMU_IMAGEinstead.
env:
QEMU_IMAGE: ${{ inputs.image }}
QEMU_PLATFORMS: ${{ inputs.platforms }}
run: docker run --rm --privileged "$QEMU_IMAGE" --install "$QEMU_PLATFORMS"
.github/actions/setup-qemu-cached/action.yaml:34
docker loadtypically restores images byrepo:tagand does not preserve therepo:tag@sha256:...reference. On a cache hit, the laterdocker run "$QEMU_IMAGE"(which includes@sha256) is likely to fail or trigger a re-pull, undermining the cache. Consider saving/loading and running the tag-only reference (strip the digest) while still pulling the pinned digest for verification.
This issue also appears on line 49 of the same file.
run: |
mkdir -p "$QEMU_CACHE_DIR"
docker pull "$QEMU_IMAGE"
docker save --output "$QEMU_CACHE_DIR/binfmt.tar" "$QEMU_IMAGE"
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
.github/actions/setup-qemu-cached/action.yaml:36
docker pullis done using the digest-pinned ref ($QEMU_IMAGE), butdocker saveuses the tag-only ref ($qemu_image). If the tag isn’t created/updated by the digest pull (or a different tag is present locally), this can fail or save the wrong image into the cache. Consider tagging from the pulled image ID first, then saving that tag.
run: |
qemu_image="${QEMU_IMAGE%@*}"
mkdir -p "$QEMU_CACHE_DIR"
docker pull "$QEMU_IMAGE"
docker save --output "$QEMU_CACHE_DIR/binfmt.tar" "$qemu_image"
pdabelf5
left a comment
There was a problem hiding this comment.
I'm a little concerned about pushing the Github cache over the rate limit again with this PR. We needed to reduce our cache usage in recent PR to stablise the pipelines. Adding more calls may make things unreliable again.
|
Looks good, but I share Paul's concern about the cache limits, is there any way we could validate this to see if the cache limit is hit? |
Proposed changes
Prime the QEMU binfmt container image cache during the initial single 'checks' job in ci.yml. This downloads the image once from Docker Hub and populates the GitHub Actions Cache before downstream matrix jobs run.
This avoids ~90 parallel matrix jobs repeatedly fetching the image from Docker Hub and eliminates duplicate cache key reservation warnings.
Had to not use the setup-qemu-action because it unconditionally pulls the image anyways.
Checklist
Before creating a PR, run through this checklist and mark each as complete.