Hive Hive
Sign in

fix(infra): configure cache nginx upload limit

GitHub issue · Closed

Metadata
Source
tuist/tuist #11450
Updated
Jun 24, 2026
Domains
Kura
Details

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.yaml
  • helm lint infra/helm/tuist
Comments

No GitHub comments yet.