Title here
Summary here
Before deploying bouine to production, verify each item below. Items are grouped by area. Skip items that don’t apply to your deployment.
insecure_skip_verify is not set in any upstream pool TLS configresources.limits.memory set and GOMEMLIMIT auto-computed (Helm chart does this)hot_max_bytes sized to fit in RAM without GC pressure (default: 75% of GOMEMLIMIT)warmVolume.size)warm_max_bytes set below PVC capacity to leave headroommax_object_size configured per route to reject oversized responsesmax_response_bytes configured to prevent memory exhaustion from large bodiesreplicaCount >= 3 for quorumpodDisruptionBudget.enabled: true with minAvailable >= 2hop_limit configured (default 2 is fine for most deployments)terminationGracePeriodSeconds >= 40 to allow graceful drainminReadySeconds >= 30 to let the ring converge before trafficttl_default set explicitlystale_while_revalidate configured for routes that can serve stalestale_if_error configured for origin-outage resiliencenegative_ttl set for routes that return errors (prevents error storms)jitter_percent > 0 to prevent synchronized revalidation burstsallow_set_cookie is off unless you explicitly need Set-Cookie cachingconsecutive_5xx, eject_for)max_connections set per pool to prevent FD exhaustionpprof_enabled is off in production (default)values-production.yaml as base)NetworkPolicy.enabled: true to isolate admin and cluster portsserviceAccount.automount: false (bouine doesn’t need K8s API access)/readyz), liveness (/healthz)maxUnavailable: 1 for sequential pod restarts/drain endpoint + preStop hook)