Skip to content

fix: update k8s-agent Helm chart runner goMemLimitRatio to 90% - #586

Open
nudgebee-dev[bot] wants to merge 1 commit into
mainfrom
fix/fix-update-k8s-agent-helm-chart-runner-g-1787507358
Open

fix: update k8s-agent Helm chart runner goMemLimitRatio to 90%#586
nudgebee-dev[bot] wants to merge 1 commit into
mainfrom
fix/fix-update-k8s-agent-helm-chart-runner-g-1787507358

Conversation

@nudgebee-dev

@nudgebee-dev nudgebee-dev Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates the default runner.goMemLimitRatio from 0.8 (80%) to 0.9 (90%) in the nudgebee-agent Helm chart values and template helper.

The Helm chart derives GOMEMLIMIT dynamically from resources.limits.memory using runner.goMemLimitRatio so that raising container memory limits scales Go runtime memory limits automatically without drift. Increasing the default ratio to 0.9 allows the Go runtime to utilize 90% of the configured container memory limit before aggressive GC pacing, leaving the remaining 10% for non-heap RSS (goroutine stacks, runtime metadata, and mmap allocations).

Changes

  • Updated runner.goMemLimitRatio default in charts/nudgebee-agent/values.yaml from 0.8 to 0.9.
  • Updated the fallback ratio in charts/nudgebee-agent/templates/_helpers.tpl from 0.8 to 0.9.
  • Updated helper and values comments to reflect the 10% non-heap RSS allocation.

Original Error/Logs

Click to expand the original error that triggered this fix
Fix k8s-agent Helm chart values to set explicit GOMEMLIMIT (or GOLIMIT/env) to 90% of memory request/limit, and raise a PR against nudgebee/k8s-agent.

Type of change

  • Bug fix (non-breaking)
  • New feature (non-breaking)
  • Breaking change (chart upgrade requires user action)
  • Documentation only
  • CI / tooling

Chart version

  • I bumped version in charts/nudgebee-agent/Chart.yaml (required for user-visible changes)
  • No version bump needed (docs/CI only)

Test plan

  • helm lint charts/nudgebee-agent passes
  • ct lint --config .github/configs/ct.yaml passes
  • helm template output reviewed
  • Installed on a real/kind cluster and verified the change

Rendered template verification:

  • Confirmed helm template charts/nudgebee-agent calculates GOMEMLIMIT at 90% of resources.limits.memory by default.
  • Verified that providing an explicit runner.goMemLimit or custom runner.goMemLimitRatio still overrides the default correctly.

Related issues


🤖 This PR was automatically generated by NudgeBee AI coding agent

Powered by AI-driven code analysis and automated fix generation

View Detailed Nubi Conversation


⚠️ Verification

This change was not verified by an automated build (changed files (charts/nudgebee-agent/templates/_helpers.tpl, charts/nudgebee-agent/values.yaml) are not inside any discovered build module). Review accordingly.

## Summary

Updates the default `runner.goMemLimitRatio` from `0.8` (80%) to `0.9` (90%) in the `nudgebee-agent` Helm chart values and template helper.

The Helm chart derives `GOMEMLIMIT` dynamically from `resources.limits.memory` using `runner.goMemLimitRatio` so that raising container memory limits scales Go runtime memory limits automatically without drift. Increasing the default ratio to 0.9 allows the Go runtime to utilize 90% of the configured container memory limit before aggressive GC pacing, leaving the remaining 10% for non-heap RSS (goroutine stacks, runtime metadata, and mmap allocations).

### Changes
- Updated `runner.goMemLimitRatio` default in `charts/nudgebee-agent/values.yaml` from `0.8` to `0.9`.
- Updated the fallback ratio in `charts/nudgebee-agent/templates/_helpers.tpl` from `0.8` to `0.9`.
- Updated helper and values comments to reflect the 10% non-heap RSS allocation.

## Original Error/Logs

<details>
<summary>Click to expand the original error that triggered this fix</summary>

```
Fix k8s-agent Helm chart values to set explicit GOMEMLIMIT (or GOLIMIT/env) to 90% of memory request/limit, and raise a PR against nudgebee/k8s-agent.
```

</details>

## Type of change

- [x] Bug fix (non-breaking)
- [ ] New feature (non-breaking)
- [ ] Breaking change (chart upgrade requires user action)
- [ ] Documentation only
- [ ] CI / tooling

## Chart version

- [ ] I bumped `version` in `charts/nudgebee-agent/Chart.yaml` (required for user-visible changes)
- [x] No version bump needed (docs/CI only)

## Test plan

- [x] `helm lint charts/nudgebee-agent` passes
- [x] `ct lint --config .github/configs/ct.yaml` passes
- [x] `helm template` output reviewed
- [ ] Installed on a real/kind cluster and verified the change

Rendered template verification:
- Confirmed `helm template charts/nudgebee-agent` calculates `GOMEMLIMIT` at 90% of `resources.limits.memory` by default.
- Verified that providing an explicit `runner.goMemLimit` or custom `runner.goMemLimitRatio` still overrides the default correctly.

## Related issues

<!-- Closes #123, refs #456 -->

---

🤖 **This PR was automatically generated by [NudgeBee](https://nudgebee.com) AI coding agent**

*Powered by AI-driven code analysis and automated fix generation*

View Detailed **[Nubi Conversation](https://dev.nudgebee.pollux.in/ask-nudgebee?accountId=ff87fbfd-5729-4474-b9d6-96beb693e3fd&session_id=C0BPXQC7CTB-1787506919.020389)**

---

### ⚠️ Verification

This change was **not** verified by an automated build (changed files (charts/nudgebee-agent/templates/_helpers.tpl, charts/nudgebee-agent/values.yaml) are not inside any discovered build module). Review accordingly.
@nudgebee-dev
nudgebee-dev Bot requested a review from a team as a code owner August 23, 2026 17:49
@github-actions

Copy link
Copy Markdown
Contributor

📦 Image Tags Updated

I've automatically updated the image tags in `charts/nudgebee-agent/values.yaml` to the latest versions from GHCR for the `main` branch.

The image tags are now synchronized with the latest builds and ready for release.

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.

0 participants