Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## master / unreleased

* [ENHANCEMENT] Expose `nginx.config.client_body_buffer_size` to set the nginx `client_body_buffer_size` #350

## 3.5.0 / 2026-10-08

* [FEATURE] Add trafficDistribution attribute to services #674
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,7 @@ Kubernetes: `^1.19.0-0`
| nginx.​autoscaling.​targetMemoryUtilizationPercentage | int | `0` | |
| nginx.​config.​auth_orgs | list | `[]` | Optional list of [auth tenants](https://cortexmetrics.io/docs/guides/auth/) to set in the nginx config |
| nginx.&ZeroWidthSpace;config.&ZeroWidthSpace;basicAuthSecretName | string | `""` | Optional name of basic auth secret. In order to use this option, a secret with htpasswd formatted contents at the key ".htpasswd" must exist. For example: apiVersion: v1 kind: Secret metadata: name: my-secret namespace: <same as cortex installation> stringData: .htpasswd: | user1:$apr1$/woC1jnP$KAh0SsVn5qeSMjTtn0E9Q0 user2:$apr1$QdR8fNLT$vbCEEzDj7LyqCMyNpSoBh/ Please note that the use of basic auth will not identify organizations the way X-Scope-OrgID does. Thus, the use of basic auth alone will not prevent one tenant from viewing the metrics of another. To ensure tenants are scoped appropriately, explicitly set the `X-Scope-OrgID` header in the nginx config. Example setHeaders: X-Scope-OrgID: $remote_user |
| nginx.&ZeroWidthSpace;config.&ZeroWidthSpace;client_body_buffer_size | string | `""` | ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size Requests with a body larger than this are buffered to a temporary file. If empty, the nginx default is used. |
| nginx.&ZeroWidthSpace;config.&ZeroWidthSpace;client_max_body_size | string | `"1M"` | ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size |
| nginx.&ZeroWidthSpace;config.&ZeroWidthSpace;dnsResolver | string | `"kube-dns.kube-system.svc.cluster.local"` | |
| nginx.&ZeroWidthSpace;config.&ZeroWidthSpace;dnsTTL | string | `"15s"` | Including the valid parameter to the `resolver` directive to re-resolve names every `dnsTTL` seconds/minutes |
Expand Down
3 changes: 3 additions & 0 deletions templates/nginx/nginx-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ data:
http {
default_type application/octet-stream;
client_max_body_size {{.Values.nginx.config.client_max_body_size}};
{{- with .Values.nginx.config.client_body_buffer_size }}
client_body_buffer_size {{ . }};
{{- end }}
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $http_x_scope_orgid';
Expand Down
3 changes: 3 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1342,6 +1342,9 @@ nginx:
dnsResolver: kube-dns.kube-system.svc.cluster.local
# -- ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
client_max_body_size: 1M
# -- ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size
# Requests with a body larger than this are buffered to a temporary file. If empty, the nginx default is used.
client_body_buffer_size: ""
# -- arbitrary snippet to inject in the http { } section of the nginx config
httpSnippet: ""
# -- arbitrary snippet to inject in the top section of the nginx config
Expand Down
Loading