Hive
fix(infra): configure cache nginx upload limit
GitHub issue · Closed
What changed
The Tuist Helm chart now exposes cache.nginx.clientMaxBodySize for the cache nginx sidecar and renders it as client_max_body_size in the generated nginx configuration.
The upload proxy paths also disable request buffering so module upload parts stream through nginx to the cache application.
The chart README documents the new cache nginx value alongside the existing compatibility overrides.
Why
Remote Cache module uploads can send framework parts through the cache nginx sidecar. Without an explicit body size setting, nginx applies its default request body limit and can reject valid uploads before the cache application receives them.
Root cause
The managed server ingress already configures a larger request body limit, but the cache deployment has a separate nginx sidecar with its own configuration. That sidecar did not set client_max_body_size, so uploads larger than nginx’s default limit could fail with 413 Request Entity Too Large.
Approach
The default value is 10m, which matches the cache application’s module part size limit. Keeping the sidecar and application limits aligned avoids accepting larger requests at nginx only for the application to reject them later.
Request buffering is disabled on the upload proxy paths to match the intended streaming behavior for request bodies.
Impact
Self-hosted and managed deployments get a configurable cache nginx upload limit. Valid module upload parts should no longer be rejected by nginx before reaching the cache application.
Validation
helm template tuist infra/helm/tuist --show-only templates/cache-nginx-configmap.yamlhelm lint infra/helm/tuist
No GitHub comments yet.