Skip to content

Conversation

@vepatel
Copy link
Contributor

@vepatel vepatel commented Dec 15, 2025

Proposed changes

  • Update service template to render ipfamilies as list.
  • Add unit test for list configs
# Source: nginx-ingress/templates/controller-service.yaml apiVersion: v1 kind: Service metadata: name: test-release-nginx-ingress-controller namespace: default labels: helm.sh/chart: nginx-ingress-2.5.0 app.kubernetes.io/name: nginx-ingress app.kubernetes.io/instance: test-release app.kubernetes.io/version: "5.4.0" app.kubernetes.io/managed-by: Helm spec: externalTrafficPolicy: Local type: LoadBalancer ipFamilies: - IPv6 - IPv4 ports: - port: 80 targetPort: 80 protocol: TCP name: http nodePort: - port: 443 targetPort: 443 protocol: TCP name: https nodePort: selector: app.kubernetes.io/name: nginx-ingress app.kubernetes.io/instance: test-release 

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork
@vepatel vepatel requested a review from a team as a code owner December 15, 2025 17:06
Copilot AI review requested due to automatic review settings December 15, 2025 17:06
@github-actions github-actions bot added bug An issue reporting a potential bug go Pull requests that update Go code labels Dec 15, 2025
@codecov
Copy link

codecov bot commented Dec 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 53.80%. Comparing base (45cae05) to head (b97a40e).

Additional details and impacted files
@@ Coverage Diff @@ ## main #8722 +/- ## ========================================== + Coverage 53.79% 53.80% +0.01%  ========================================== Files 91 91 Lines 18564 18564 ========================================== + Hits 9986 9988 +2  Misses 8049 8049 + Partials 529 527 -2 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
@vepatel vepatel added the helm_chart Pull requests that update the Helm Chart label Dec 15, 2025
@github-actions
Copy link
Contributor

Package Report

Details gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx, 1.29.3-1~trixie, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-module-njs, 1.29.3+0.9.4-1~trixie, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-module-otel, 1.29.3+0.1.2-1~trixie, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 3.6.0~trixie, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx, 1.29.3-1~trixie, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-module-njs, 1.29.3+0.9.4-1~trixie, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-module-otel, 1.29.3+0.1.2-1~trixie, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 3.6.0~trixie, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 3.6.0~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 3.6.0~bookworm, arm64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-attack-signatures, 2025.12.11-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-threat-campaigns, 2025.12.09-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 2.45.0~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-module-plus, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-plugin, 6.25.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 2.45.0~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-dos, 36+4.8.3-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus, 36-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-njs, 36+0.9.4-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-appprotect, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect, 36+5.550.0-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-attack-signatures, 2025.12.11-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-threat-campaigns, 2025.12.09-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, app-protect-dos, 36+4.8.3-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b, nginx-agent, 2.45.0~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx, 1.29.3-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-module-njs, 1.29.3.0.9.4-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-module-otel, 1.29.3.0.1.2-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-agent, 3.6.0, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx, 1.29.3-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-module-njs, 1.29.3.0.9.4-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-module-otel, 1.29.3.0.1.2-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-agent, 3.6.0, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus, 36-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-njs, 36.0.9.4-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-otel, 36.0.1.2-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-fips-check, 36.0.1-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-agent, 3.6.0, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus, 36-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-njs, 36.0.9.4-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-otel, 36.0.1.2-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-plus-module-fips-check, 36.0.1-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine, nginx-agent, 3.6.0, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus, 36-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-agent, 3.6.0, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus, 36-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-agent, 3.6.0, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus, 36-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-agent, 2.45.0, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-appprotect, 36.5.550.0-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, app-protect, 36.5.550.0-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, app-protect-attack-signatures, 2025.12.11-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, app-protect-threat-campaigns, 2025.12.09-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus, 36-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-njs, 36.0.9.4-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-agent, 2.45.0, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, nginx-plus-module-appprotect, 36.5.550.0-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, app-protect-module-plus, 36.5.550.0-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-alpine-fips, app-protect-plugin, 6.25.0-r1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx, 1.29.3-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-module-njs, 1.29.3+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-module-otel, 1.29.3+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 3.6.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx, 1.29.3-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-module-njs, 1.29.3+0.9.4-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-module-otel, 1.29.3+0.1.2-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 3.6.0-1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 3.6.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 3.6.0-1, aarch64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 2.45.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-attack-signatures, 2025.12.11-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-threat-campaigns, 2025.12.09-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 2.45.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-module-plus, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-plugin, 6.25.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus, 36-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-njs, 36+0.9.4-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-otel, 36+0.1.2-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-agent, 2.45.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-appprotect, 36+5.550.0-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, app-protect, 36+5.550.0-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, app-protect-attack-signatures, 2025.12.11-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, app-protect-threat-campaigns, 2025.12.09-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus, 36-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-njs, 36+0.9.4-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-otel, 36+0.1.2-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-agent, 2.45.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, nginx-plus-module-appprotect, 36+5.550.0-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, app-protect-module-plus, 36+5.550.0-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi8, app-protect-plugin, 6.25.0-1.el8.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus, 36-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-njs, 36+0.9.4-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-appprotect, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, nginx-agent, 2.45.0-1, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect, 36+5.550.0-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-attack-signatures, 2025.12.11-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-threat-campaigns, 2025.12.09-1.el9.ngx, x86_64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-44c8233a02275f2a16bcab73a159af7b-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Helm chart's service template to properly render the ipFamilies field as a YAML list instead of inline text. The key change ensures that when multiple IP families are specified (e.g., IPv6 and IPv4 for dual-stack configurations), they are rendered correctly in the generated Kubernetes Service manifest.

Key changes:

  • Modified the ipFamilies rendering in the controller service template to use toYaml with proper indentation
  • Added comprehensive test data file covering multiple list-type configurations (ipFamilies, loadBalancerSourceRanges, externalIPs, customPorts)
  • Added test case and snapshot validation for the list configurations

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
charts/nginx-ingress/templates/controller-service.yaml Updated ipFamilies template rendering to properly format as YAML list
charts/tests/testdata/list-configurations.yaml Added test configuration file with various list-type service configurations
charts/tests/helmunit_test.go Added test case for list configurations
charts/tests/__snapshots__/helmunit_test.snap Added snapshot output validating the rendered templates with list configurations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vepatel vepatel changed the title update service template for ipfamilies update service template for ipFamilies Dec 15, 2025
@github-actions github-actions bot removed the helm_chart Pull requests that update the Helm Chart label Dec 16, 2025
@vepatel vepatel added the needs cherry pick Cherry pick this PR into a release branch label Dec 16, 2025
@AlexFenlon AlexFenlon merged commit 80fea8c into main Dec 16, 2025
92 checks passed
@AlexFenlon AlexFenlon deleted the fix/update-ipfamilies-template branch December 16, 2025 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug An issue reporting a potential bug go Pull requests that update Go code needs cherry pick Cherry pick this PR into a release branch

5 participants