-
Notifications
You must be signed in to change notification settings - Fork 2k
Move proxy values balancing to the beginning of parsing #8133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
afaik should only be used for CRD generation |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8133 +/- ##
==========================================
+ Coverage 53.35% 53.64% +0.28%
==========================================
Files 90 91 +1
Lines 21912 22302 +390
==========================================
+ Hits 11691 11963 +272
- Misses 9744 9836 +92
- Partials 477 503 +26 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Docs PR: nginx/documentation#917 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR moves proxy buffer value balancing from template helpers to the config/annotation parsing phase. It introduces custom data types for size and buffer configurations to ensure type safety and consistency, along with validation rules based on NGINX source code requirements.
Key changes:
- Introduces
SizeWithUnit
andNumberSizeConfig
structs with type-safe parsing and validation - Implements
BalanceProxyValues
function to normalize proxy buffer relationships according to NGINX constraints - Updates test expectations to handle auto-correction of invalid proxy buffer configurations
Reviewed Changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 6 comments.
Show a summary per file
File | Description |
---|---|
internal/validation/data_types.go |
Defines new custom types for size and buffer configurations with validation logic |
internal/configs/configmaps.go |
Updates config parsing to use new types and balance proxy values |
internal/configs/annotations.go |
Updates annotation parsing to use new types and balance proxy values |
tests/suite/test_virtual_server_configmap_keys.py |
Updates test to handle corrected proxy buffer behavior |
internal/configs/virtualserver.go |
Updates template generation to use string representation of new types |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…nabled and vise versa
Signed-off-by: AlexFenlon <[email protected]>
Package Report
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx, 1.29.1-1~bookworm, amd64
gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-module-njs, 1.29.1+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-module-otel, 1.29.1+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 3.3.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx, 1.29.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-module-njs, 1.29.1+0.9.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-module-otel, 1.29.1+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 3.3.0~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 3.3.0~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 3.3.0~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-appprotect, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-attack-signatures, 2025.08.14-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-threat-campaigns, 2025.08.25-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 2.42.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-appprotect, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-module-plus, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-plugin, 6.20.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 2.42.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-appprotectdos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-dos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus, 35-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-njs, 35+0.9.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-otel, 35+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-fips-check, 35+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-appprotect, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect, 35+5.498.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-attack-signatures, 2025.08.14-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-threat-campaigns, 2025.08.25-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-plus-module-appprotectdos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, app-protect-dos, 35+4.7.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f, nginx-agent, 2.42.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx, 1.29.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-module-njs, 1.29.1.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-module-otel, 1.29.1.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-agent, 3.3.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx, 1.29.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-module-njs, 1.29.1.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-module-otel, 1.29.1.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-agent, 3.3.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-agent, 3.3.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus, 35-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-njs, 35.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-otel, 35.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-plus-module-fips-check, 35.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine, nginx-agent, 3.3.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-agent, 3.3.0, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus, 35-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-agent, 3.3.0, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-agent, 2.42.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-appprotect, 35.5.498.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, app-protect, 35.5.498.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, app-protect-attack-signatures, 2025.08.14-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, app-protect-threat-campaigns, 2025.08.25-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus, 35-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-njs, 35.0.9.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-otel, 35.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-fips-check, 35.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-agent, 2.42.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, nginx-plus-module-appprotect, 35.5.498.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, app-protect-module-plus, 35.5.498.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-alpine-fips, app-protect-plugin, 6.20.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx, 1.29.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-module-njs, 1.29.1+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-module-otel, 1.29.1+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 3.3.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx, 1.29.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-module-njs, 1.29.1+0.9.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-module-otel, 1.29.1+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 3.3.0-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 3.3.0-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 3.3.0-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 2.42.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-appprotect, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-attack-signatures, 2025.08.14-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-threat-campaigns, 2025.08.25-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 2.42.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-appprotect, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-module-plus, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-plugin, 6.20.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus, 35-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-njs, 35+0.9.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-otel, 35+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-fips-check, 35+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-agent, 2.42.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-appprotect, 35+5.498.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, app-protect, 35+5.498.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, app-protect-attack-signatures, 2025.08.14-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, app-protect-threat-campaigns, 2025.08.25-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus, 35-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-njs, 35+0.9.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-otel, 35+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-fips-check, 35+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-agent, 2.42.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, nginx-plus-module-appprotect, 35+5.498.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, app-protect-module-plus, 35+5.498.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi8, app-protect-plugin, 6.20.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-appprotectdos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-dos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus, 35-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-njs, 35+0.9.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-otel, 35+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-fips-check, 35+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-appprotect, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-plus-module-appprotectdos, 35+4.7.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, nginx-agent, 2.42.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect, 35+5.498.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-attack-signatures, 2025.08.14-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-threat-campaigns, 2025.08.25-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-1d86e46cc97e1958bc782eeaf79df37f-ubi, app-protect-dos, 35+4.7.3-1.el9.ngx, x86_64 |
Co-authored-by: Paul Abel <[email protected]> Signed-off-by: AlexFenlon <[email protected]>
Signed-off-by: AlexFenlon <[email protected]> Co-authored-by: Alex Fenlon <[email protected]> # Conflicts: # charts/nginx-ingress/values.yaml
Proposed changes
This PR moves the proxy values balancing from the template helpers to the time where the annotations and config maps are being parsed. There are a few notable changes:
4 8k
and16k
) are now custom structs with iota constants for the unit (k
,m
), anduint64
for the numbers. This guarantees that once the values are parsed and corrected, they won't become invalid later through any changes, and we can offload a lot of the error checking to the compiler. One such is that we know none of the values will be negative, because auint
can't be negativeproxy_buffers
value passed in via a configmap would generate a bad config, now it gets auto-corrected to the default2 4k
value. This is the cost of moving the proxy balancing to be right after parsing the values2 4k
, and everything else gets brought down to fit into that oneproxy_buffers
: https://github.com/nginx/nginx/blob/master/src/http/modules/ngx_http_proxy_module.c#L3763-L3767proxy_busy_buffers_size
: https://github.com/nginx/nginx/blob/master/src/http/modules/ngx_http_proxy_module.c#L3787-L3804proxy_buffers_size
is at most all ofproxy_buffers
minus one buffer sizeChecklist
Before creating a PR, run through this checklist and mark each as complete.