Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallA Kubernetes CronJob can report “Completed” even when Renovate has not opened the pull requests you expected. In one October 2026 case, cloud infrastructure engineer David Woitzik traced that mismatch to an invalid preset, then a real container out-of-memory kill, and finally memory-heavy Terraform provider checks. His reported 6Gi memory limit and concurrency setting of 2 worked for that workload—not as universal Renovate sizing advice.
Why “Completed” did not mean Renovate had done its job
Woitzik ran Renovate every two hours in a Kubernetes CronJob to check container images, Helm charts, and Terraform provider releases. For two weeks, the CronJob reported “Completed,” but no new GitHub pull requests appeared. The key operational lesson is to monitor the expected repository outcome as well as the job’s Kubernetes status: a completed process does not, by itself, establish that the intended updates were found, processed, or proposed.
As an Amazon Associate I earn from qualifying purchases.
Renovate’s official self-hosting examples include a Kubernetes CronJob using its Docker image, so this is a supported deployment pattern. The example does not prescribe a memory limit for every workload. Renovate’s Kubernetes self-hosting example
What failed in the reported case
First, an invalid preset
The author found that the configuration referenced a preset he considered invalid and replaced it with config:recommended. Preset names and configuration behavior can change; check the current Renovate self-hosted configuration documentation before copying that setting. A configuration problem can prevent expected update activity without being a memory failure.
#1 Best Overall
Then, an actual OOM at 512Mi
After correcting the configuration, Woitzik reports that the process was killed when the container had a 512Mi memory limit. This is a single workload’s result, not evidence that Renovate always needs more than 512Mi. Kubernetes enforces a container memory limit; if a container exceeds it, the kernel may terminate a process, producing an OOM-related status such as OOMKilled. HashiCorp’s Kubernetes resource-limit guide describes this general container behavior.
Terraform provider checks raised peak use
The author attributed the larger peaks to Renovate’s Terraform provider compatibility checks and provider downloads. In his October 2026 article, he estimates compressed provider binaries at 50–200MB each and roughly 500MB of downloads for a full scan of four providers and dependencies; he estimates that decompression and metadata can multiply memory use by 2–3x. Those are the author’s estimates for this case, not independently established benchmarks or a guarantee about every provider or run. Provider artifacts are not necessarily all hosted by HashiCorp; its official release channels page lists multiple channels and sources.
What the author changed—and what each setting controls
Woitzik’s example configuration used a 1Gi memory request, a 6Gi memory limit, and a Node.js old-space cap of 896MB through NODE_OPTIONS=--max-old-space-size=896. He reports that this heap cap leaves room for native and runtime overhead. The request and limit serve different purposes: the request is the amount Kubernetes uses when scheduling the container, while the limit is the enforced ceiling. Neither figure should be treated as a default recommendation.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A V8 old-space cap is also not a cap on total container memory. Native allocations, other runtime memory, and any additional processes still consume memory outside that heap allowance. Leave headroom between the heap cap and container limit rather than assuming they are interchangeable.
Rank #3
For Terraform provider work, the author set concurrentRequestLimit to 2. He reports that this reduced a roughly 6GB peak to about 3GB in his scan, while making the scan take longer. This is a workload-specific trade-off: fewer concurrent requests may lower peak resource use, but can extend run duration. Measure both in your own job before choosing a value.
How to diagnose a Renovate CronJob that produces no expected updates
- Check the application result, not just the Job condition. Inspect the Renovate container logs and determine whether it loaded configuration, discovered repositories and dependencies, and completed its work. A Kubernetes job reporting “Completed” is not proof that expected pull requests exist.
- Validate configuration and preset names. Compare the configuration against the current self-hosted configuration reference. Fix configuration errors before treating the run as a memory-only problem.
- Look for evidence of a kill or resource pressure. Check pod termination state and events for
OOMKilledor related signs, along with container memory metrics. A job can fail from an enforced limit even when the configured Node heap cap appears lower than that limit. - Identify the work that coincides with the peak. Review which package managers and Terraform providers were processed, and whether provider compatibility checks or downloads align with the memory spike. Do not assume every Renovate run has the same resource profile.
- Change one control at a time and observe both resource use and results. If testing lower provider request concurrency, track peak memory and total duration. If adjusting memory, distinguish the Kubernetes request and limit from the Node heap setting.
- Alert on expected outcomes that fit your repository. Woitzik illustrates checking for open Renovate pull requests and alerting on weekdays when none are present. Zero open PRs can be entirely legitimate, so align alerts with your update cadence and expected behavior rather than blindly treating zero as failure.
Separate Kubernetes limits from Renovate and Docker controls
Renovate’s self-hosted configuration reference documents dockerCliOptions for constraining Docker sidecar containers and exitCodeForErrors for selecting exit codes for error groups. These controls do not replace a Kubernetes pod or container memory limit: Docker options apply to sidecar containers, while Kubernetes limits govern the container resources configured in the pod. Exit-code behavior can make some errors easier for automation to detect, but it does not itself guarantee the expected repository outcome.
Image choice is another separate consideration. Renovate’s runtime and image guidance describes a default image that installs needed tools at runtime and supports persistent caching, and a -full image that includes many tools in advance and is several gigabytes in size. Image size is not a direct measure of the memory a particular scan will consume.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →What this case does—and does not—establish
Woitzik’s account shows why a Renovate Kubernetes job can have multiple independent failure modes: invalid configuration, a true memory-limit kill, costly provider work, or a run that completes without the activity an operator expected. It does not establish a universal memory requirement or a controlled comparison of settings. A separate Renovate community discussion about hosted memory issues includes differing user outcomes, reinforcing that workload and environment matter; those reports do not prove a fix for this self-hosted Terraform-provider case.
Best Value
For the author’s workload, 6Gi was the reported limit after a 512Mi failure, and concurrency 2 was the reported setting associated with a lower peak. Treat both as starting points for measurement only if your workload is comparable, and consult the current self-hosting example and running guide for current deployment details.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

