@@ -335,48 +335,56 @@ func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, has
335
335
}
336
336
337
337
if proxyBuffers , exists := cfgm .Data ["proxy-buffers" ]; exists {
338
- proxyBuffersData , err := validation .NewNumberSizeConfig (proxyBuffers )
339
- if err != nil {
338
+ if parsedProxyBuffers , err := ParseProxyBuffersSpec (proxyBuffers ); err != nil {
340
339
wrappedError := fmt .Errorf ("ConfigMap %s/%s: invalid value for 'proxy-buffers': %w" , cfgm .GetNamespace (), cfgm .GetName (), err )
341
340
342
341
nl .Errorf (l , "%s" , wrappedError .Error ())
343
342
eventLog .Event (cfgm , v1 .EventTypeWarning , nl .EventReasonInvalidValue , wrappedError .Error ())
344
343
configOk = false
345
344
} else {
346
- cfgParams .ProxyBuffers = proxyBuffersData
345
+ cfgParams .ProxyBuffers = parsedProxyBuffers
347
346
}
348
347
}
349
348
350
349
if proxyBufferSize , exists := cfgm .Data ["proxy-buffer-size" ]; exists {
351
- proxyBufferSizeData , err := validation .NewSizeWithUnit (proxyBufferSize )
352
- if err != nil {
353
- nl .Errorf (l , "error parsing nginx.org/proxy-buffer-size: %s" , err )
350
+ if parsedProxyBufferSize , err := ParseSize (proxyBufferSize ); err != nil {
351
+ wrappedError := fmt .Errorf ("ConfigMap %s/%s: invalid value for 'proxy-buffer-size': %w" , cfgm .GetNamespace (), cfgm .GetName (), err )
352
+
353
+ nl .Errorf (l , "%s" , wrappedError .Error ())
354
+ eventLog .Event (cfgm , v1 .EventTypeWarning , nl .EventReasonInvalidValue , wrappedError .Error ())
355
+ configOk = false
354
356
} else {
355
- cfgParams .ProxyBufferSize = proxyBufferSizeData
357
+ cfgParams .ProxyBufferSize = parsedProxyBufferSize
356
358
}
357
359
}
358
360
359
- // Proxy Busy Buffers Size uses only size format, like "8k".
360
361
if proxyBusyBuffersSize , exists := cfgm .Data ["proxy-busy-buffers-size" ]; exists {
361
- proxyBusyBufferSizeUnit , err := validation .NewSizeWithUnit (proxyBusyBuffersSize )
362
- if err != nil {
363
- nl .Errorf (l , "error parsing nginx.org/proxy-busy-buffers-size: %s" , err )
362
+ if parsedProxyBusyBuffersSize , err := ParseSize (proxyBusyBuffersSize ); err != nil {
363
+ wrappedError := fmt .Errorf ("ConfigMap %s/%s: invalid value for 'proxy-busy-buffers-size': %w" , cfgm .GetNamespace (), cfgm .GetName (), err )
364
+
365
+ nl .Errorf (l , "%s" , wrappedError .Error ())
366
+ eventLog .Event (cfgm , v1 .EventTypeWarning , nl .EventReasonInvalidValue , wrappedError .Error ())
367
+ configOk = false
364
368
} else {
365
- cfgParams .ProxyBusyBuffersSize = proxyBusyBufferSizeUnit
369
+ cfgParams .ProxyBusyBuffersSize = parsedProxyBusyBuffersSize
366
370
}
367
371
}
368
372
369
- balancedProxyBuffers , balancedProxyBufferSize , balancedProxyBusyBufferSize , modifications , err := validation .BalanceProxyValues (cfgParams .ProxyBuffers , cfgParams .ProxyBufferSize , cfgParams .ProxyBusyBuffersSize , enableDirectiveAutoadjust )
370
- if err != nil {
371
- nl .Errorf (l , "error reconciling proxy_buffers, proxy_buffer_size, and proxy_busy_buffers_size values: %s" , err .Error ())
372
- }
373
- cfgParams .ProxyBuffers = balancedProxyBuffers
374
- cfgParams .ProxyBufferSize = balancedProxyBufferSize
375
- cfgParams .ProxyBusyBuffersSize = balancedProxyBusyBufferSize
373
+ // Only run balance validation if auto-adjust is enabled
374
+ if enableDirectiveAutoadjust {
375
+ balancedProxyBuffers , balancedProxyBufferSize , balancedProxyBusyBufferSize , modifications , err := validation .BalanceProxyValues (cfgParams .ProxyBuffers , cfgParams .ProxyBufferSize , cfgParams .ProxyBusyBuffersSize , enableDirectiveAutoadjust )
376
+ if err != nil {
377
+ nl .Errorf (l , "error reconciling proxy_buffers, proxy_buffer_size, and proxy_busy_buffers_size values: %s" , err .Error ())
378
+ } else {
379
+ cfgParams .ProxyBuffers = balancedProxyBuffers
380
+ cfgParams .ProxyBufferSize = balancedProxyBufferSize
381
+ cfgParams .ProxyBusyBuffersSize = balancedProxyBusyBufferSize
376
382
377
- if len (modifications ) > 0 {
378
- for _ , modification := range modifications {
379
- nl .Infof (l , "Changes made to proxy values: %s" , modification )
383
+ if len (modifications ) > 0 {
384
+ for _ , modification := range modifications {
385
+ nl .Infof (l , "Changes made to proxy values: %s" , modification )
386
+ }
387
+ }
380
388
}
381
389
}
382
390
@@ -446,7 +454,7 @@ func ParseConfigMap(ctx context.Context, cfgm *v1.ConfigMap, nginxPlus bool, has
446
454
}
447
455
}
448
456
449
- _ , err = parseConfigMapZoneSync (l , cfgm , cfgParams , eventLog , nginxPlus )
457
+ _ , err : = parseConfigMapZoneSync (l , cfgm , cfgParams , eventLog , nginxPlus )
450
458
if err != nil {
451
459
configOk = false
452
460
}
0 commit comments