Skip to content

Raise default resources to 4 CPU / 8Gi and default image to latest#3

Merged
Eric Hibbs (flowstate) merged 2 commits into
mainfrom
bump-default-resources
Jun 10, 2026
Merged

Raise default resources to 4 CPU / 8Gi and default image to latest#3
Eric Hibbs (flowstate) merged 2 commits into
mainfrom
bump-default-resources

Conversation

@flowstate

Copy link
Copy Markdown
Collaborator

What

  • resources: limits 4 CPU / 8Gi (was 1 / 768Mi); requests 2 CPU / 8Gi — memory request == limit (Guaranteed QoS) so the pod isn't evicted/OOM-killed under node pressure.
  • image: tag → latest, pullPolicy → Always so latest actually refreshes on pod restart. Pin a version (tag: "1.1.327") to opt out.
  • nginx: worker_processes 4, worker_connections 8192, access_log_buffer off.
  • Chart.yaml: 0.2.4 → 0.3.0 — the version bump is what triggers the release workflow to publish, so a customer's helm upgrade picks up the new floor.

Why

Metadata filtering parsing large PyPI indexes (aiohttp: 310 versions, ~10k files) peaks ~1GB per worker; the 768Mi default OOM-kills the pod, which took Roark Capital's self-hosted firewall down (CE-249). David reproduced: 768Mi OOMs, 8GB completes. Defaulting the image to latest keeps deployments current without a chart bump per release.

Validated: helm lint / helm template / kubeconform pass; rendered deployment shows 4 / 8Gi, rendered socket.yml shows the nginx values, image renders :latest + Always.

Not in this PR

Promoting the chart to officially-maintained with the full set of config options (the fuller nginx block, metadata-filtering tuning, etc.) is tracked in CE-252. Environment-specific keys (resolver, client_max_body_size) will be exposed there but defaulted safely — this PR only changes the few knobs the chart already exposes.

Metadata filtering parsing large PyPI indexes (e.g. aiohttp, ~10k files) peaks
~1GB per worker and OOM-kills the old 768Mi default (Roark Capital outage,
CE-249). Bump default resources to 4 CPU / 8Gi (memory request == limit for
Guaranteed QoS so the pod isn't evicted under node pressure) and the nginx
defaults the chart exposes (worker_processes 4, worker_connections 8192,
access_log_buffer off). Chart 0.2.4 -> 0.3.0.
Per Doug: default to the latest published image so deployments pick up new
releases without a chart bump; customers pin a version for reproducibility.
Set pullPolicy to Always so 'latest' actually refreshes on pod restart.
@flowstate Eric Hibbs (flowstate) merged commit d51189d into main Jun 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants