Skip to content

Add lambda-g plugin v1.0.0 — 6D K8s resource imbalance scanner#5603

Open
0x-auth wants to merge 6 commits into
kubernetes-sigs:masterfrom
0x-auth:add-lambda-g-plugin
Open

Add lambda-g plugin v1.0.0 — 6D K8s resource imbalance scanner#5603
0x-auth wants to merge 6 commits into
kubernetes-sigs:masterfrom
0x-auth:add-lambda-g-plugin

Conversation

@0x-auth

@0x-auth 0x-auth commented Apr 16, 2026

Copy link
Copy Markdown

New Plugin: kubectl lambda-g

Scans your Kubernetes cluster for stranded resources across 6 dimensions: CPU, RAM, GPU Core, GPU Memory, IOPS, Network.

Detects nodes where one resource is maxed while others sit idle — the kind of cross-dimensional imbalance that kubectl top misses.

kubectl krew install lambda-g
kubectl lambda-g scan
kubectl lambda-g scan --detailed
kubectl lambda-g watch

@ahmetb

ahmetb commented Apr 16, 2026

Copy link
Copy Markdown
Member

🤖 Beep beep! I’m a robot speaking on behalf of @ahmetb. 🤖


Thanks for submitting your kubectl plugin to Krew!
One of the krew-index maintainers will review it soon. Note that the reviews for new plugin submissions may take a few days.

In the meanwhile, here are a few tips to make your plugin manifest better:

  • Make sure your plugin follows the best practices.
  • Eliminate redundant wording form shortDescription (it should be max 50 characters).
  • Try to word wrap your description to 80-character lines (no usage examples, please).

Thanks for your patience!
/kind new-plugin

@linux-foundation-easycla

linux-foundation-easycla Bot commented Apr 16, 2026

Copy link
Copy Markdown

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: 0x-auth / name: 0x-auth (1b8bc9b, 25cda88)
  • ✅ login: ahmetb / name: Ahmet Alp Balkan (1e55b75)

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Welcome @0x-auth!

It looks like this is your first PR to kubernetes-sigs/krew-index 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/krew-index has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added kind/new-plugin size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Apr 16, 2026

ahmetb commented Apr 17, 2026

Copy link
Copy Markdown
Member

Hi @0x-auth, thanks for submitting lambda-g to the krew index!

A few things to be aware of for new plugin submissions:

  • Reviews take time — we're receiving a large volume of new plugin submissions (including many "vibe coded" plugins), so initial reviews can take a while as maintainers assess fit and quality.
  • Reviewers evaluate uniqueness — part of the review process is determining whether the plugin fills a gap not already covered by existing plugins in the index.
  • Please don't ping reviewers directly — this index is maintained on a best-effort basis, and pinging individuals doesn't speed up the process.

Before this proceeds further, please take a look at several existing plugins that appear to overlap with what lambda-g does:

These existing plugins collectively cover CPU, memory, and GPU resource monitoring and imbalance detection. We'd encourage you to try them out and consider whether your use case (multi-dimensional imbalance detection) could instead be contributed as a feature to one of these established projects rather than introducing a new separate plugin.


Generated by Claude Code

@0x-auth

0x-auth commented Apr 17, 2026

Copy link
Copy Markdown
Author

@ahmetb Thanks for the detailed review. I've looked at all four plugins you mentioned. The distinction is that lambda-g doesn't report utilization per resource , it detects cross-dimensional imbalance: nodes where CPU is saturated but RAM is idle, or GPU is maxed but compute is free. This is a different problem. resource-capacity and view-utilization show you numbers. lambda-g tells you which nodes are structurally misallocated across dimensions simultaneously. popeye flags misconfigurations; lambda-g flags imbalance patterns that waste budget. Happy to add a comparison table to the README if that would help

@ahmetb

ahmetb commented Apr 25, 2026

Copy link
Copy Markdown
Member

/lgtm
/approve
Thanks!
Also, please consider setting up Krew release automation which helps you skip manually making updates to your Krew manifests on each new version and send a pull request. It’s a GitHub workflow bot that can run every time you push a new tag. Those PRs are automatically approved.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 25, 2026
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 0x-auth, ahmetb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 25, 2026

@omerXfaruq omerXfaruq left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0x-auth it seems some time has passed, are you still interested in pursuing this PR?

@kubernetes-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 0x-auth, ahmetb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@0x-auth

0x-auth commented Jun 23, 2026

Copy link
Copy Markdown
Author

Hi @omerXfaruq, yes - still very much interested, apologies for the long silence (had some personal matters to deal with).

I will get the CLA signed immediately via the EasyCLA link.

To address the overlap question raised earlier by @ahmetb - lambda-g is meaningfully different from resource-capacity, view-utilization, view-allocations, and popeye:

  • Those plugins report what resources are used or allocated - they output utilization percentages, request/limit ratios, and flag misconfigurations.
  • lambda-g computes a structural imbalance score across 6 dimensions simultaneously (CPU, memory, pods, storage, network, GPU) using a symmetry-based model. The output is not a utilization table - it is a ranked list of nodes where resource distribution is asymmetric relative to the cluster's expected equilibrium. The goal is to surface nodes that are candidates for rescheduling before they become a problem, not to report what is currently used.

The closest analogue would be a center-of-mass calculation for your cluster - resource-capacity shows you the weight on each scale, lambda-g tells you whether the scales are balanced.

Happy to clarify further or make any manifest changes needed. Thanks for keeping the PR open.

@ahmetb

ahmetb commented Jul 18, 2026

Copy link
Copy Markdown
Member

Given the differences are sufficient to warrant a new plugin, I'm happy to accept it. Please look at the failing validation.

@kubernetes-prow

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@kubernetes-prow kubernetes-prow Bot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 20, 2026
0x-auth added 3 commits July 21, 2026 22:20
…ames

The release archives contain binaries named kubectl-lambda_g-{os}-{arch}
but the manifest specified bin: kubectl-lambda_g. Add files: sections to
rename each platform binary to the expected name during install.
v1.0.2 release bundles LICENSE in all archives (required by krew validator)
and is built with -s (strip symbol table) for smaller binaries.
Files mapping renames platform-suffixed binaries to kubectl-lambda_g.
@0x-auth
0x-auth force-pushed the add-lambda-g-plugin branch from 6560b5b to 9d1fef0 Compare July 21, 2026 16:52
@0x-auth

0x-auth commented Jul 21, 2026

Copy link
Copy Markdown
Author

Hi @ahmetb — sorry for the extra push. Had to force-push to add GPG signatures to the commits (krew requires verified signatures). The lgtm label was dropped as a result. Could you re-run /lgtm when you get a chance? CI is green. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/new-plugin size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants