ingress-nginx-helm/internal/ingress/annotations
Renan Gonçalves 869e18b264
Avoid race conditions by copying the list before sorting (#8573)
When creating several ingresses at the same time a race condition can
happen by modifying a variable deep in another object. When this race
condition is triggered the generated nginx configuration is broken:

```
nginx: [emerg] invalid parameter "8.8.8.8/32,8" in /tmp/nginx-cfg4027854160:671
nginx: configuration file /tmp/nginx-cfg4027854160 test failed
```

Once it happens, the controller won't ever be able to generate the
configuration again. Thus the only option is to restart the process.

There is not really a good way to reproduce this issue. It happens quite
sporadically every 2 or 3 days. However, after this fix has been
applied, we haven't seen it happen after about 4 weeks.

Co-authored-by: Ruud van der Weijde <ruudvanderweijde@gmail.com>
2022-05-23 05:50:03 -07:00
..
alias Release v1 (#7470) 2021-08-21 13:42:00 -07:00
auth fix: deny locations with invalid auth-url annotation (#8256) 2022-03-01 02:13:51 -08:00
authreq feat: always set auth cookie (#8213) 2022-05-19 15:27:53 -07:00
authreqglobal Release v1 (#7470) 2021-08-21 13:42:00 -07:00
authtls added new auth-tls-match-cn annotation (#8434) 2022-04-15 12:59:10 -07:00
backendprotocol Release v1 (#7470) 2021-08-21 13:42:00 -07:00
canary add canary-weight-total annotation (#6338) 2021-12-07 08:40:00 -08:00
clientbodybuffersize Release v1 (#7470) 2021-08-21 13:42:00 -07:00
connection Release v1 (#7470) 2021-08-21 13:42:00 -07:00
cors Update default allowed CORS headers (#8459) 2022-05-04 05:11:51 -07:00
customhttperrors Release v1 (#7470) 2021-08-21 13:42:00 -07:00
defaultbackend Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
fastcgi Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
globalratelimit Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
http2pushpreload Release v1 (#7470) 2021-08-21 13:42:00 -07:00
influxdb Release v1 (#7470) 2021-08-21 13:42:00 -07:00
ipwhitelist Avoid race conditions by copying the list before sorting (#8573) 2022-05-23 05:50:03 -07:00
loadbalancing Release v1 (#7470) 2021-08-21 13:42:00 -07:00
log Release v1 (#7470) 2021-08-21 13:42:00 -07:00
mirror Add header Host into mirror annotations (#8178) 2022-05-07 17:39:17 -07:00
modsecurity Release v1 (#7470) 2021-08-21 13:42:00 -07:00
opentracing configmap: option to not trust incoming tracing spans (#7045) 2021-10-24 14:36:21 -07:00
parser Add option to sanitize annotation inputs (#7874) 2021-11-12 11:40:30 -08:00
portinredirect Release v1 (#7470) 2021-08-21 13:42:00 -07:00
proxy Release v1 (#7470) 2021-08-21 13:42:00 -07:00
proxyssl Remove deprecated libraries, update other libs, add ci v1.23 (#8118) 2022-01-09 16:29:12 -08:00
ratelimit Release v1 (#7470) 2021-08-21 13:42:00 -07:00
redirect Release v1 (#7470) 2021-08-21 13:42:00 -07:00
rewrite Release v1 (#7470) 2021-08-21 13:42:00 -07:00
satisfy Release v1 (#7470) 2021-08-21 13:42:00 -07:00
secureupstream Release v1 (#7470) 2021-08-21 13:42:00 -07:00
serversnippet Release v1 (#7470) 2021-08-21 13:42:00 -07:00
serviceupstream Allow the usage of Services as Upstream on a global level (#7469) 2021-09-07 12:47:15 -07:00
sessionaffinity feat: add session-cookie-secure annotation (#7399) 2021-09-01 15:23:40 -07:00
snippet Release v1 (#7470) 2021-08-21 13:42:00 -07:00
sslcipher Release v1 (#7470) 2021-08-21 13:42:00 -07:00
sslpassthrough Release v1 (#7470) 2021-08-21 13:42:00 -07:00
streamsnippet Add stream-snippet as a ConfigMap and Annotation option (#8029) 2021-12-23 11:46:30 -08:00
upstreamhashby Release v1 (#7470) 2021-08-21 13:42:00 -07:00
upstreamvhost Release v1 (#7470) 2021-08-21 13:42:00 -07:00
xforwardedprefix Release v1 (#7470) 2021-08-21 13:42:00 -07:00
annotations.go Add stream-snippet as a ConfigMap and Annotation option (#8029) 2021-12-23 11:46:30 -08:00
annotations_test.go Update default allowed CORS headers (#8459) 2022-05-04 05:11:51 -07:00