Skip to content
Merged
Show file tree
Hide file tree
Changes from 65 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
07b9230
add helper function to enable proxy_buffers if proxy_buffer_size is e…
AlexFenlon Jul 24, 2025
820d620
add a safe way to enable proxy_buffers and proxy_buffer_size
AlexFenlon Jul 24, 2025
e9f0274
add `nginx.org/proxy-busy-buffers-size` annotation to ingress
AlexFenlon Jul 25, 2025
f32d163
add `proxy-busy-buffer-size` to configmap, improve validation
AlexFenlon Jul 28, 2025
1573082
rename ProxyBusyBufferSize to ProxyBusyBuffersSize to be more accurate
AlexFenlon Jul 28, 2025
b46e413
Add ProxyBusyBuffersSize to VirtualServer as `busy-buffers-size`
AlexFenlon Jul 28, 2025
ded1e22
make validation better
AlexFenlon Jul 30, 2025
dc78b16
make validation better
AlexFenlon Jul 30, 2025
be0fa51
Update tests
AlexFenlon Jul 31, 2025
14e6a4d
Update tests, improve validation
AlexFenlon Jul 31, 2025
a7bcc2e
fix validation
AlexFenlon Jul 31, 2025
5372bb8
Put back the proxy max temp filesize data
javorszky Aug 8, 2025
c67ff54
Create a new typed unit to store sizes and offsets
javorszky Aug 8, 2025
57afcfb
Move new units to internal configs
javorszky Aug 8, 2025
ce03f44
Move data types to their own file
javorszky Aug 11, 2025
14491db
Move proxy units into common package
javorszky Aug 11, 2025
0add8ec
Adjust templates to make them pass
javorszky Aug 11, 2025
a4148e4
Normalise parsing of bad / unknown to mb
javorszky Aug 12, 2025
af72ed6
Return emptystring if numbersize is zero
javorszky Aug 12, 2025
f40a39d
Create BalanceProxy function and tests
javorszky Aug 13, 2025
235e2b4
Reconcile the proxy values after parsing them
javorszky Aug 13, 2025
3ec9d63
Fix logic in clamping behaviour
javorszky Aug 13, 2025
73f5b4b
Fix tests, make another test parallel
javorszky Aug 13, 2025
1333ddd
Account for proxies not being present if invalid
javorszky Aug 13, 2025
16e7750
Simplify tests for data types
javorszky Aug 13, 2025
c9b3445
Fix tests
javorszky Aug 13, 2025
d271802
Fix more tests
javorszky Aug 13, 2025
9baff51
Add proxy balancing to virtualservers
javorszky Aug 14, 2025
6f026c7
Add validation to validateUpstreams
javorszky Aug 15, 2025
96a4067
Add autoadjust flag and propagate it
javorszky Aug 20, 2025
2000d52
fix nil pointer
AlexFenlon Aug 20, 2025
7031835
Add upper bound check between int and uint64
javorszky Aug 20, 2025
63c37c9
fix helm flag
AlexFenlon Aug 20, 2025
59f501b
Default proxy buffer number is 8, not 2
javorszky Aug 20, 2025
755ee45
Adjust spacing for proxy directives in templates
javorszky Aug 20, 2025
7949c38
add helm validation for flag and fix unsigned int
AlexFenlon Aug 20, 2025
c1ad046
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Aug 20, 2025
fe71f34
fix unsigned int
AlexFenlon Aug 20, 2025
ca97952
Merge remote-tracking branch 'origin/feat/fixed-safe-buffer-config' i…
AlexFenlon Aug 20, 2025
fc00fd3
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Aug 22, 2025
f63c4d2
fix vs not working
AlexFenlon Aug 22, 2025
958b8f4
fix vs placement?
AlexFenlon Aug 22, 2025
2aa6acc
Fix VS autoadjust
AlexFenlon Aug 25, 2025
415fb74
Fix ingress autoadjust
AlexFenlon Aug 25, 2025
2199db2
Merge remote-tracking branch 'origin/main' into feat/fixed-safe-buffe…
AlexFenlon Aug 25, 2025
13f1e0a
Fix lint
AlexFenlon Aug 25, 2025
ac26551
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Aug 25, 2025
39e1a89
add missing validation for annotation
AlexFenlon Aug 25, 2025
19fcb6d
Expand comment on why we need that method
javorszky Aug 26, 2025
6c8f88c
We don't need proxy busy buffer size annotations
javorszky Aug 26, 2025
06b957b
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Aug 26, 2025
2e8da11
Apply suggestions from code review
AlexFenlon Aug 27, 2025
c516385
Update internal/validation/data_types.go
AlexFenlon Aug 27, 2025
6075682
address comments on pr
AlexFenlon Aug 27, 2025
248fae7
Update cmd/nginx-ingress/flags.go
AlexFenlon Aug 27, 2025
0305674
move isDirectiveAutoadjustEnabled from Configurator to StaticConfigPa…
AlexFenlon Aug 27, 2025
3b7bab0
fix ingress annotation not being enabled
AlexFenlon Aug 27, 2025
b7a9875
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Aug 28, 2025
3167c1b
Merge branch 'main' into feat/fixed-safe-buffer-config
javorszky Aug 28, 2025
349c087
Merge branch 'main' into feat/fixed-safe-buffer-config
javorszky Aug 28, 2025
f00c78d
Merge branch 'main' into feat/fixed-safe-buffer-config
javorszky Aug 29, 2025
1800e6d
Rename constants for consistency
javorszky Aug 29, 2025
7f9712d
Clamp the number of buffers to the correct place
javorszky Aug 29, 2025
dc6907d
Do not clamp without flag
javorszky Aug 29, 2025
a93e96e
add more test cases
AlexFenlon Aug 29, 2025
cf9083a
Update internal/configs/parsing_helpers_test.go
AlexFenlon Sep 1, 2025
d863c20
fix tests
AlexFenlon Sep 1, 2025
7fd146e
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Sep 1, 2025
a35cf61
Merge branch 'main' into feat/fixed-safe-buffer-config
AlexFenlon Sep 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions charts/nginx-ingress/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,9 @@ Build the args for the service binary.
- -enable-custom-resources={{ .Values.controller.enableCustomResources }}
- -enable-snippets={{ .Values.controller.enableSnippets }}
- -disable-ipv6={{ .Values.controller.disableIPV6 }}
{{- if .Values.controller.directiveAutoAdjust }}
- -enable-directive-autoadjust={{ .Values.controller.directiveAutoAdjust }}
{{- end }}
{{- if .Values.controller.enableCustomResources }}
- -enable-tls-passthrough={{ .Values.controller.enableTLSPassthrough }}
{{- if .Values.controller.enableTLSPassthrough }}
Expand Down
9 changes: 9 additions & 0 deletions charts/nginx-ingress/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,15 @@
"json"
]
},
"directiveAutoAdjust": {
"type": "boolean",
"default": false,
"title": "Enables automatic adjustment of the NGINX buffers directives",
"examples": [
false,
true
]
},
"customPorts": {
"type": "array",
"default": [],
Expand Down
4 changes: 4 additions & 0 deletions charts/nginx-ingress/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,10 @@ controller:
## Sets the log format of Ingress Controller. Options include: glog, json, text
logFormat: glog

## Enables auto adjusting some of the NGINX directives to help with safe configuration and prevent NGINX misconfigurations.
## See https://docs.nginx.com/nginx-ingress-controller/configuration/proxy-buffers-configuration/ for more details of which configuration options are affected
directiveAutoAdjust: false

## Cache configuration options
cache:
## Enables shared cache across multiple pods using an external persistent volume
Expand Down
2 changes: 2 additions & 0 deletions cmd/nginx-ingress/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@ var (

enableDynamicWeightChangesReload = flag.Bool(dynamicWeightChangesParam, false, "Enable changing weights of split clients without reloading NGINX. Requires -nginx-plus")

enableDirectiveAutoadjust = flag.Bool("enable-directive-autoadjust", false, "Enable automatic adjustment of NGINX directives to avoid conflicting NGINX configuration. Results may vary and might not be ideal in all cases.")

startupCheckFn func() error
)

Expand Down
5 changes: 4 additions & 1 deletion cmd/nginx-ingress/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ func main() {
EnableCertManager: *enableCertManager,
DynamicSSLReload: *enableDynamicSSLReload,
DynamicWeightChangesReload: *enableDynamicWeightChangesReload,
IsDirectiveAutoadjustEnabled: *enableDirectiveAutoadjust,
StaticSSLPath: staticSSLPath,
NginxVersion: nginxVersion,
AppProtectBundlePath: appProtectBundlePath,
Expand Down Expand Up @@ -274,6 +275,7 @@ func main() {
cr_validation.IsDosEnabled(*appProtectDos),
cr_validation.IsCertManagerEnabled(*enableCertManager),
cr_validation.IsExternalDNSEnabled(*enableExternalDNS),
cr_validation.IsDirectiveAutoadjustEnabled(*enableDirectiveAutoadjust),
)

if *enableServiceInsight {
Expand Down Expand Up @@ -324,6 +326,7 @@ func main() {
CertManagerEnabled: *enableCertManager,
ExternalDNSEnabled: *enableExternalDNS,
IsIPV6Disabled: *disableIPV6,
IsDirectiveAutoadjustEnabled: *enableDirectiveAutoadjust,
WatchNamespaceLabel: *watchNamespaceLabel,
EnableTelemetryReporting: *enableTelemetryReporting,
TelemetryReportingEndpoint: telemetryEndpoint,
Expand Down Expand Up @@ -996,7 +999,7 @@ func processConfigMaps(kubeClient *kubernetes.Clientset, cfgParams *configs.Conf
if err != nil {
nl.Fatalf(l, "Error when getting %v: %v", *nginxConfigMaps, err)
}
cfgParams, _ = configs.ParseConfigMap(cfgParams.Context, cfm, *nginxPlus, *appProtect, *appProtectDos, *enableTLSPassthrough, eventLog)
cfgParams, _ = configs.ParseConfigMap(cfgParams.Context, cfm, *nginxPlus, *appProtect, *appProtectDos, *enableTLSPassthrough, *enableDirectiveAutoadjust, eventLog)
if cfgParams.MainServerSSLDHParamFileContent != nil {
fileName, err := nginxManager.CreateDHParam(*cfgParams.MainServerSSLDHParamFileContent)
if err != nil {
Expand Down
6 changes: 6 additions & 0 deletions config/crd/bases/k8s.nginx.org_virtualserverroutes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -872,6 +872,12 @@ spec:
is set in the proxy-buffers ConfigMap key.
type: string
type: object
busy-buffers-size:
description: Sets the size of the buffers used for reading a
response from the upstream server when the proxy_buffering
is enabled. The default is set in the proxy-busy-buffers-size
ConfigMap key.'
type: string
client-max-body-size:
description: Sets the maximum allowed size of the client request
body. The default is set in the client-max-body-size ConfigMap
Expand Down
6 changes: 6 additions & 0 deletions config/crd/bases/k8s.nginx.org_virtualservers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1061,6 +1061,12 @@ spec:
is set in the proxy-buffers ConfigMap key.
type: string
type: object
busy-buffers-size:
description: Sets the size of the buffers used for reading a
response from the upstream server when the proxy_buffering
is enabled. The default is set in the proxy-busy-buffers-size
ConfigMap key.'
type: string
client-max-body-size:
description: Sets the maximum allowed size of the client request
body. The default is set in the client-max-body-size ConfigMap
Expand Down
12 changes: 12 additions & 0 deletions deploy/crds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1891,6 +1891,12 @@ spec:
is set in the proxy-buffers ConfigMap key.
type: string
type: object
busy-buffers-size:
description: Sets the size of the buffers used for reading a
response from the upstream server when the proxy_buffering
is enabled. The default is set in the proxy-busy-buffers-size
ConfigMap key.'
type: string
client-max-body-size:
description: Sets the maximum allowed size of the client request
body. The default is set in the client-max-body-size ConfigMap
Expand Down Expand Up @@ -3303,6 +3309,12 @@ spec:
is set in the proxy-buffers ConfigMap key.
type: string
type: object
busy-buffers-size:
description: Sets the size of the buffers used for reading a
response from the upstream server when the proxy_buffering
is enabled. The default is set in the proxy-busy-buffers-size
ConfigMap key.'
type: string
client-max-body-size:
description: Sets the maximum allowed size of the client request
body. The default is set in the client-max-body-size ConfigMap
Expand Down
1 change: 1 addition & 0 deletions docs/crd/k8s.nginx.org_virtualserverroutes.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ The `.spec` object supports the following fields:
| `upstreams[].buffers` | `object` | Configures the buffers used for reading a response from the upstream server for a single connection. |
| `upstreams[].buffers.number` | `integer` | Configures the number of buffers. The default is set in the proxy-buffers ConfigMap key. |
| `upstreams[].buffers.size` | `string` | Configures the size of a buffer. The default is set in the proxy-buffers ConfigMap key. |
| `upstreams[].busy-buffers-size` | `string` | Sets the size of the buffers used for reading a response from the upstream server when the proxy_buffering is enabled. The default is set in the proxy-busy-buffers-size ConfigMap key.' |
| `upstreams[].client-max-body-size` | `string` | Sets the maximum allowed size of the client request body. The default is set in the client-max-body-size ConfigMap key. |
| `upstreams[].connect-timeout` | `string` | The timeout for establishing a connection with an upstream server. The default is specified in the proxy-connect-timeout ConfigMap key. |
| `upstreams[].fail-timeout` | `string` | The time during which the specified number of unsuccessful attempts to communicate with an upstream server should happen to consider the server unavailable. The default is set in the fail-timeout ConfigMap key. |
Expand Down
1 change: 1 addition & 0 deletions docs/crd/k8s.nginx.org_virtualservers.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ The `.spec` object supports the following fields:
| `upstreams[].buffers` | `object` | Configures the buffers used for reading a response from the upstream server for a single connection. |
| `upstreams[].buffers.number` | `integer` | Configures the number of buffers. The default is set in the proxy-buffers ConfigMap key. |
| `upstreams[].buffers.size` | `string` | Configures the size of a buffer. The default is set in the proxy-buffers ConfigMap key. |
| `upstreams[].busy-buffers-size` | `string` | Sets the size of the buffers used for reading a response from the upstream server when the proxy_buffering is enabled. The default is set in the proxy-busy-buffers-size ConfigMap key.' |
| `upstreams[].client-max-body-size` | `string` | Sets the maximum allowed size of the client request body. The default is set in the client-max-body-size ConfigMap key. |
| `upstreams[].connect-timeout` | `string` | The timeout for establishing a connection with an upstream server. The default is specified in the proxy-connect-timeout ConfigMap key. |
| `upstreams[].fail-timeout` | `string` | The time during which the specified number of unsuccessful attempts to communicate with an upstream server should happen to consider the server unavailable. The default is set in the fail-timeout ConfigMap key. |
Expand Down
45 changes: 42 additions & 3 deletions internal/configs/annotations.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"slices"

nl "github.com/nginx/kubernetes-ingress/internal/logger"
"github.com/nginx/kubernetes-ingress/internal/validation"
)

// JWTKeyAnnotation is the annotation where the Secret with a JWK is specified.
Expand Down Expand Up @@ -74,6 +75,7 @@ var minionInheritanceList = map[string]bool{
"nginx.org/proxy-buffering": true,
"nginx.org/proxy-buffers": true,
"nginx.org/proxy-buffer-size": true,
"nginx.org/proxy-busy-buffers-size": true,
"nginx.org/proxy-max-temp-file-size": true,
"nginx.org/upstream-zone-size": true,
"nginx.org/location-snippets": true,
Expand Down Expand Up @@ -108,7 +110,8 @@ var allowedAnnotationKeys = []string{
"ingress.kubernetes.io/ssl-redirect",
}

func parseAnnotations(ingEx *IngressEx, baseCfgParams *ConfigParams, isPlus bool, hasAppProtect bool, hasAppProtectDos bool, enableInternalRoutes bool) ConfigParams {
// nolint: gocyclo
func parseAnnotations(ingEx *IngressEx, baseCfgParams *ConfigParams, isPlus bool, hasAppProtect bool, hasAppProtectDos bool, enableInternalRoutes bool, enableDirectiveAutoadjust bool) ConfigParams {
l := nl.LoggerFromContext(baseCfgParams.Context)
cfgParams := *baseCfgParams

Expand Down Expand Up @@ -296,12 +299,48 @@ func parseAnnotations(ingEx *IngressEx, baseCfgParams *ConfigParams, isPlus bool
}
}

// Proxy Buffers uses number + size format, like "8 4k".
if proxyBuffers, exists := ingEx.Ingress.Annotations["nginx.org/proxy-buffers"]; exists {
cfgParams.ProxyBuffers = proxyBuffers
proxyBufferUnits, err := validation.NewNumberSizeConfig(proxyBuffers)
if err != nil {
nl.Errorf(l, "error parsing nginx.org/proxy-buffers: %s", err)
} else {
cfgParams.ProxyBuffers = proxyBufferUnits
}
}

// Proxy Buffer Size uses only size format, like "4k".
if proxyBufferSize, exists := ingEx.Ingress.Annotations["nginx.org/proxy-buffer-size"]; exists {
cfgParams.ProxyBufferSize = proxyBufferSize
proxyBufferSizeUnit, err := validation.NewSizeWithUnit(proxyBufferSize)
if err != nil {
nl.Errorf(l, "error parsing nginx.org/proxy-buffer-size: %s", err)
} else {
cfgParams.ProxyBufferSize = proxyBufferSizeUnit
}
}

// Proxy Busy Buffers Size uses only size format, like "8k".
if proxyBusyBuffersSize, exists := ingEx.Ingress.Annotations["nginx.org/proxy-busy-buffers-size"]; exists {
proxyBusyBufferSizeUnit, err := validation.NewSizeWithUnit(proxyBusyBuffersSize)
if err != nil {
nl.Errorf(l, "error parsing nginx.org/proxy-busy-buffers-size: %s", err)
} else {
cfgParams.ProxyBusyBuffersSize = proxyBusyBufferSizeUnit
}
}

balancedProxyBuffers, balancedProxyBufferSize, balancedProxyBusyBufferSize, modifications, err := validation.BalanceProxyValues(cfgParams.ProxyBuffers, cfgParams.ProxyBufferSize, cfgParams.ProxyBusyBuffersSize, enableDirectiveAutoadjust)
if err != nil {
nl.Errorf(l, "error reconciling proxy_buffers, proxy_buffer_size, and proxy_busy_buffers_size values: %s", err.Error())
}
cfgParams.ProxyBuffers = balancedProxyBuffers
cfgParams.ProxyBufferSize = balancedProxyBufferSize
cfgParams.ProxyBusyBuffersSize = balancedProxyBusyBufferSize

if len(modifications) > 0 {
for _, modification := range modifications {
nl.Infof(l, "Changes made to proxy values: %s", modification)
}
}

if upstreamZoneSize, exists := ingEx.Ingress.Annotations["nginx.org/upstream-zone-size"]; exists {
Expand Down
7 changes: 5 additions & 2 deletions internal/configs/config_params.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (

"github.com/nginx/kubernetes-ingress/internal/configs/version2"
"github.com/nginx/kubernetes-ingress/internal/nginx"
"github.com/nginx/kubernetes-ingress/internal/validation"
)

// ConfigParams holds NGINX configuration parameters that affect the main NGINX config
Expand Down Expand Up @@ -69,8 +70,9 @@ type ConfigParams struct {
MainAppProtectDosLogFormatEscaping string
MainAppProtectDosArbFqdn string
ProxyBuffering bool
ProxyBuffers string
ProxyBufferSize string
ProxyBuffers validation.NumberSizeConfig
ProxyBufferSize validation.SizeWithUnit
ProxyBusyBuffersSize validation.SizeWithUnit
ProxyConnectTimeout string
ProxyHideHeaders []string
ProxyMaxTempFileSize string
Expand Down Expand Up @@ -162,6 +164,7 @@ type StaticConfigParams struct {
DynamicSSLReload bool
StaticSSLPath string
DynamicWeightChangesReload bool
IsDirectiveAutoadjustEnabled bool
NginxVersion nginx.Version
AppProtectBundlePath string
}
Expand Down
46 changes: 42 additions & 4 deletions internal/configs/configmaps.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const (
// ParseConfigMap parses ConfigMap into ConfigParams.
//
//nolint:gocyclo
func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, hasAppProtect bool, hasAppProtectDos bool, hasTLSPassthrough bool, eventLog record.EventRecorder) (*ConfigParams, bool) {
func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, hasAppProtect bool, hasAppProtectDos bool, hasTLSPassthrough bool, enableDirectiveAutoadjust bool, eventLog record.EventRecorder) (*ConfigParams, bool) {
l := nl.LoggerFromContext(ctx)
cfgParams := NewDefaultConfigParams(ctx, nginxPlus)
configOk := true
Expand Down Expand Up @@ -335,11 +335,49 @@ func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, has
}

if proxyBuffers, exists := cfgm.Data["proxy-buffers"]; exists {
cfgParams.ProxyBuffers = proxyBuffers
proxyBuffersData, err := validation.NewNumberSizeConfig(proxyBuffers)
if err != nil {
wrappedError := fmt.Errorf("ConfigMap %s/%s: invalid value for 'proxy-buffers': %w", cfgm.GetNamespace(), cfgm.GetName(), err)

nl.Errorf(l, "%s", wrappedError.Error())
eventLog.Event(cfgm, v1.EventTypeWarning, nl.EventReasonInvalidValue, wrappedError.Error())
configOk = false
} else {
cfgParams.ProxyBuffers = proxyBuffersData
}
}

if proxyBufferSize, exists := cfgm.Data["proxy-buffer-size"]; exists {
cfgParams.ProxyBufferSize = proxyBufferSize
proxyBufferSizeData, err := validation.NewSizeWithUnit(proxyBufferSize)
if err != nil {
nl.Errorf(l, "error parsing nginx.org/proxy-buffer-size: %s", err)
} else {
cfgParams.ProxyBufferSize = proxyBufferSizeData
}
}

// Proxy Busy Buffers Size uses only size format, like "8k".
if proxyBusyBuffersSize, exists := cfgm.Data["proxy-busy-buffers-size"]; exists {
proxyBusyBufferSizeUnit, err := validation.NewSizeWithUnit(proxyBusyBuffersSize)
if err != nil {
nl.Errorf(l, "error parsing nginx.org/proxy-busy-buffers-size: %s", err)
} else {
cfgParams.ProxyBusyBuffersSize = proxyBusyBufferSizeUnit
}
}

balancedProxyBuffers, balancedProxyBufferSize, balancedProxyBusyBufferSize, modifications, err := validation.BalanceProxyValues(cfgParams.ProxyBuffers, cfgParams.ProxyBufferSize, cfgParams.ProxyBusyBuffersSize, enableDirectiveAutoadjust)
if err != nil {
nl.Errorf(l, "error reconciling proxy_buffers, proxy_buffer_size, and proxy_busy_buffers_size values: %s", err.Error())
}
cfgParams.ProxyBuffers = balancedProxyBuffers
cfgParams.ProxyBufferSize = balancedProxyBufferSize
cfgParams.ProxyBusyBuffersSize = balancedProxyBusyBufferSize

if len(modifications) > 0 {
for _, modification := range modifications {
nl.Infof(l, "Changes made to proxy values: %s", modification)
}
}

if proxyMaxTempFileSize, exists := cfgm.Data["proxy-max-temp-file-size"]; exists {
Expand Down Expand Up @@ -408,7 +446,7 @@ func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, has
}
}

_, err := parseConfigMapZoneSync(l, cfgm, cfgParams, eventLog, nginxPlus)
_, err = parseConfigMapZoneSync(l, cfgm, cfgParams, eventLog, nginxPlus)
if err != nil {
configOk = false
}
Expand Down
Loading
Loading